gl: Allow using non-system mesa with both GL and GLES

GCC automatically disable redundance warnings for system headers. As
soon as we start using a non-system installed mesa, we would start
having issues. The test for both wasn't setting any flags, so it would
work but then fail at runtime.

This is being fixed by disabling in the code (where needed only) that
GCC warning. The test is also fixed to avoid the false positive we had.
This commit is contained in:
Nicolas Dufresne 2015-12-15 19:25:16 -05:00
parent 34faa2d79a
commit 4c19b415bd
2 changed files with 20 additions and 4 deletions

View file

@ -816,6 +816,10 @@ fi
dnl check if we can include both GL and GLES2 at the same time
if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
GL_INCLUDES="
#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic ignored \"-Wredundant-decls\"
#endif
#ifndef GL_GLEXT_PROTOTYPES
#define GL_GLEXT_PROTOTYPES 1
#endif
@ -839,11 +843,12 @@ if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
# include <GL/glext.h>
# endif
# endif
int main (int argc, char **argv) { return 0; }
"
AC_MSG_CHECKING([whether it is possible to include both GL and GLES2 headers])
save_CPPFLAGS="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $ERROR_CFLAGS"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[$GL_INCLUDES]], [[
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $GL_CFLAGS $GLES2_CFLAGS $WARNING_CFLAGS $ERROR_CFLAGS"
AC_COMPILE_IFELSE([AC_LANG_SOURCE([[$GL_INCLUDES]], [[
#if !defined(GL_FALSE)
#error Failed to include GL headers
#endif
@ -861,7 +866,7 @@ if test "x$HAVE_GL" = "xyes" -a "x$HAVE_GLES2" = "xyes"; then
HAVE_GLES2=no
fi
])
CPPFLAGS="$save_CPPFLAGS"
CFLAGS="$save_CFLAGS"
fi
#dnl Check for OpenGL

View file

@ -23,6 +23,13 @@
#include <gst/gl/gstglconfig.h>
/* This mimic GCC behaviour with system headers files even if GL headers may
* not be in the system header path. */
#ifdef __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wredundant-decls"
#endif
/* OpenGL 2.0 for Embedded Systems */
#if GST_GL_HAVE_GLES2
#ifndef GL_GLEXT_PROTOTYPES
@ -57,6 +64,10 @@
# endif
#endif
#ifdef __GNUC__
#pragma GCC diagnostic pop
#endif
#ifdef WINAPI
#define GSTGLAPI WINAPI
#else