我对autoconf有一点问题,我知道你可以使用configure.ac为configure.h添加一些定义,但有没有办法做这样的事情:
在我的一个标题中
#ifndef SIZE
#define SIZE 4
#endif
现在我希望有一个选项,如果我调用
./configure
它创建了makefile,大小为4,但有人确实
./configure --block-size=num
SIZE将被设置为num,最好我想在没有config.h的情况下这样做,我只是想让他为makefile添加一些东西,所以编译将被调用
-DSIZE=num
答案 0 :(得分:4)
# configure.ac
AC_ARG_WITH([blocksize],
AS_HELP_STRING([The desired blocksize [[default: 4]]]),
[blocksize="$withval"], [blocksize=4])
my_CPPFLAGS="-DSIZE=$blocksize"
AC_SUBST([my_CPPFLAGS])
非常简单。
# Makefile.am
AM_CPPFLAGS = ${my_CPPFLAGS}