mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-28 20:05:38 +00:00
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:
parent
34faa2d79a
commit
4c19b415bd
2 changed files with 20 additions and 4 deletions
13
configure.ac
13
configure.ac
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue