X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=m4%2Fopenbox.m4;h=0c37a58423ff5524805acd7ade7c83ccd877d37d;hb=HEAD;hp=12c5c8ec387a5b4839c1e975aa906ccbef11bfea;hpb=6741d0572d003667374d9f77e1a9619a28e7362b;p=chaz%2Fopenbox diff --git a/m4/openbox.m4 b/m4/openbox.m4 index 12c5c8ec..0c37a584 100644 --- a/m4/openbox.m4 +++ b/m4/openbox.m4 @@ -2,66 +2,121 @@ # # 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_ARG_ENABLE([debug], - [ --enable-debug build a debug version default=no], - [DEBUG=$enableval],[]) - - # cvs builds are always debug - test "${VERSION%*cvs}" != "$VERSION" && DEBUG="yes" - - if test "$DEBUG" = "yes"; then - AC_MSG_RESULT([DEBUG]) - AC_DEFINE([DEBUG], [1], [Creating a debug build]) - else - AC_MSG_RESULT([RELEASE]) - AC_DEFINE([NDEBUG], [1], [Creating a release build]) - fi + AC_MSG_CHECKING([build type]) + + AC_ARG_ENABLE([strict-ansi], + AC_HELP_STRING([--enable-strict-ansi],[Enable strict ANSI compliance build [[default=no]]]), + [STRICT=$enableval], [STRICT="no"]) + + AC_ARG_ENABLE([super-warnings], + AC_HELP_STRING([--enable-super-warnings],[Enable extra compiler warnings [[default=no]]]), + [SUPERWARN=$enableval], [SUPERWARN="no"]) + + AC_ARG_ENABLE([debug], + AC_HELP_STRING([--enable-debug],[build a debug version [[default=no]]]), + [DEBUG=$enableval], [DEBUG="no"]) + + AC_ARG_ENABLE([gprof], + AC_HELP_STRING([--enable-gprof],[Enable gprof profiling output [[default=no]]]), + [PROF=$enableval], [PROF="no"]) + + AC_ARG_ENABLE([gprof-libc], + AC_HELP_STRING([--enable-gprof-libc],[Link against libc with profiling support [[default=no]]]), + [PROFLC=$enableval], [PROFLC="no"]) + + if test "$PROFLC" = "yes"; then + PROF="yes" # always enable profiling then + fi + + TEST="" + test "${PACKAGE_VERSION%*alpha*}" != "$PACKAGE_VERSION" && TEST="yes" + test "${PACKAGE_VERSION%*beta*}" != "$PACKAGE_VERSION" && TEST="yes" + test "$TEST" = "yes" && DEBUG="yes" + + if test "$DEBUG" = "yes"; then + MSG="DEBUG" + else + MSG="RELEASE" + fi + if test "$TEST" = "yes"; then + MSG="$MSG (test release)" + fi + if test "$STRICT" = "yes"; then + MSG="$MSG with strict ANSI compliance" + fi + if test "$SUPERWARN" = "yes"; then + MSG="$MSG with super warnings" + fi + AC_MSG_RESULT([$MSG]) + + test "$DEBUG" = "yes" && \ + AC_DEFINE([DEBUG], [1], [Creating a debug build]) ]) # 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]) - - FLAGS="" - - # Check what compiler we are using - AC_MSG_CHECKING([for GNU C++]) - if test "$GXX" = "yes"; then - AC_MSG_RESULT([yes]) - FLAGS="-Wall -W" - # -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]) + AC_REQUIRE([AC_PROG_CPP]) + AC_REQUIRE([AC_PROG_CC]) + + FLAGS="" + L="" + + if test "$DEBUG" = "yes"; then + FLAGS="-DDEBUG" 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 + FLAGS="-DNDEBUG -DG_DISABLE_ASSERT" + fi + + # Check what compiler we are using + AC_MSG_CHECKING([for GNU CC]) + if test "$GCC" = "yes"; then + AC_MSG_RESULT([yes]) + if test "$DEBUG" = "yes"; then + FLAGS="$FLAGS -O0 -ggdb -fno-inline -Wwrite-strings" + FLAGS="$FLAGS -Wall -Wsign-compare -Waggregate-return" + FLAGS="$FLAGS -Wbad-function-cast -Wpointer-arith" + FLAGS="$FLAGS -Wno-write-strings" + # for Python.h + #FLAGS="$FLAGS -Wno-long-long" + fi + if test "$SUPERWARN" = "yes"; then + # glib can't handle -Wcast-qual + FLAGS="$FLAGS -Wcast-qual -Wextra" + fi + if test "$STRICT" = "yes"; then + FLAGS="$FLAGS -ansi -pedantic -D_XOPEN_SOURCE" + fi + if test "$PROF" = "yes"; then + FLAGS="$FLAGS -pg -fno-inline" + fi + if test "$PROFLC" = "yes"; then + L="$L -lc_p -lm_p" + fi + FLAGS="$FLAGS -fno-strict-aliasing" fi - fi - AC_MSG_CHECKING([for compiler specific flags]) - AC_MSG_RESULT([$FLAGS]) - CXXFLAGS="$CXXFLAGS $FLAGS" + AC_MSG_CHECKING([for compiler specific flags]) + AC_MSG_RESULT([$FLAGS]) + CFLAGS="$CFLAGS $FLAGS" + LIBS="$LIBS $L" ]) + +AC_DEFUN([OB_NLS], +[ + AC_ARG_ENABLE([nls], + AC_HELP_STRING([--enable-nls],[Enable NLS translations [[default=yes]]]), + [NLS=$enableval], [NLS="yes"]) + + if test "$NLS" = yes; then + DEFS="$DEFS -DENABLE_NLS" + fi +]) +