aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2013-06-30 10:51:31 +0000
committerSimon Tatham <anakin@pobox.com>2013-06-30 10:51:31 +0000
commit6c34cb721c488980ee23491d261ab2b6b3e55a23 (patch)
tree323f52711273ce4edd890fc7ba8641ddae00c8d5
parentc06792c07609eacf6db0881f62a3391547c77248 (diff)
downloadpuzzles-6c34cb721c488980ee23491d261ab2b6b3e55a23.zip
puzzles-6c34cb721c488980ee23491d261ab2b6b3e55a23.tar.gz
puzzles-6c34cb721c488980ee23491d261ab2b6b3e55a23.tar.bz2
puzzles-6c34cb721c488980ee23491d261ab2b6b3e55a23.tar.xz
Add a check in the new configure script to enable lots of gcc warning
flags if gcc is in use - but _only_ if they don't lead to problems in a test compile which includes all the system and GTK headers I'm going to want. Ubuntu 13.04 includes a version of Pango which breaks at -Werror -pedantic, so I can't unconditionally enable all the warning flags I might want without breaking the build in ways beyond my control. [originally from svn r9888]
-rw-r--r--configure.ac43
1 files changed, 40 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index c5e2447..4281e96 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4,11 +4,48 @@ AC_INIT([puzzles], rNNNN, [anakin@pobox.com])
AC_CONFIG_SRCDIR([midend.c])
AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
+AM_PATH_GTK_2_0([2.0.0])
+
if test "x$GCC" = "xyes"; then
- : # FIXME: do something interesting enabling as many warning
- # options as possible without breaking system headers.
+ AC_MSG_CHECKING([for usable gcc warning flags])
+ gccwarningflags=
+ for flag in -Wall -Werror -ansi -pedantic; do
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS$gccwarningflags $flag $GTK_CFLAGS"
+ LIBS="$GTK_LIBS $LIBS"
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
+ #include <stdio.h>
+ #include <assert.h>
+ #include <stdlib.h>
+ #include <time.h>
+ #include <stdarg.h>
+ #include <string.h>
+ #include <errno.h>
+ #include <math.h>
+
+ #include <sys/time.h>
+ #include <sys/resource.h>
+
+ #include <gtk/gtk.h>
+ #include <gdk/gdkkeysyms.h>
+
+ #include <gdk-pixbuf/gdk-pixbuf.h>
+
+ #include <gdk/gdkx.h>
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
+ ],[
+ return 0;
+ ])], [gccwarningflags="$gccwarningflags $flag"], [])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ done
+ AC_MSG_RESULT($gccwarningflags)
+ CFLAGS="$CFLAGS$gccwarningflags"
fi
-AM_PATH_GTK_2_0([2.0.0])
+
AC_PROG_RANLIB
AC_PROG_INSTALL
AC_CONFIG_FILES([Makefile])