我想在configure.ac 中给定现有Makefile(如下)设置包含和lib 路径。但我不知道如何在configure.ac中使用$(shell XYZ-config --libs)命令。
有人可以帮忙吗?谢谢!!
# --------------------------------------------------------------------------
# Acquire configuration information for libraries that libs3 depends upon
ifndef CURL_LIBS
CURL_LIBS := $(shell curl-config --libs)
endif
ifndef CURL_CFLAGS
CURL_CFLAGS := $(shell curl-config --cflags)
endif
ifndef LIBXML2_LIBS
LIBXML2_LIBS := $(shell xml2-config --libs)
endif
ifndef LIBXML2_CFLAGS
LIBXML2_CFLAGS := $(shell xml2-config --cflags)
endif
我保证实际使用 pkgconfig 而不是笨拙的 *-config 脚本,这使得它成为每个包的一行:
# configure.ac
PKG_CHECK_MODULES([libcurl], [curl])
PKG_CHECK_MODULES([libxml2], [libxml-2.0])
# Makefile.am
AM_CPPFLAGS = ${libcurl_CFLAGS} ${libxml2_CFLAGS}
bin_PROGRAMS = foo
foo_LDADD = ${libcurl_LIBS} ${libxml2_LIBS}
*-config 脚本往往会变成大段冗余代码(例如,就像 syvVinit 脚本与 systemd 单元文件一样),并且行为有偏差:某些 -config 脚本使用--ccflags
, 其他的--cflags
。一些使用--libs
,其他人使用--ldflags
——最好避免出现可怕的混乱。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)