The autotools*
classes support Autotooled
packages.
The autoconf
, automake
,
and libtool
packages bring standardization.
This class defines a set of tasks (e.g.
configure
, compile
and
so forth) that
work for all Autotooled packages.
It should usually be enough to define a few standard variables
and then simply inherit autotools
.
These classes can also work with software that emulates Autotools.
For more information, see the
"Autotooled Package"
section in the Yocto Project Development Manual.
By default, the autotools*
classes
use out-of-tree builds (i.e.
autotools.bbclass
and
autotools_stage.bbclass
).
(B
!=
S
).
If the software being built by a recipe does not support
using out-of-tree builds, you should have the recipe inherit the
autotools-brokensep
class.
The autotools-brokensep
class behaves the same
as the autotools
and
autotools_stage
classes but builds with
B
==
S
.
This method is useful when out-of-tree build support is either not
present or is broken.
It's useful to have some idea of how the tasks defined by
the autotools*
classes work and what they do
behind the scenes.
do_configure
-
Regenerates the
configure script (using autoreconf
) and
then launches it with a standard set of arguments used during
cross-compilation.
You can pass additional parameters to
configure
through the
EXTRA_OECONF
variable.
do_compile
-
Runs make
with arguments that specify the
compiler and linker.
You can pass additional arguments through
the EXTRA_OEMAKE
variable.
do_install
-
Runs make install
and passes in
${
D
}
as DESTDIR
.