X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=m4%2Fopenbox.m4;h=98033c9ff40b66106413d18a5d51d0aa3cd4ab33;hb=4f2696d3ef4a842257aa2dd246c0e12d505a2adb;hp=645301fd85e98d926fd628cb07802ec38d84a329;hpb=7d94983b2e0c55e9d6fa9bc39c102c5b8b8dd468;p=chaz%2Fopenbox diff --git a/m4/openbox.m4 b/m4/openbox.m4 index 645301fd..98033c9f 100644 --- a/m4/openbox.m4 +++ b/m4/openbox.m4 @@ -2,14 +2,21 @@ # # Check if the user has requested a debug build. # Sets the DEBUG or NDEBUG variables as appropriate +# Sets the CVS environment variable when building CVS sources. AC_DEFUN([OB_DEBUG], [ - DEBUG="no" - AC_MSG_CHECKING([build target type]) + AC_MSG_CHECKING([build type]) AC_ARG_ENABLE([debug], - [ --enable-debug build a debug version default=no], - [DEBUG=$enableval],[]) + [ --enable-debug build a debug version default=yes], + [DEBUG=$enableval], [DEBUG="yes"]) + + AC_ARG_ENABLE([strict-ansi], + [ --enable-strict-ansi Enable strict ANSI compliance build default=no], + [STRICT=$enableval], [STRICT="no"]) + if test "$GCC" = "yes" && test "$STRICT" = "yes"; then + CFLAGS="$CFLAGS -ansi -pedantic -D_XOPEN_SOURCE" + fi # cvs builds are always debug CVS="" @@ -17,58 +24,53 @@ AC_DEFUN([OB_DEBUG], test "$CVS" = "yes" && DEBUG="yes" if test "$DEBUG" = "yes"; then - if test "$CVS" = "yes"; then - AC_MSG_RESULT([DEBUG (CVS build)]) - else - AC_MSG_RESULT([DEBUG]) - fi - AC_DEFINE([DEBUG], [1], [Creating a debug build]) + MSG="DEBUG" else - AC_MSG_RESULT([RELEASE]) -# keep the asserts in -# AC_DEFINE([NDEBUG], [1], [Creating a release build]) + MSG="RELEASE" + fi + if test "$CVS" = "yes"; then + MSG="$MSG (CVS build)" fi + if test "$STRICT" = "yes"; then + MSG="$MSG with strict ANSI compliance" + fi + AC_MSG_RESULT([$MSG]) + + test "$DEBUG" = "yes" && \ + AC_DEFINE([DEBUG], [1], [Creating a debug build]) + + AM_CONDITIONAL(CVS, test "$CVS" = "yes") ]) # OB_COMPILER_FLAGS() # # Check what compiler is being used for compilation. -# It sets the CXXFLAGS variable appropriately for the compiler, including flags +# It sets the CFLAGS variable appropriately for the compiler, including flags # for debug builds. AC_DEFUN([OB_COMPILER_FLAGS], [ - AC_REQUIRE([AC_PROG_CXXCPP]) - AC_REQUIRE([AC_PROG_CXX]) + AC_REQUIRE([AC_PROG_CPP]) + AC_REQUIRE([AC_PROG_CC]) FLAGS="" # Check what compiler we are using - AC_MSG_CHECKING([for GNU C++]) - if test "$GXX" = "yes"; then + AC_MSG_CHECKING([for GNU CC]) + if test "$GCC" = "yes"; then AC_MSG_RESULT([yes]) - FLAGS="-Wall -W -fno-check-new -fno-exceptions" - # -pedantic - test "$DEBUG" = "yes" && FLAGS="$FLAGS -g -fno-inline" - else - AC_MSG_RESULT([no, trying other compilers]) - AC_MSG_CHECKING(for MIPSpro) - mips_pro_ver=`$CXX -version 2>&1 | grep -i mipspro | cut -f4 -d ' '` - if test -z "$mips_pro_ver"; then - AC_MSG_RESULT([no]) - else - AC_MSG_RESULT([yes, version $mips_pro_ver.]) - AC_MSG_CHECKING(for -LANG:std in CXXFLAGS) - lang_std_not_set=`echo $CXXFLAGS | grep "\-LANG:std"` - if test "x$lang_std_not_set" = "x"; then - AC_MSG_RESULT([not set, setting.]) - FLAGS="-LANG:std" - else - AC_MSG_RESULT([already set.]) - fi + if test "$DEBUG" = "yes"; then + FLAGS="-g -fno-inline" + FLAGS="$FLAGS -Wall -Wsign-compare -Waggregate-return" + FLAGS="$FLAGS -Wcast-qual -Wbad-function-cast -Wpointer-arith" + # for Python.h + FLAGS="$FLAGS -Wno-long-long" + fi + if test "$STRICT" = "yes"; then + FLAGS="$FLAGS -ansi -pedantic -D_XOPEN_SOURCE" fi fi AC_MSG_CHECKING([for compiler specific flags]) AC_MSG_RESULT([$FLAGS]) - CXXFLAGS="$CXXFLAGS $FLAGS" + CFLAGS="$CFLAGS $FLAGS" ])