summaryrefslogtreecommitdiff
path: root/source4/build/m4/check_cc.m4
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-09-08 11:01:39 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:37:51 -0500
commita302b79a37cd2c9f80f2470f09f7d430f084641f (patch)
treeb03320a3c22374924bed565a2311495307dda5c0 /source4/build/m4/check_cc.m4
parent2f72d3a0dd68c67ecf2cd2c7250a2ffb2d1a0b4a (diff)
downloadsamba-a302b79a37cd2c9f80f2470f09f7d430f084641f.tar.gz
samba-a302b79a37cd2c9f80f2470f09f7d430f084641f.tar.bz2
samba-a302b79a37cd2c9f80f2470f09f7d430f084641f.zip
r10077: - move gcc option checks to check_cc.m4
- only use -g if supported - don't allow AC_PROG_C and friends to autoset the CFLAGS (we don't want -g -02 by default..., maybe a configure option for -OX could be useful...) metze (This used to be commit f3e0bf022f6a1d5de0d21eb7be3ec97f526fe631)
Diffstat (limited to 'source4/build/m4/check_cc.m4')
-rw-r--r--source4/build/m4/check_cc.m433
1 files changed, 32 insertions, 1 deletions
diff --git a/source4/build/m4/check_cc.m4 b/source4/build/m4/check_cc.m4
index 3ca69c9f87..19261d50b6 100644
--- a/source4/build/m4/check_cc.m4
+++ b/source4/build/m4/check_cc.m4
@@ -5,13 +5,23 @@ dnl Released under the GNU GPL
dnl -------------------------------------------------------
dnl
+# don't let the AC_PROG_CC macro auto set the CFLAGS
+OLD_CFLAGS="${CFLAGS}"
AC_PROG_CC
+CFLAGS="${OLD_CFLAGS}"
if test x"$CC" = x""; then
AC_MSG_WARN([No c compiler was not found!])
AC_MSG_ERROR([Please Install gcc from http://gcc.gnu.org/])
fi
-AC_C_INLINE
+#
+# Set the debug symbol option if we have
+# --enable-*developer or --enable-debug
+# and the compiler supports it
+#
+if test x$ac_cv_prog_cc_g = xyes -a x$debug = xyes; then
+ CFLAGS="${CFLAGS} -g"
+fi
dnl needed before AC_TRY_COMPILE
AC_ISC_POSIX
@@ -110,6 +120,27 @@ AC_TRY_RUN([#include "${srcdir-.}/build/tests/trivial.c"],
# Check if the compiler can handle the options we selected by
# --enable-*developer
#
+DEVELOPER_CFLAGS=""
+if test x$developer = xyes; then
+ DEVELOPER_CFLAGS="-DDEBUG_PASSWORD -DDEVELOPER"
+ if test x"$GCC" = x"yes" ; then
+ OLD_CFLAGS="${CFLAGS}"
+ CFLAGS="${CFLAGS} -D_SAMBA_DEVELOPER_DONNOT_USE_O2_"
+ AX_CFLAGS_GCC_OPTION(-Wall, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wshadow, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Werror-implicit-function-declaration, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wstrict-prototypes, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wpointer-arith, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wcast-qual, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wcast-align, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wwrite-strings, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wmissing-format-attribute, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wformat=2, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wno-format-y2k, DEVELOPER_CFLAGS)
+ AX_CFLAGS_GCC_OPTION(-Wno-declaration-after-statement, DEVELOPER_CFLAGS)
+ CFLAGS="${OLD_CFLAGS}"
+ fi
+fi
if test -n "$DEVELOPER_CFLAGS"; then
OLD_CFLAGS="${CFLAGS}"
CFLAGS="${CFLAGS} ${DEVELOPER_CFLAGS}"