在autoconf脚本中处理非标准库位置的常规方法是什么?

时间:2009-06-03 11:33:28

标签: opengl build-automation glut autotools autoconf

我第一次尝试使用GNU autoconf / automake工具链,所以我的问题的答案可能是微不足道的。

程序需要OpenGL / GLUT,其中标头和库安装在非标准位置。我发现these个宏应该为我做所有的检查。我只是用 AX_CHECK_GLUT 调用它。如何让宏找到库?我正在寻找像

这样的东西
  

./ configure --with-glut-dir = / home / hanno / glut

更一般地说:在autoconf脚本中处理非标准库位置的常规方法是什么?当然,我可以使用CPPFLAGS和LIBS变量,但我觉得我错过了一些东西。

1 个答案:

答案 0 :(得分:3)

Autotools的设计方式,包工作者无需做任何事情来支持在非标准位置安装的先决条件。 ./configure --help的输出包括以下行:

LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
            nonstandard directory <lib dir>
CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
            you have headers in a nonstandard directory <include dir>

因此,如果安装程序在非标准位置安装了先决条件,则必须发出

./configure CPPFLAGS=-I/non-standard-dir/include LDFLAGS=-L/non-standard-dir/lib

由于CPPFLAGS检查和LDFLAGS规则使用了configureMakefile,所以一切都应该有效。

某些软件包作者喜欢提供--with- 软件包 =location选项作为上述内容的简写,但这通常不是--with- <的目的em> package 选项。这些选项使用得更好to specify whether an optional package should be used, or how a prerequisite should be fulfilled