X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=configure.ac;h=3a38c956028d2cb794fc9c9e17647e7d947ad801;hb=db313b3948d27244dd7c34c2609c66d6204d8931;hp=c5e2447ebfe19d86a600cda25d00d00f1b33e103;hpb=b375232d7dc8357e820ec00808749d077c8b06b9;p=sgt-puzzles.git diff --git a/configure.ac b/configure.ac index c5e2447..3a38c95 100644 --- a/configure.ac +++ b/configure.ac @@ -1,14 +1,84 @@ dnl Configure script for the Unix GTK build of puzzles. -AC_INIT([puzzles], rNNNN, [anakin@pobox.com]) +AC_INIT([puzzles], [6.66], [anakin@pobox.com]) AC_CONFIG_SRCDIR([midend.c]) AM_INIT_AUTOMAKE([foreign]) AC_PROG_CC + +AC_ARG_WITH([gtk], + [AS_HELP_STRING([--with-gtk=VER], + [specify GTK version to use (`2' or `3')])], + [gtk_version_desired="$withval"], + [gtk_version_desired="any"]) + +case "$gtk_version_desired" in + 2 | 3 | any) ;; + yes) gtk_version_desired="any" ;; + *) AC_ERROR([Invalid GTK version specified]) +esac + +gtk=none + +case "$gtk_version_desired:$gtk" in + 3:none | any:none) + ifdef([AM_PATH_GTK_3_0],[ + AM_PATH_GTK_3_0([3.0.0], [gtk=3], []) + ],[AC_WARNING([generating configure script without GTK 3 autodetection])]) + ;; +esac + +case "$gtk_version_desired:$gtk" in + 2:none | any:none) + ifdef([AM_PATH_GTK_2_0],[ + AM_PATH_GTK_2_0([2.0.0], [gtk=2], []) + ],[AC_WARNING([generating configure script without GTK 2 autodetection])]) + ;; +esac + +if test "$gtk" = "none"; then + AC_MSG_ERROR([cannot build without GTK 2 or GTK 3]) +fi + 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 -std=c89 -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 + #include + #include + #include + #include + #include + #include + #include + + #include + #include + + #include + #include + + #include + + #include + #include + #include + #include + ],[ + 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])