chiark / gitweb /
GTK 3 port: arrange configure.ac support for GTK 2/3 detection.
authorSimon Tatham <anakin@pobox.com>
Sat, 3 Oct 2015 11:28:28 +0000 (12:28 +0100)
committerSimon Tatham <anakin@pobox.com>
Sat, 3 Oct 2015 15:07:20 +0000 (16:07 +0100)
GTK 3 is the default, falling back to GTK 2 if 3 isn't available; you
can also say --with-gtk=2 to force GTK 2.

configure.ac

index c5bb6f93f19d7d1ec83c7cbc428da0b390010a6f..3a38c956028d2cb794fc9c9e17647e7d947ad801 100644 (file)
@@ -4,7 +4,40 @@ AC_INIT([puzzles], [6.66], [anakin@pobox.com])
 AC_CONFIG_SRCDIR([midend.c])
 AM_INIT_AUTOMAKE([foreign])
 AC_PROG_CC
-AM_PATH_GTK_2_0([2.0.0])
+
+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
   AC_MSG_CHECKING([for usable gcc warning flags])