Fixes compilation on Mingw.
authorGabriel Jacobo <gabomdq@gmail.com>
Fri, 22 Nov 2013 14:19:52 -0300
changeset 8022 7396e3cc5337
parent 8021 f96e12e0ade9
child 8023 7e9b97eb8aa3
Fixes compilation on Mingw.
configure
configure.in
src/video/windows/SDL_windowsopengl.c
--- a/configure	Fri Nov 22 13:24:53 2013 -0300
+++ b/configure	Fri Nov 22 14:19:52 2013 -0300
@@ -20703,6 +20703,84 @@
     fi
 }
 
+CheckWINDOWSGLES()
+{
+    if test x$enable_video = xyes -a x$enable_video_opengles = xyes; then
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EGL support" >&5
+$as_echo_n "checking for EGL support... " >&6; }
+        video_opengl_egl=no
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+         #include <EGL/egl.h>
+
+int
+main ()
+{
+
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+        video_opengl_egl=yes
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengl_egl" >&5
+$as_echo "$video_opengl_egl" >&6; }
+        if test x$video_opengl_egl = xyes; then
+
+$as_echo "#define SDL_VIDEO_OPENGL 1" >>confdefs.h
+
+
+$as_echo "#define SDL_VIDEO_OPENGL_EGL 1" >>confdefs.h
+
+        fi
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL ES v2 headers" >&5
+$as_echo_n "checking for OpenGL ES v2 headers... " >&6; }
+        video_opengles_v2=no
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+         #include <GLES2/gl2.h>
+         #include <GLES2/gl2ext.h>
+
+int
+main ()
+{
+
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+        video_opengles_v2=yes
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: $video_opengles_v2" >&5
+$as_echo "$video_opengles_v2" >&6; }
+        if test x$video_opengles_v2 = xyes; then
+
+$as_echo "#define SDL_VIDEO_OPENGL 1" >>confdefs.h
+
+
+$as_echo "#define SDL_VIDEO_OPENGL_ES2 1" >>confdefs.h
+
+
+$as_echo "#define SDL_VIDEO_RENDER_OGL_ES2 1" >>confdefs.h
+
+        fi
+    fi
+}
+
 CheckHaikuGL()
 {
     if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
@@ -22261,6 +22339,7 @@
         CheckDummyAudio
         CheckWINDOWS
         CheckWINDOWSGL
+        CheckWINDOWSGLES
         CheckDIRECTX
 
         # Set up the core platform files
--- a/configure.in	Fri Nov 22 13:24:53 2013 -0300
+++ b/configure.in	Fri Nov 22 14:19:52 2013 -0300
@@ -1738,6 +1738,43 @@
     fi
 }
 
+dnl Check for Windows OpenGL
+CheckWINDOWSGLES()
+{
+    if test x$enable_video = xyes -a x$enable_video_opengles = xyes; then
+
+        AC_MSG_CHECKING(for EGL support)
+        video_opengl_egl=no
+        AC_TRY_COMPILE([
+         #include <EGL/egl.h>
+        ],[
+        ],[
+        video_opengl_egl=yes
+        ])
+        AC_MSG_RESULT($video_opengl_egl)
+        if test x$video_opengl_egl = xyes; then
+            AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ])
+            AC_DEFINE(SDL_VIDEO_OPENGL_EGL, 1, [ ])
+        fi
+       
+        AC_MSG_CHECKING(for OpenGL ES v2 headers)
+        video_opengles_v2=no
+        AC_TRY_COMPILE([
+         #include <GLES2/gl2.h>
+         #include <GLES2/gl2ext.h>
+        ],[
+        ],[
+        video_opengles_v2=yes
+        ])
+        AC_MSG_RESULT($video_opengles_v2)
+        if test x$video_opengles_v2 = xyes; then
+            AC_DEFINE(SDL_VIDEO_OPENGL, 1, [ ])
+            AC_DEFINE(SDL_VIDEO_OPENGL_ES2, 1, [ ])
+            AC_DEFINE(SDL_VIDEO_RENDER_OGL_ES2, 1, [ ])
+        fi
+    fi
+}
+
 dnl Check for Haiku OpenGL
 CheckHaikuGL()
 {
@@ -2515,6 +2552,7 @@
         CheckDummyAudio
         CheckWINDOWS
         CheckWINDOWSGL
+        CheckWINDOWSGLES
         CheckDIRECTX
 
         # Set up the core platform files
--- a/src/video/windows/SDL_windowsopengl.c	Fri Nov 22 13:24:53 2013 -0300
+++ b/src/video/windows/SDL_windowsopengl.c	Fri Nov 22 14:19:52 2013 -0300
@@ -585,6 +585,7 @@
 
     if (_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES &&
         !_this->gl_data->HAS_WGL_EXT_create_context_es2_profile) {
+#if SDL_VIDEO_OPENGL_EGL        
         /* Switch to EGL based functions */
         WIN_GL_UnloadLibrary(_this);
         _this->GL_LoadLibrary = WIN_GLES_LoadLibrary;
@@ -602,6 +603,9 @@
         }
         
         return WIN_GLES_CreateContext(_this, window);
+#else
+        return SDL_SetError("SDL not configured with EGL support");
+#endif        
     }
 
     if (_this->gl_config.share_with_current_context) {