【问题标题】:How to specify a value for a #define with autoconf?如何使用 autoconf 为#define 指定一个值?
【发布时间】:2012-03-26 22:40:48
【问题描述】:

我正在尝试通过定义宏 SYSV386_COMPAT 0 来构建具有解锁行为的 Gnu binutils,以改变它生成某些 FPU 操作码的方式。

我可以轻松地进入头文件并手动设置值,但我将如何调用配置脚本以在命令行上指定 #define SYSV386_COMPAT 0 的等效项?如果可能的话,我宁愿在命令行上指定一些东西(只是因为该功能是可传递的,我认为我不应该破解源代码)。话虽如此,我已经尝试阅读至少一些 FM,但在binutils/configure.ingas/configure.in 中插入AC_DEFINE(SYSV386_COMPAT, 0) 没有运气。

【问题讨论】:

  • 我还没有足够的信用来回答我自己的问题,我需要再等几个小时,让像你们这样的乐于助人的人在回答我找到答案的问题上苦苦挣扎.我会尽可能地发布,直到那时它在于使用./configure CFLAGS=-DSYSV386_COMPAT=0...
  • 您应该使用 CPPFLAGS 而不是 CFLAGS。这将允许设置默认的 CFLAGS,因此您将获得优化。此外,约定是预处理器标志位于 CPPFLAGS
  • 谢谢威廉,这是非常受欢迎的建议。

标签: c-preprocessor autoconf gnu-assembler binutils fpu


【解决方案1】:

好的,所以继续搜索其他带有autoconf 标记的答案将我带到this 答案的第二条评论。

我能够使用类似的语法来调用 configure 以获得我想要的结果:

./configure CPPFLAGS=-DSYSV386_COMPAT=0 --prefix=/path/to/my/deploy/dir

感谢 William Pursell 在上面的评论中指出使用 CPPFLAGS 而不是 CFLAGS 的好处,感谢任何准备回答这个问题的人。如果您对解决此问题的“最佳”方法有任何进一步的 cmet,请添加到此线程以供以后使用。

祝你好运,

迈克尔

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多