在configure.ac里添加AC_CONFIG_SUBDIRS后,对子项目的./configure选项的配置怎么配置?对每个子项目单独配置选项怎么配置?比如我要对子项目的./configure单独添加--prefix,不是AC_SUBST我试过了
时间: 2024-03-04 20:49:47 浏览: 58
非常抱歉,我之前的回答有误。正确的做法是,在主项目的configure.ac文件中,使用AC_CONFIG_SUBDIRS指定子项目的路径,并在子项目的目录下新建一个configure.ac文件。然后在子项目的configure.ac文件中,使用AC_INIT指定子项目的名称、版本号等信息,以及AC_CONFIG_SRCDIR指定子项目的源代码路径。
对于每个子项目,可以在子项目的configure.ac文件中单独添加选项。例如,如果要为子项目设置--prefix选项,可以在子项目的configure.ac文件中添加以下行:
```
AC_ARG_WITH([prefix], [AS_HELP_STRING([--prefix=PREFIX], [install architecture-independent files in PREFIX])])
```
这将在子项目的configure脚本中添加--prefix=PREFIX选项,并显示一个帮助字符串。您可以根据需要添加更多的选项。
在主项目的configure.ac文件中,可以使用AC_SUBST将选项传递给子项目的Makefile.am文件中,然后通过子项目的configure.ac文件中定义的变量来使用这些选项。例如:
```
AC_SUBST([MY_SUBDIR_CONFIGURE_ARGS], ['--prefix=/my/subdir/prefix'])
```
这将设置一个名为MY_SUBDIR_CONFIGURE_ARGS的变量,并将其设置为--prefix=/my/subdir/prefix。然后,在子项目的Makefile.am文件中,可以使用这个变量来设置编译选项:
```
SUBDIRS = my_subdir
my_subdir/Makefile:
cd my_subdir && ./configure $(MY_SUBDIR_CONFIGURE_ARGS)
```
这将在子项目的configure脚本中添加--prefix=/my/subdir/prefix选项。您可以为每个子项目单独定义自己的选项,并将它们传递给子项目的configure脚本。
阅读全文