Merge branch 'tpetazzoni-make-egl-optional'

Allow optionally disabling EGL support, just like we allow disabling GLX
support.

Closes #123
macos/v1.5.9
Emmanuele Bassi 7 years ago
commit eaaafd5b34
  1. 1
      .travis.yml
  2. 32
      configure.ac
  3. 21
      meson.build
  4. 5
      meson_options.txt
  5. 8
      src/dispatch_common.h

@ -29,3 +29,4 @@ before_script:
script: script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run withgit /bin/sh -c "cd /root && CC=$CC ./epoxy-run-tests.sh" ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run withgit /bin/sh -c "cd /root && CC=$CC ./epoxy-run-tests.sh" ; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run withgit /bin/sh -c "cd /root && CC=$CC ./epoxy-run-tests.sh -Denable-glx=no" ; fi - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run withgit /bin/sh -c "cd /root && CC=$CC ./epoxy-run-tests.sh -Denable-glx=no" ; fi
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then docker run withgit /bin/sh -c "cd /root && CC=$CC ./epoxy-run-tests.sh -Denable-egl=no" ; fi

@ -88,11 +88,34 @@ AS_CASE([$enable_glx],
[AC_MSG_ERROR([Invalid value "$enable_glx" for option "--enable-glx"])] [AC_MSG_ERROR([Invalid value "$enable_glx" for option "--enable-glx"])]
]) ])
# The remaining platform specific API for GL/GLES are enabled AC_ARG_ENABLE([egl],
# depending on the platform we're building for [AC_HELP_STRING([--enable-egl=@<:@auto,yes,no@:>@], [Enable EGL support @<:@default=auto@:>@])],
[enable_egl=$enableval],
[enable_egl=auto])
AS_CASE([$enable_egl],
[auto], [
AS_CASE([$host_os], AS_CASE([$host_os],
[mingw*], [ [mingw*], [build_egl=no],
[darwin*], [build_egl=no],
[build_egl=yes])
],
[yes], [
build_egl=yes
],
[no], [
build_egl=no build_egl=no
],
[AC_MSG_ERROR([Invalid value "$enable_egl" for option "--enable-egl"])]
])
# The remaining platform specific API are enabled depending on the
# platform we're building for
AS_CASE([$host_os],
[mingw*], [
build_wgl=yes build_wgl=yes
has_znow=yes has_znow=yes
# On windows, the DLL has to have all of its functions # On windows, the DLL has to have all of its functions
@ -108,7 +131,6 @@ AS_CASE([$host_os],
], ],
[darwin*], [ [darwin*], [
build_egl=no
build_wgl=no build_wgl=no
build_apple=yes build_apple=yes
has_znow=no has_znow=no
@ -116,7 +138,6 @@ AS_CASE([$host_os],
], ],
[ [
build_egl=yes
build_wgl=no build_wgl=no
has_znow=yes has_znow=yes
# On platforms with dlopen, we load everything dynamically and # On platforms with dlopen, we load everything dynamically and
@ -131,6 +152,7 @@ AM_CONDITIONAL(BUILD_EGL, test x$build_egl = xyes)
if test x$build_egl = xyes; then if test x$build_egl = xyes; then
PKG_CHECK_MODULES(EGL, [egl]) PKG_CHECK_MODULES(EGL, [egl])
AC_DEFINE([BUILD_EGL], [1], [build EGL tests]) AC_DEFINE([BUILD_EGL], [1], [build EGL tests])
AC_DEFINE(ENABLE_EGL, [1], [Whether EGL support is enabled])
fi fi
AM_CONDITIONAL(BUILD_GLX, test x$build_glx = xyes) AM_CONDITIONAL(BUILD_GLX, test x$build_glx = xyes)

@ -53,26 +53,41 @@ elif enable_glx == 'no'
build_glx = false build_glx = false
endif endif
enable_egl = get_option('enable-egl')
if enable_egl == 'auto'
if host_system == 'windows'
build_egl = false
elif host_system == 'darwin'
build_egl = false
elif host_system == 'android'
build_egl = true
else
build_egl = true
endif
elif enable_egl == 'yes'
build_egl = true
elif enable_egl == 'no'
build_egl = false
endif
# The remaining platform specific API for GL/GLES are enabled # The remaining platform specific API for GL/GLES are enabled
# depending on the platform we're building for # depending on the platform we're building for
if host_system == 'windows' if host_system == 'windows'
build_egl = false
build_apple = false build_apple = false
build_wgl = true build_wgl = true
has_znow = true has_znow = true
elif host_system == 'darwin' elif host_system == 'darwin'
build_egl = false
build_apple = true build_apple = true
build_wgl = false build_wgl = false
has_znow = false has_znow = false
else else
build_egl = true
build_apple = false build_apple = false
build_wgl = false build_wgl = false
has_znow = true has_znow = true
endif endif
conf.set10('ENABLE_GLX', build_glx) conf.set10('ENABLE_GLX', build_glx)
conf.set10('ENABLE_EGL', build_egl)
# Compiler flags, taken from the Xorg macros # Compiler flags, taken from the Xorg macros
if cc.get_id() == 'msvc' if cc.get_id() == 'msvc'

@ -6,3 +6,8 @@ option('enable-glx',
choices: [ 'auto', 'yes', 'no' ], choices: [ 'auto', 'yes', 'no' ],
value: 'auto', value: 'auto',
description: 'Enable GLX support') description: 'Enable GLX support')
option('enable-egl',
type: 'combo',
choices: [ 'auto', 'yes', 'no' ],
value: 'auto',
description: 'Enable EGL support')

@ -24,19 +24,19 @@
#include "config.h" #include "config.h"
#ifdef _WIN32 #ifdef _WIN32
#define PLATFORM_HAS_EGL 0 #define PLATFORM_HAS_EGL ENABLE_EGL
#define PLATFORM_HAS_GLX ENABLE_GLX #define PLATFORM_HAS_GLX ENABLE_GLX
#define PLATFORM_HAS_WGL 1 #define PLATFORM_HAS_WGL 1
#elif defined(__APPLE__) #elif defined(__APPLE__)
#define PLATFORM_HAS_EGL 0 #define PLATFORM_HAS_EGL ENABLE_EGL
#define PLATFORM_HAS_GLX ENABLE_GLX #define PLATFORM_HAS_GLX ENABLE_GLX
#define PLATFORM_HAS_WGL 0 #define PLATFORM_HAS_WGL 0
#elif defined(ANDROID) #elif defined(ANDROID)
#define PLATFORM_HAS_EGL 1 #define PLATFORM_HAS_EGL ENABLE_EGL
#define PLATFORM_HAS_GLX 0 #define PLATFORM_HAS_GLX 0
#define PLATFORM_HAS_WGL 0 #define PLATFORM_HAS_WGL 0
#else #else
#define PLATFORM_HAS_EGL 1 #define PLATFORM_HAS_EGL ENABLE_EGL
#define PLATFORM_HAS_GLX ENABLE_GLX #define PLATFORM_HAS_GLX ENABLE_GLX
#define PLATFORM_HAS_WGL 0 #define PLATFORM_HAS_WGL 0
#endif #endif

Loading…
Cancel
Save