创建autotools构建源的调试版本

时间:2010-11-28 20:35:31

标签: makefile compilation autotools

假设:

  • source tar.gz
  • AFAIK, configure 支持调试版本( configure --help 不显示 - enable-debug

问题:

  • 如果软件包的作者首先没有提供它,那么使用调试版本是否安全?
  • 如果pre.v问题的答案是肯定的,那么我是如何产生调试版本的?我应该修补 configure.ac 吗?

由于

2 个答案:

答案 0 :(得分:12)

精心设计的Autotools项目支持用户提供的编译器和链接器标志。一些作者选择提供--enable-debug来简化调试版本的创建,但是它的缺失并不意味着它无法完成。我建议您尝试的第一件事是指定适合您的调试需求的编译器和链接器标志。如果您在Linux上使用gcc,那可能是

./configure CFLAGS="-ggdb3 -O0" CXXFLAGS="-ggdb3 -O0" LDFLAGS="-ggdb3"

建议将变量指定为要配置的参数,如图所示,而不是环境变量。通过这种方式,当您进行触发自动重新配置的更改时,Autotools将保留这些设置。

如果这不能产生预期的结果,是的,可能需要黑客攻击构建系统。

答案 1 :(得分:1)

您可以定义一个自动设置环境变量的别名:

alias configuredebug='CPPFLAGS=-DDEBUG CFLAGS="-g -O0" CXXFLAGS="-g -O0" ./configure'