【问题标题】:Autoconf and ./configure variablesAutoconf 和 ./configure 变量
【发布时间】:2012-03-24 14:42:13
【问题描述】:

我的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

【问题讨论】:

  • 另一个选项只是记录用户可以运行./configure CPPFLAGS=-DSIZE=4 的事实。这不需要更改您的设置。

标签: autoconf automake


【解决方案1】:
# 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}

【讨论】:

  • 除了 my_CPPFLAGS,您可以在 configure.ac(和 AC_SUBST([AM_CPPFLAGS]))中分配 AM_CPPFLAGS 并且不对 Makefile.am 进行任何修改
猜你喜欢
  • 2012-11-30
  • 2014-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多