我正在寻找像DISTCHECK_CONFIGURE_FLAGS这样的东西,但更灵活。
我在我的程序中使用外部包。我们说foo
并在我的笔记本电脑上安装到${HOME}/soft/foo
。
使用autotools进行配置很简单:
./configure CPPFLAGS=-I${HOME}/soft/foo/include LDFLAGS=-L${HOME}/soft/foo/lib
但distcheck
令我头疼。当distcheck解压缩和配置时,如何告诉它使用我的CPPFLAGS和LDFLAGS?
DISTCHECK_CONFIGURE_FLAGS
已接近但不正确:其他维护人员可能会在foo
或/opt/
或/software/random/whatever
下安装/usr/local/foo-master
库,而我不会我想把我的环境强加给其他维护者。
答案 0 :(得分:1)
答案是不要在Makefile.am中对任何内容进行硬编码。 Automake将从autoconf继承几个环境变量。
所有人需要做的就是通过用于配置包的CPPFLAGS
和LDFLAGS
:
DISTCHECK_CONFIGURE_FLAGS = CPPFLAGS=${CPPFLAGS} LDFLAGS=${LDFLAGS}
现在'做出反应'将使用请求的标志,并找到所需包的标头和库。