Detect Xrandr >= 1.2 at build time
authorGabriel Jacobo <gabomdq@gmail.com>
Thu, 30 Jan 2014 20:27:13 -0300
changeset 8146 bfff4df36f0b
parent 8145 663d7d9de9bf
child 8147 9802c269104f
Detect Xrandr >= 1.2 at build time
configure
configure.in
--- a/configure	Wed Jan 29 18:38:13 2014 -0800
+++ b/configure	Thu Jan 30 20:27:13 2014 -0300
@@ -20077,17 +20077,33 @@
 fi
 
             if test x$enable_video_x11_xrandr = xyes; then
-                definitely_enable_video_x11_xrandr=no
-                ac_fn_c_check_header_compile "$LINENO" "X11/extensions/Xrandr.h" "ac_cv_header_X11_extensions_Xrandr_h" "#include <X11/Xlib.h>
-
-"
-if test "x$ac_cv_header_X11_extensions_Xrandr_h" = xyes; then :
-  have_xrandr_h_hdr=yes
-else
-  have_xrandr_h_hdr=no
-fi
-
-
+                                definitely_enable_video_x11_xrandr=no
+                have_xrandr_h_hdr=no
+                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+                #include <X11/Xlib.h>
+                #include <X11/extensions/Xrandr.h>
+
+int
+main ()
+{
+
+                XRRScreenResources *res = NULL;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+                have_xrandr_h_hdr=yes
+                $as_echo "#define SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH 1" >>confdefs.h
+
+                SUMMARY_video_x11="${SUMMARY_video_x11} xinput2_multitouch"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
                 if test x$have_xrandr_h_hdr = xyes; then
                     if test x$enable_x11_shared = xyes && test x$xrandr_lib != x ; then
                         echo "-- dynamic libXrandr -> $xrandr_lib"
--- a/configure.in	Wed Jan 29 18:38:13 2014 -0800
+++ b/configure.in	Thu Jan 30 20:27:13 2014 -0300
@@ -1508,12 +1508,19 @@
 AC_HELP_STRING([--enable-video-x11-xrandr], [enable X11 Xrandr extension for fullscreen [[default=yes]]]),
                             , enable_video_x11_xrandr=yes)
             if test x$enable_video_x11_xrandr = xyes; then
+                dnl XRRScreenResources is only present in Xrandr >= 1.2, we use that as a test.
                 definitely_enable_video_x11_xrandr=no
-                AC_CHECK_HEADER(X11/extensions/Xrandr.h,
-                                have_xrandr_h_hdr=yes,
-                                have_xrandr_h_hdr=no,
-                                [#include <X11/Xlib.h>
-                                ])
+                have_xrandr_h_hdr=no
+                AC_TRY_COMPILE([
+                #include <X11/Xlib.h>
+                #include <X11/extensions/Xrandr.h>
+                ],[
+                XRRScreenResources *res = NULL;
+                ],[
+                have_xrandr_h_hdr=yes
+                AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH)
+                SUMMARY_video_x11="${SUMMARY_video_x11} xinput2_multitouch"
+                ])
                 if test x$have_xrandr_h_hdr = xyes; then
                     if test x$enable_x11_shared = xyes && test x$xrandr_lib != x ; then
                         echo "-- dynamic libXrandr -> $xrandr_lib"