automake 中的构建选项
Posted
技术标签:
【中文标题】automake 中的构建选项【英文标题】:build options in automake 【发布时间】:2014-03-28 15:03:15 【问题描述】:我从 Internet 下载了一个开放源代码。我用 automake 构建它。
我在编译日志中看到 gcc 中的以下选项
gcc -DPACKAGE_NAME=\"anydaemon\" -DPACKAGE_TARNAME=\"anydaemon\" -DPACKAGE_VERSION=\"2.0\" -DPACKAGE_STRING=\"anydaemon\ 2.0\" -DPACKAGE_BUGREPORT=\"any.person@anydomain.com\"
这些 gcc 选项是由 automake 从 config 自动生成的?
顺便说一句,configure.ac 开头包含以下行:
AC_INIT([anydaaemon], [2.0], [any.person@anydomain.com])
automake 是否从该行中提取上述 gcc 选项 PACKAGE_NAME
、PACKAGE_VERSION
?
【问题讨论】:
【参考方案1】:Automake 仅从 Makefile.am
生成 Makefile.in
。其余的在configure
运行中完成。但是是的,configure 填充由configure.ac
和Makefile.am
指定的参数。
换句话说,更改 configure.ac
不会改变任何事情,除非您重新生成配置脚本并重新运行它。
【讨论】:
添加以下可能是个好主意:在您生成功能正常的Makefile
后,它会跟踪configure.ac
并在您运行make
时自动重新生成configure
。因此,除非您将Makefile
破坏到无法再运行make
的程度,否则没有理由运行上述任何步骤(autoconf、automake、./configure 等)。以上是关于automake 中的构建选项的主要内容,如果未能解决你的问题,请参考以下文章
使用 automake 配置脚本在 64 位 Linux 上构建 32 位?
为啥 MSYS 无法识别 AM_INIT_AUTOMAKE 中的 tar-ustar 选项?
在构建期间覆盖使用 automake/libtool 构建的共享库中的安装路径,以便在无法使用 DYLD_LIBRARY_PATH 时进行测试