如何为子标记定义单独的配置



我有一个带有两个模块(客户端和服务器)的项目。每个模块都是用自己的制作文件的子文件夹。我在项目的root目录中有单个configure.ac文件。

我们使用ac_search_libs为项目设置编译标志。问题在于两个模块都需要使用不同的库(服务器需要pthread,客户端不)。

如何为不同的模块设置不同的汇编标志?

最好的做法是什么?

我需要拆分configure.ac吗?(如果是,应该如何正确完成)

无需分为多个configure.ac

诀窍是为每个库创建不同的替代变量,然后您可以在Makefile.am S

中独立使用它们

configure.ac(摘录):

AC_SEARCH_LIBS([fooFun], [foo], [FOO_LIBS="-lfoo"])
AC_SEARCH_LIBS([barFun], [bar], [BAR_LIBS="-lbar"])
AC_SEARCH_LIBS([bazFun], [baz], [BAZ_LIBS="-lbaz"])
AC_SUBST([FOO_LIBS])
AC_SUBST([BAR_LIBS])
AC_SUBST([BAZ_LIBS])

和server/makefile.am(摘录):

server_LDADD = @FOO_LIBS@ @BAR_LIBS@

resp。客户端/makefile.am(摘录):

client_LDADD = @BAZ_LIBS@

最新更新