瀏覽代碼

ZOOKEEPER-636. configure.ac has instructions which override the contents of CFLAGS and CXXFLAGS

git-svn-id: https://svn.apache.org/repos/asf/hadoop/zookeeper/trunk@946074 13f79535-47bb-0310-9956-ffa450edef68
Patrick D. Hunt 15 年之前
父節點
當前提交
1987aaa78a
共有 3 個文件被更改,包括 32 次插入3 次删除
  1. 3 0
      CHANGES.txt
  2. 1 1
      src/c/Makefile.am
  3. 28 2
      src/c/configure.ac

+ 3 - 0
CHANGES.txt

@@ -58,6 +58,9 @@ BUGFIXES:
   ZOOKEEPER-772. zkpython segfaults when watcher from async get children is
   invoked. (henry via phunt)
 
+  ZOOKEEPER-636. configure.ac has instructions which override the contents of
+  CFLAGS and CXXFLAGS. (Maxim P. Dementiev via phunt)
+
 IMPROVEMENTS:
   ZOOKEEPER-724. Improve junit test integration - log harness information 
   (phunt via mahadev)

+ 1 - 1
src/c/Makefile.am

@@ -3,7 +3,7 @@ include $(top_srcdir)/aminclude.am
 
 AM_CPPFLAGS = -I${srcdir}/include -I${srcdir}/tests -I${srcdir}/generated
 AM_CFLAGS = -Wall -Werror 
-CXXFLAGS = -Wall -g $(USEIPV6)
+AM_CXXFLAGS = -Wall $(USEIPV6)
 
 LIB_LDFLAGS = -no-undefined -version-info 2
 

+ 28 - 2
src/c/configure.ac

@@ -6,6 +6,10 @@ AC_PREREQ(2.59)
 AC_INIT([zookeeper C client],3.4.0,[zookeeper-user@hadoop.apache.org],[c-client-src])
 AC_CONFIG_SRCDIR([src/zookeeper.c])
 
+# Save initial CFLAGS and CXXFLAGS values before AC_PROG_CC and AC_PROG_CXX
+init_cflags="$CFLAGS"
+init_cxxflags="$CXXFLAGS"
+
 # initialize Doxygen support
 DX_HTML_FEATURE(ON)
 DX_CHM_FEATURE(OFF)
@@ -58,8 +62,30 @@ AC_PROG_LIBTOOL
 #hence this define for gcc
 AC_ARG_ENABLE([debug],
  [AS_HELP_STRING([--enable-debug],[enable debug build [default=no]])],
- [CFLAGS="-g -O0 -D_GNU_SOURCE";CXXFLAGS="-g -O0"],[CFLAGS="-g -O2 -D_GNU_SOURCE";CXXFLAGS="-g -O2"])
- 
+ [],[enable_debug=no])
+
+if test "x$enable_debug" = xyes; then
+    if test "x$init_cflags" = x; then
+        CFLAGS=""
+    fi
+    CFLAGS="$CFLAGS -g -O0 -D_GNU_SOURCE"
+else
+    if test "x$init_cflags" = x; then
+        CFLAGS="-g -O2 -D_GNU_SOURCE"
+    fi
+fi
+
+if test "x$enable_debug" = xyes; then
+    if test "x$init_cxxflags" = x; then
+        CXXFLAGS=""
+    fi
+    CXXFLAGS="$CXXFLAGS -g -O0"
+else
+    if test "x$init_cxxflags" = x; then
+        CXXFLAGS="-g -O2"
+    fi
+fi
+
 AC_ARG_WITH([syncapi],
  [AS_HELP_STRING([--with-syncapi],[build with support for SyncAPI [default=yes]])],
  [],[with_syncapi=yes])