Переменные Autoconf и ./configure - PullRequest
1 голос
/ 24 марта 2012

У меня небольшая проблема с autoconf, я знаю, что вы можете использовать configure.ac, чтобы добавить некоторые определения в configure.h, но есть ли способ сделать что-то вроде этого:

в одном из моих заголовков у меня есть

#ifndef SIZE
#define SIZE 4
#endif

Теперь я хочу иметь опцию, если я вызываю

./configure

создает make-файл размером 4, но когда кто-то делает

./configure --block-size=num

размер будет установлен на num, желательно, чтобы я делал это без config.h, я просто хочу, чтобы он добавил что-то в makefile, поэтому компиляция будет запускаться с

-DSIZE=num

1 Ответ

4 голосов
/ 24 марта 2012
# 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}
...