我是新手使用autotools,请原谅我,如果这听起来有点基本,但谷歌搜索没有显示太多。
如何使用autotools生成自定义conf文件。
看作基于m4的配置包含必要的宏并生成所需的文件。
有些狩猎和阅读似乎暗示我可以做类似的事情 添加:
AC_CONFIG_FILES([appname.conf])
到我的configure.am。
然后创建一个appname.conf.in文件。
我不清楚的是我如何填充自定义宏,即
LOG_DIR=@log_dir@
CACHE_DIR=@cache_dir@
到
因此,当configure运行时,它会生成
LOG_DIR=/var/log
CACHE_DIR=/mycachedir
等...
答案 0 :(得分:2)
您似乎缺少的信息是AC_SUBST
,它会设置替换。
E.g。在configure.ac中:
TEST_SUB="hello world"
AC_SUBST(TEST_SUB)
AC_CONFIG_FILES(test.conf)
在test.conf.in中:
TEST_VAR=@TEST_SUB@
提供test.conf:
TEST_VAR=hello world
(如果你好奇的话,看看自动生成的Makefile.in文件,看看它是如何使用这种机制的。AM_CONDITIONAL
变成两件事,每件一件,其中一件通过替换获得评论