diff options
| author | Simon Tatham <anakin@pobox.com> | 2013-06-30 10:51:31 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2013-06-30 10:51:31 +0000 |
| commit | 6c34cb721c488980ee23491d261ab2b6b3e55a23 (patch) | |
| tree | 323f52711273ce4edd890fc7ba8641ddae00c8d5 | |
| parent | c06792c07609eacf6db0881f62a3391547c77248 (diff) | |
| download | puzzles-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.ac | 43 |
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]) |