Revert "make windows stay on screen when they..."
[dana/openbox.git] / m4 / openbox.m4
index f4ef76f..5a95e84 100644 (file)
 #
 # 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],[])
+    AC_ARG_ENABLE([strict-ansi],
+    AC_HELP_STRING([--enable-strict-ansi],[Enable strict ANSI compliance build [[default=no]]]),
+    [STRICT=$enableval], [STRICT="no"])
 
-  # 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])
-# keep the asserts in
-#    AC_DEFINE([NDEBUG], [1], [Creating a release build])
-  fi
+    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
+    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])
+    AC_REQUIRE([AC_PROG_CPP])
+    AC_REQUIRE([AC_PROG_CC])
 
-  FLAGS=""
+    FLAGS=""
+    L=""
 
-  # Check what compiler we are using
-  AC_MSG_CHECKING([for GNU C++])
-  if test "$GXX" = "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])
+    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 -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
+       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
+])
+