Commit 660a57f906afa3e19f3610ea1f3651d2e20be6fc

Gabriel Jacobo 2014-05-13T19:42:40

Fixes #2541, build failure with Wayland enabled, OpenGL ES disabled Also includes an attempt at fixing building SDL on Ubuntu 13.10, which hopefully won't break 14.04

diff --git a/configure b/configure
index 2a4e12f..5ef1353 100755
--- a/configure
+++ b/configure
@@ -18745,7 +18745,9 @@ fi
         { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Wayland support" >&5
 $as_echo_n "checking for Wayland support... " >&6; }
         video_wayland=no
-        if test x$PKG_CONFIG != xno; then
+        if  test x$PKG_CONFIG != xno && \
+            test x$video_opengl_egl = xyes && \
+            test x$video_opengles_v2 = xyes; then
             if $PKG_CONFIG --exists wayland-client wayland-egl wayland-cursor egl xkbcommon ; then
                 WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon`
                 WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon`
@@ -18895,7 +18897,31 @@ $as_echo_n "checking for Mir support... " >&6; }
             if $PKG_CONFIG --exists mirclient egl xkbcommon ; then
                 MIR_CFLAGS=`$PKG_CONFIG --cflags mirclient egl xkbcommon`
                 MIR_LIBS=`$PKG_CONFIG --libs mirclient egl xkbcommon`
+                save_CFLAGS="$CFLAGS"
+                CFLAGS="$save_CFLAGS $MIR_CFLAGS"
+
+                                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+                #include <mir_toolkit/mir_client_library.h>
+
+int
+main ()
+{
+
+                    MirMotionToolType tool = mir_motion_tool_type_mouse;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
                 video_mir=yes
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+                CFLAGS="$save_CFLAGS"
             fi
         fi
         { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_mir" >&5
@@ -22570,6 +22596,7 @@ case "$host" in
                 if test x$enable_video = xyes; then
                     SOURCES="$SOURCES $srcdir/src/core/android/*.c $srcdir/src/video/android/*.c"
                     $as_echo "#define SDL_VIDEO_DRIVER_ANDROID 1" >>confdefs.h
+                    SUMMARY_video="${SUMMARY_video} android"
                 fi
                 ;;
             *-*-linux*)         ARCH=linux ;;
@@ -22602,12 +22629,12 @@ case "$host" in
         CheckNAS
         CheckSNDIO
         CheckX11
-        CheckWayland
-        CheckMir
         CheckDirectFB
         CheckFusionSound
         CheckOpenGLX11
         CheckOpenGLESX11
+        CheckMir
+        CheckWayland
         CheckLibUDev
         CheckDBus
         CheckInputEvents
@@ -22647,6 +22674,7 @@ $as_echo "#define SDL_AUDIO_DRIVER_PAUDIO 1" >>confdefs.h
 $as_echo "#define SDL_AUDIO_DRIVER_ANDROID 1" >>confdefs.h
 
                 SOURCES="$SOURCES $srcdir/src/audio/android/*.c"
+                SUMMARY_audio="${SUMMARY_audio} android"
                 have_audio=yes
             ;;
           esac
diff --git a/configure.in b/configure.in
index 9a23f5f..eea767d 100644
--- a/configure.in
+++ b/configure.in
@@ -1174,7 +1174,9 @@ AC_HELP_STRING([--enable-video-wayland-qt-touch], [QtWayland server support for 
         AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
         AC_MSG_CHECKING(for Wayland support)
         video_wayland=no
-        if test x$PKG_CONFIG != xno; then
+        if  test x$PKG_CONFIG != xno && \
+            test x$video_opengl_egl = xyes && \
+            test x$video_opengles_v2 = xyes; then
             if $PKG_CONFIG --exists wayland-client wayland-egl wayland-cursor egl xkbcommon ; then
                 WAYLAND_CFLAGS=`$PKG_CONFIG --cflags wayland-client wayland-egl wayland-cursor xkbcommon`
                 WAYLAND_LIBS=`$PKG_CONFIG --libs wayland-client wayland-egl wayland-cursor xkbcommon`
@@ -1256,7 +1258,18 @@ AC_HELP_STRING([--enable-video-mir], [use Mir video driver [[default=yes]]]),
             if $PKG_CONFIG --exists mirclient egl xkbcommon ; then
                 MIR_CFLAGS=`$PKG_CONFIG --cflags mirclient egl xkbcommon`
                 MIR_LIBS=`$PKG_CONFIG --libs mirclient egl xkbcommon`
+                save_CFLAGS="$CFLAGS"
+                CFLAGS="$save_CFLAGS $MIR_CFLAGS"
+                
+                dnl This will disable Mir on Ubuntu < 14.04
+                AC_TRY_COMPILE([
+                #include <mir_toolkit/mir_client_library.h>
+                ],[
+                    MirMotionToolType tool = mir_motion_tool_type_mouse;
+                ],[
                 video_mir=yes
+                ])
+                CFLAGS="$save_CFLAGS"
             fi
         fi
         AC_MSG_RESULT($video_mir)
@@ -2691,12 +2704,12 @@ case "$host" in
         CheckNAS
         CheckSNDIO
         CheckX11
-        CheckWayland
-        CheckMir
         CheckDirectFB
         CheckFusionSound
         CheckOpenGLX11
         CheckOpenGLESX11
+        CheckMir
+        CheckWayland
         CheckLibUDev
         CheckDBus
         CheckInputEvents