Autotools¶
Autotools
构建助手是对 autotools 命令行调用的包装器。它会将 ./configure
或 make
等调用抽象为 Python 方法调用。
用法
from conan 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()
它将读取由 AutotoolsToolchain 生成的 conanbuild.conf
文件,以了解调用 configure 和 make 脚本的参数。
**configure_args**:调用
configure
脚本的参数。**make_args**:调用
make
脚本的参数。
参考¶
- class Autotools(conanfile, namespace=None)¶
- 参数:
**conanfile** – 当前配方对象。始终使用
self
。**namespace** – 此参数避免在同一个配方中有多个工具链调用时发生冲突。通过设置此参数,用于将信息传递给工具链的 conanbuild.conf 文件将命名为:<namespace>_conanbuild.conf。默认值为
None
,这意味着生成的文件名为 conanbuild.conf。此命名空间也必须在 AutotoolsToolchain 的构造函数中设置相同的值,以便它从正确的文件读取信息。
- configure(build_script_folder=None, args=None)¶
调用 configure 脚本。
- 参数:
**args** – 用于
configure
调用的参数列表。**build_script_folder** – configure 脚本所在的子文件夹。如果未指定,则使用 conanfile.source_folder。
- make(target=None, args=None)¶
调用 make 程序。
- 参数:
**target** – (可选,默认为
None
):选择要构建的目标。这允许构建例如某些 AutoTools 项目的文档、共享库或安装。**args** – (可选,默认为
None
):用于make
调用的参数列表。
- install(args=None, target='install')¶
这只是
self.make(target="install")
的“别名”。- 参数:
**args** – (可选,默认为
None
):用于make
调用的参数列表。如果传递的值为None
,则默认情况下会将参数DESTDIR=unix_path(self.package_folder)
添加到调用中。有关 tools.microsoft.unix_path() 函数 的更多信息。**target** – (可选,默认为
None
):选择要安装的目标。
- autoreconf(build_script_folder=None, args=None)¶
调用
autoreconf
- 参数:
**args** – (可选,默认为
None
):用于autoreconf
调用的参数列表。**build_script_folder** – configure 脚本所在的子文件夹。如果未指定,则使用 conanfile.source_folder。