ref: 9df80d7587f9d0060ab74d3cb862e438a9f79291
parent: 41cc7c868f72e3131a3d45e38994e9d473824bd1
author: Simon Tatham <anakin@pobox.com>
date: Sat Oct 3 08:28:28 EDT 2015
GTK 3 port: arrange configure.ac support for GTK 2/3 detection. 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.
--- a/configure.ac
+++ b/configure.ac
@@ -4,7 +4,40 @@
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])