Autotools
Warning
These tools are still experimental (so subject to breaking changes) but with very stable syntax. We encourage the usage of it to be prepared for Conan 2.0.
The Autotools build helper is a wrapper around the command line invocation of autotools. It will abstract the
calls like ./configure or make into Python method calls.
The Autotools helper can be used like:
from conans import conanfile
from conan.tools.gnu import Autotools
class App(ConanFile):
settings = "os", "arch", "compiler", "build_type"
def build(self):
autotools = Autotools(self)
autotools.configure()
autotools.make()
It will read the conanbuild.conf file generated by the AutotoolsToolchain
to know read the arguments for calling the configure and make scripts:
configure_args: Arguments to call the
configurescript.make_args: Arguments to call the
makescript.
Methods
constructor
def __init__(self, conanfile, namespace=None):
conanfile: the current recipe object. Always useself.namespace: this argument avoids collisions when you have multiple toolchain calls in the same recipe. By setting this argument, the conanbuild.conf file used to pass information to the toolchain will be named as: <namespace>_conanbuild.conf. The default value isNonemeaning that the name of the generated file is conanbuild.conf. This namespace must be also set with the same value in the constructor of the AutotoolsToolchain so that it reads the information from the proper file.
configure(self, build_script_folder=None, args=None):
def configure(self):
Call the configure script.
build_script_folder(Optional, Defaulted toNone): Subfolder where the configure script is located.If
None,conanfile.source_folderwill be used.
- args (Optional, Defaulted to
None): List of arguments to use for the configurecall.
- args (Optional, Defaulted to
autoreconf(self, args=None):
def autoreconf(self, target=None)
Call the autoreconf program.
- Parameters:
target (Optional, Defaulted to
None): Choose which target to build. This allows building of e.g., docs, shared libraries or install for some AutoTools projects.- args (Optional, Defaulted to
None): List of arguments to use for the autoreconfcall.
- args (Optional, Defaulted to
make(self, target=None, args=None):
def make(self, target=None)
Call the make program.
- Parameters:
target (Optional, Defaulted to
None): Choose which target to build. This allows building of e.g., docs, shared libraries or install for some AutoTools projects.args (Optional, Defaulted to
None): List of arguments to use for themakecall. By default an argumentDESTDIR=self.package_folderis added to the call if the passed value isNone.
install(self, args=None):
def install(self)
This is just an “alias” of self.make(target="install")