首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AC_CONFIG_FILES在configure.ac中的可变目录路径

AC_CONFIG_FILES在configure.ac中的可变目录路径
EN

Stack Overflow用户
提问于 2013-10-25 15:58:50
回答 1查看 736关注 0票数 0

我正在用c++编写一个小工具。实际上,它更像是一个面向定制的框架。它具有以下目录结构(简化示例)。

代码语言:javascript
复制
src/  
   main/myexec          # linked to libapple.so
   apple/  
        coder/libapple.so  
        john/libapple.so  
          .  
          .  
        james/libapple.so  

在这里,目录“编码器”是一个通用的虚拟目录,其中包含一些生成libapple.so的示例代码。不同的用户可以签出这个工具,创建自己的目录,从“编码器”复制模板代码,并根据自己的意愿进行定制。根据配置选项(指示用户),需要生成相应的libapple.so。

正如我提到的,这是一个简化的例子。实际上,与"apple“文件夹类似的还有”脚本“、”文档“、”信任“等其他类似的文件夹,每个文件夹都有类似的用户特定文件夹。此外,该工具将被维护在一个单独的存储库位置,以允许我支持和维护所有不特定于用户的代码。作为一项策略,用户只需要修改和签入文件夹的内容。

我面临的问题是"configure.ac“。我不想使用"AC_ARG_WITH“选项,因为它需要每个新用户编辑configure.ac。另外,对于每个用户,除了他的文件夹名之外,AC_CONFIG_FILE条目将完全相同。我尝试使用“--启用-User=User”,然后使用AC_SUBST(USERDIR),这也有助于在Makefile.am中设置"SUBDIRS =@USERDIR“。除了当我指定"AC_CONFIG_FILE =(AC_CONFIG_FILE/${USERDIR}/Makefile)“时没有在用户文件夹下创建”AC_CONFIG_FILE“之外,一切看起来都很好。

请建议如何克服这一问题。在最坏的情况下,我可能会创建软链接:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-26 04:51:58

经过整整一天的挠头,下面是我想出的解决办法。

创建一个像这样的文件"project_makefiles.m4.in“

代码语言:javascript
复制
AC_CONFIG_FILES([ apple/USERDIR/Makefile ]

将以下内容添加到configure.ac中

代码语言:javascript
复制
m4_include([project_makefiles.m4])

创建一个像"build.sh“这样的包装脚本,通过替换"USERDIR”从"project_makefiles.m4.in“创建"project_makefiles.m4”。这是在自动驾驶之前完成的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19594493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档