[gtkmm] Make list of gdk targets non-automagic



commit 82e928d23f94a39e45bcc8170d03e0b77de482e6
Author: Alexandre Rostovtsev <tetromino gentoo org>
Date:   Wed Apr 11 23:37:19 2012 -0400

    Make list of gdk targets non-automagic
    
    	* configure.ac: Otherwise, it is difficult e.g. to build a wayland-only
    	gtkmm on a build machine that has gdk with both x11 and wayland targets
    	installed.
    
    	Bug #673963

 ChangeLog    |   10 ++++++++++
 configure.ac |   35 ++++++++++++++++-------------------
 2 files changed, 26 insertions(+), 19 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index b8918f7..aea32c5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2012-04-17  Alexandre Rostovtsev  <tetromino gentoo org>
+
+	Make list of gdk targets non-automagic
+    
+	* configure.ac: Otherwise, it is difficult e.g. to build a wayland-only 
+	gtkmm on a build machine that has gdk with both x11 and wayland targets 
+	installed.
+    
+	Bug #673963
+
 3.4.0:
 
 2012-04-05  Kjell Ahlstedt  <kjell ahlstedt bredband net>
diff --git a/configure.ac b/configure.ac
index 5c85b7e..d67bce8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -52,25 +52,22 @@ gdk_target_quartz=no
 gdk_target_x11=no
 gdk_target_wayland=no
 gdk_target_broadway=no
-for target in `$PKG_CONFIG --variable=targets gtk+-3.0`; do
-    case "$target" in 
-       win32)
-          gdk_target_win32=yes
-	  ;;
-       quartz)
-          gdk_target_quartz=yes
-	  ;;
-       x11)
-          gdk_target_x11=yes
-	  ;;
-       broadway)
-          gdk_target_broadway=yes
-	  ;;
-       wayland)
-          gdk_target_wayland=yes
-	  ;;
-    esac;
-done
+backends=`$PKG_CONFIG --variable=targets gtk+-3.0`
+m4_foreach([mytarget], [[win32], [quartz], [x11], [wayland], [broadway]], [
+    AC_ARG_ENABLE(mytarget-backend,
+                  AS_HELP_STRING([--enable-mytarget-backend@<:@=yes|no|check@:>@], [enable mytarget gdk target @<:@default=check@:>@]),
+                  [], [enableval=check])
+    if test x$enableval != xno; then
+        for target in $backends; do
+            if test x$target = [x]mytarget; then
+                [gdk_target_]mytarget=yes
+            fi
+        done
+        if test x$enableval = xyes && test x$[gdk_target_]mytarget = xno; then
+            AC_MSG_ERROR([Requested mytarget backend not supported by installed gdk])
+        fi
+    fi
+])
 AM_CONDITIONAL([GDK_TARGET_WIN32], [test "x$gdk_target_win32" = xyes])
 AM_CONDITIONAL([GDK_TARGET_QUARTZ], [test "x$gdk_target_quartz" = xyes])
 AM_CONDITIONAL([GDK_TARGET_X11], [test "x$gdk_target_x11" = xyes])



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]