Add some comments in MoveResizeTo code
[mikachu/openbox.git] / m4 / openbox.m4
index 53da97c..0c37a58 100644 (file)
@@ -5,41 +5,55 @@
 # Sets the CVS environment variable when building CVS sources.
 AC_DEFUN([OB_DEBUG],
 [
-  AC_MSG_CHECKING([build type])
-
-  AC_ARG_ENABLE([debug],
-  [  --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=""
-  test "${PACKAGE_VERSION%*cvs}" != "$PACKAGE_VERSION" && CVS="yes"
-  test "$CVS" = "yes" && DEBUG="yes"
-
-  if test "$DEBUG" = "yes"; then
-    MSG="DEBUG"
-  else
-    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")
+    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])
 ])
 
 
@@ -50,27 +64,59 @@ AC_DEFUN([OB_DEBUG],
 # for debug builds.
 AC_DEFUN([OB_COMPILER_FLAGS],
 [
-  AC_REQUIRE([AC_PROG_CPP])
-  AC_REQUIRE([AC_PROG_CC])
+    AC_REQUIRE([AC_PROG_CPP])
+    AC_REQUIRE([AC_PROG_CC])
 
-  FLAGS=""
+    FLAGS=""
+    L=""
 
-  # 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 -Wall -Wsign-compare -Waggregate-return"
-      FLAGS="$FLAGS -Wcast-qual -Wbad-function-cast -Wpointer-arith"
-      # for Python.h
-      FLAGS="$FLAGS -Wno-long-long"
+        FLAGS="-DDEBUG"
+    else
+        FLAGS="-DNDEBUG -DG_DISABLE_ASSERT"
     fi
-    if test "$STRICT" = "yes"; then
-      FLAGS="$FLAGS -ansi -pedantic -D_XOPEN_SOURCE"
+
+    # 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])
-  CFLAGS="$CFLAGS $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
+])
+