AutotoolsDeps¶
AutotoolsDeps
是 Autotools 的依赖项生成器。它将生成包含 Autotools 构建系统可理解的环境变量定义的 Shell 脚本。
可以在 conanfile 中按名称使用
conanfile.py¶
class Pkg(ConanFile):
generators = "AutotoolsDeps"
conanfile.txt¶
[generators]
AutotoolsDeps
它也可以在 conanfile 的 generate()
方法中完全实例化
from conan import ConanFile
from conan.tools.gnu import AutotoolsDeps
class App(ConanFile):
settings = "os", "arch", "compiler", "build_type"
def generate(self):
tc = AutotoolsDeps(self)
tc.generate()
生成的文件¶
它将生成文件 conanautotoolsdeps.sh
或 conanautotoolsdeps.bat
$ conan install conanfile.py # default is Release
$ source conanautotoolsdeps.sh
# or in Windows
$ conanautotoolsdeps.bat
这些启动器将定义聚合变量 CPPFLAGS
, LIBS
, LDFLAGS
, CXXFLAGS
, CFLAGS
,它们会累积所有依赖项信息(包括传递性依赖项),以及诸如 -I<path>
, -L<path>
等标志。
目前,只有 requires
信息被生成,tool_requires
尚未由这个生成器管理。
自定义¶
要修改计算值,可以访问 .environment
属性,它返回一个 Environment 类。
from conan import ConanFile
from conan.tools.gnu import AutotoolsDeps
class App(ConanFile):
settings = "os", "arch", "compiler", "build_type"
def generate(self):
tc = AutotoolsDeps(self)
tc.environment.remove("CPPFLAGS", "undesired_value")
tc.environment.append("CPPFLAGS", "var")
tc.environment.define("OTHER", "cat")
tc.environment.unset("LDFLAGS")
tc.generate()