如何停止autotools添加命令行选项?

时间:2017-07-11 13:52:00

标签: c++ autotools

在我的源目录中,我输入g++ -DHAVE_CONFIG_H -I. -I.. -std=gnu++11 -fpermissive -Wno-write-strings -O0 -g -g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.cc mv -f .deps/main.Tpo .deps/main.Po ,它会发出命令:

-std=gnu++11 -fpermissive -Wno-write-strings -O0 -g

其中一些是由我(-g -O2 -MT main.o -MD -MP -MF .deps/main.Tpo)创建的,其中一些不是(-g -O2

Q1 :如何告诉autotools停止插入-MT main.o -MD -MP -MF .deps/main.Tpo

Q2 :与AM_CXXFLAGS有什么关系?有必要吗?不必要?我可以摆脱它吗?如果是这样,怎么样?

Q3 :如何通过m4宏无添加地添加到m4/ax_debug.m4?到目前为止我采用的方法是将宏AC_DEFUN([AX_DEBUG], [ AC_ARG_WITH([debug], [AS_HELP_STRING([--with-debug], [Enable debug (default is no)])], [with_debug=$withval], [with_debug=no]) AM_CONDITIONAL([WITH_DEBUG], [test "x$with_debug" = "xyes"]) AS_IF([test "x$with_debug" = "xyes"], [ AC_SUBST([DEBUG_CXXFLAGS], ["-O0 -g"]) ]) AC_MSG_NOTICE([checking if debugging required ... $with_debug]) ])dnl AX_DEBUG 定义如下:

src/Makefile.am

并在AM_CXXFLAGS = ... $(DEBUG_CXXFLAGS) 中使用这些标记,如下所示:

DEBUG_CXXFLAGS

我有没有办法安排它以便自动添加configure.ac

更新(可能的答案):关于Q1,answer似乎是在AC_INIT(...)之后将以下行添加到: ${CXXFLAGS=""} :< / p>

$(DEBUG_CXXFLAGS)

并从src/Makefile.am删除AC_SUBST([CXXFLAGS], ["$CXXFLAGS -O0 -g"])

关于Q2,我仍然不知道那是什么。

关于Q3,答案似乎是写

AC_SUBST([DEBUG_CXXFLAGS], ["-O0 -g"])

而不是

A

我不确定这是否是“官方”解决方案。

0 个答案:

没有答案