Allow moving fullscreen windows between monitors
[mikachu/openbox.git] / m4 / openbox.m4
index 319ed7b..0c37a58 100644 (file)
@@ -8,26 +8,31 @@ AC_DEFUN([OB_DEBUG],
     AC_MSG_CHECKING([build type])
 
     AC_ARG_ENABLE([strict-ansi],
-    [  --enable-strict-ansi    Enable strict ANSI compliance build default=no],
+    AC_HELP_STRING([--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
+
+    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],
-    [  --enable-debug          build a debug version default=no],
+    AC_HELP_STRING([--enable-debug],[build a debug version [[default=no]]]),
     [DEBUG=$enableval], [DEBUG="no"])
 
-    # these special builds are always debug
-    CVS=""
-    test "${PACKAGE_VERSION%*cvs*}" != "$PACKAGE_VERSION" && CVS="yes"
-    test "$CVS" = "yes" && DEBUG="yes"
+    AC_ARG_ENABLE([gprof],
+    AC_HELP_STRING([--enable-gprof],[Enable gprof profiling output [[default=no]]]),
+    [PROF=$enableval], [PROF="no"])
 
-    TEST=""
-    test "${PACKAGE_VERSION%*alpha*}" != "$PACKAGE_VERSION" && TEST="yes"
-    test "$TEST" = "yes" && DEBUG="yes"
+    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"
 
@@ -36,15 +41,15 @@ AC_DEFUN([OB_DEBUG],
     else
        MSG="RELEASE"
     fi
-    if test "$CVS" = "yes"; then
-       MSG="$MSG (CVS build)"
-    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" && \
@@ -63,31 +68,51 @@ AC_DEFUN([OB_COMPILER_FLAGS],
     AC_REQUIRE([AC_PROG_CC])
 
     FLAGS=""
+    L=""
+
+    if test "$DEBUG" = "yes"; then
+        FLAGS="-DDEBUG"
+    else
+        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="-g -fno-inline"
+           FLAGS="$FLAGS -O0 -ggdb -fno-inline -Wwrite-strings"
            FLAGS="$FLAGS -Wall -Wsign-compare -Waggregate-return"
-           FLAGS="$FLAGS -Wcast-qual -Wbad-function-cast -Wpointer-arith"
+           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
     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],
-    [  --enable-nls            Enable NLS translations  default=yes],
+    AC_HELP_STRING([--enable-nls],[Enable NLS translations [[default=yes]]]),
     [NLS=$enableval], [NLS="yes"])
 
     if test "$NLS" = yes; then