[gtk+] Improve Solaris Xinerama configure detection



commit 3302114358051ec4d45636d55157090a465f60cd
Author: Brian Cameron <Brian Cameron sun com>
Date:   Fri Jun 5 00:42:01 2009 -0500

    Improve Solaris Xinerama configure detection
    
    The latest releases of Solaris now ship with the X.org Xserver, so it is
    better to use the Xfree Xinerama interfaces if available.  This commit fixes
    the configure script so that it first tries to use the Xfree interfaces and
    only falls back to the Solaris-specific interfaces if they are not available.
    This way, older releases of Solaris which do not use X.org also will work.
    (Bug 580079)
---
 configure.in |   93 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 47 insertions(+), 46 deletions(-)

diff --git a/configure.in b/configure.in
index 2222b78..221388f 100644
--- a/configure.in
+++ b/configure.in
@@ -1492,54 +1492,55 @@ if test "x$gdktarget" = "xx11"; then
     gtk_save_cppflags="$CPPFLAGS"
     CPPFLAGS="$CPPFLAGS $x_cflags"
   
-    case "$host" in
-      *-*-solaris*)
-          # Check for solaris
-	  AC_MSG_CHECKING(for Xinerama support on Solaris)
+    # Check for XFree
+    AC_MSG_CHECKING(for Xinerama support on XFree86)
 	  
-	  have_solaris_xinerama=false
-	  AC_CHECK_FUNC(XineramaGetInfo,
-	      [AC_CHECK_HEADER(X11/extensions/xinerama.h,
-  		  [have_solaris_xinerama=true], :,
-		  [#include <X11/Xlib.h>])])
-		
-          if $have_solaris_xinerama ; then
-            AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1,
-                      [Define to 1 if solaris xinerama is available])
-	    AC_DEFINE(HAVE_XINERAMA, 1,
-                      [Define to 1 if xinerama is available])
-            AC_MSG_RESULT(yes)
-          else
-            AC_MSG_RESULT(no)
-          fi
-          ;;
-      *)
-	  # Check for XFree
-          AC_MSG_CHECKING(for Xinerama support on XFree86)
+    have_xfree_xinerama=false
+    if $PKG_CONFIG --exists xinerama ; then
+       have_xfree_xinerama=true
+       X_PACKAGES="$X_PACKAGES xinerama"
+    else    
+       AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
+	   [AC_CHECK_HEADER(X11/extensions/Xinerama.h, 
+	   [GTK_ADD_LIB(x_extra_libs,Xinerama)
+	   have_xfree_xinerama=true], :,
+           [#include <X11/Xlib.h>])])
+    fi
+
+    if $have_xfree_xinerama ; then
+      AC_DEFINE(HAVE_XFREE_XINERAMA, 1,
+                [Define to 1 if XFree Xinerama is available])
+      AC_DEFINE(HAVE_XINERAMA, 1,
+                [Define to 1 is Xinerama is available])
+      AC_MSG_RESULT(yes)
+    else
+      AC_MSG_RESULT(no)
+
+      case "$host" in
+        *-*-solaris*)
+            # Check for solaris
+	    AC_MSG_CHECKING(for Xinerama support on Solaris)
 	  
-          have_xfree_xinerama=false
-          if $PKG_CONFIG --exists xinerama ; then
-             have_xfree_xinerama=true
-             X_PACKAGES="$X_PACKAGES xinerama"
-          else    
-	      AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
-	          [AC_CHECK_HEADER(X11/extensions/Xinerama.h, 
-	              [GTK_ADD_LIB(x_extra_libs,Xinerama)
-		      have_xfree_xinerama=true], :,
-                      [#include <X11/Xlib.h>])])
-          fi
-
-          if $have_xfree_xinerama ; then
-            AC_DEFINE(HAVE_XFREE_XINERAMA, 1,
-                      [Define to 1 if XFree Xinerama is available])
-	    AC_DEFINE(HAVE_XINERAMA, 1,
-                      [Define to 1 is Xinerama is available])
-            AC_MSG_RESULT(yes)
-         else
-            AC_MSG_RESULT(no)
-         fi
-         ;;
-    esac
+	    have_solaris_xinerama=false
+	    AC_CHECK_FUNC(XineramaGetInfo,
+	        [AC_CHECK_HEADER(X11/extensions/xinerama.h,
+  	  	    [have_solaris_xinerama=true], :,
+		    [#include <X11/Xlib.h>])])
+		
+            if $have_solaris_xinerama ; then
+              AC_DEFINE(HAVE_SOLARIS_XINERAMA, 1,
+                        [Define to 1 if solaris xinerama is available])
+	      AC_DEFINE(HAVE_XINERAMA, 1,
+                        [Define to 1 if xinerama is available])
+              AC_MSG_RESULT(yes)
+            else
+              AC_MSG_RESULT(no)
+            fi
+            ;;
+        *)
+            ;;
+      esac
+    fi
   fi
   
   # set up things for XInput



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