hcj 发表于 2016-12-9 18:30:55

如何在configure添加编译选项

关于使用antoconf来生成makefile参见IBM教材
http://www.ibm.com/developerworks/cn/linux/l-makefile/
如想添加一个tinyxml2-master的目录到某一目录,使其能在编译源码树时自动编译
1.在configure.in添加

dnl ========================================================
dnl = add the tinyxml2 folder by zhengjianfeng,默认为空
dnl MOZ_ARG_ENABLE_BOOL是mozilla自己定义的宏。见Altoptions.m4
dnl ========================================================
MOZ_SYSTEM_TINYXML2_MASTER=
MOZ_ARG_ENABLE_BOOL(system-tinyxml2-master,
[--enable-system-tinyxml2-master      Set compile flags necessary for using tinyxml2
    MOZ_SYSTEM_TINYXML2_MASTER=1,
    MOZ_SYSTEM_TINYXML2_MASTER= )
   
dnl ===============================================
dnl AC_BUST导出变量到makefile, 在AC_OUTPUT执行时会替换@MOZ_SYSTEM_TINYXML2_MASTER@
dnl================================================
AC_SUBST(MOZ_SYSTEM_TINYXML2_MASTER)

dnl===============================================
dnl AC_DEFINE定义C预处理变量,#ifdef MOZ_SYSTEM_TINYXML2_MASTER
dnl==============================================
if (test -n "$MOZ_SYSTEM_TINYXML2_MASTER"; then
    AC_DEFINE(MOZ_SYSTEM_TINYXML2_MASTER)
fi
dnl =======================================================
dnl tinyxml2 add end,注意configure.in的最后一行不能是字符串,
dml 即要留一个空白行
dnl =======================================================


2. 修改与tinyxml2-master目录同级别,makefile.in
增加
ifdef MOZ_SYSTEM_TINYXML2_MASTER
DIRS += tinyxml2-master
endif

3.创建tinyxml2-master的makefile.in,编写方法如XPCOM组件所描述
页: [1]
查看完整版本: 如何在configure添加编译选项