123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- From 7eff2bf8e27599c1c94217b2bb1b73d4b7d18e59 Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
- Date: Wed, 6 May 2015 10:45:22 +0200
- Subject: [PATCH 1/4] select platforms based on configuration results
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
- Fetched from pull #81 on github for libepoxy:
- https://github.com/anholt/libepoxy/pull/81/commits
- Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
- ---
- configure.ac | 13 +++++--------
- src/dispatch_common.c | 9 ++++++---
- src/dispatch_common.h | 9 +++++----
- 3 files changed, 16 insertions(+), 15 deletions(-)
- diff --git a/configure.ac b/configure.ac
- index 2d67726..225ab73 100644
- --- a/configure.ac
- +++ b/configure.ac
- @@ -58,6 +58,10 @@ AC_CHECK_HEADER([KHR/khrplatform.h],
- # uintptr_t to a void *") by default. Kill that.
- XORG_TESTSET_CFLAG(CWARNFLAGS, [-Wno-int-conversion])
-
- +PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no])
- +
- +AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes)
- +
- has_znow=yes
-
- case $host_os in
- @@ -86,7 +90,7 @@ case $host_os in
- ;;
- *)
- build_egl=yes
- - build_glx=yes
- + build_glx=$x11
- build_wgl=no
- # On platforms with dlopen, we load everything dynamically and
- # don't link against a specific window system or GL implementation.
- @@ -144,13 +148,6 @@ esac
-
- AC_SUBST([VISIBILITY_CFLAGS])
-
- -PKG_CHECK_MODULES(X11, [x11], [x11=yes], [x11=no])
- -if test x$x11 = xno -a x$build_glx = xyes; then
- - AC_MSG_ERROR([libX11 headers (libx11-dev) required to build with GLX support])
- -fi
- -
- -AM_CONDITIONAL(HAVE_X11, test x$x11 = xyes)
- -
- PKG_CHECK_MODULES(GL, [gl], [gl=yes], [gl=no])
-
- AC_CONFIG_FILES([
- diff --git a/src/dispatch_common.c b/src/dispatch_common.c
- index 013027f..163d348 100644
- --- a/src/dispatch_common.c
- +++ b/src/dispatch_common.c
- @@ -656,10 +656,13 @@ epoxy_get_proc_address(const char *name)
- #elif defined(__APPLE__)
- return epoxy_gl_dlsym(name);
- #else
- +#if PLATFORM_HAS_GLX
- if (epoxy_current_context_is_glx()) {
- return glXGetProcAddressARB((const GLubyte *)name);
- - } else {
- + } else
- +#endif /* PLATFORM_HAS_GLX */
- #if PLATFORM_HAS_EGL
- + {
- GLenum egl_api = epoxy_egl_get_current_gl_context_api();
-
- switch (egl_api) {
- @@ -669,10 +672,10 @@ epoxy_get_proc_address(const char *name)
- case EGL_NONE:
- break;
- }
- -#endif
- }
- +#endif /* PLATFORM_HAS_EGL */
- errx(1, "Couldn't find current GLX or EGL context.\n");
- -#endif
- +#endif /* _WIN32 | __APPLE__*/
- }
-
- WRAPPER_VISIBILITY (void)
- diff --git a/src/dispatch_common.h b/src/dispatch_common.h
- index 676a4d5..2728b45 100644
- --- a/src/dispatch_common.h
- +++ b/src/dispatch_common.h
- @@ -21,12 +21,13 @@
- * IN THE SOFTWARE.
- */
-
- +#include <config.h>
- #include <stdbool.h>
-
- #ifdef _WIN32
- #define PLATFORM_HAS_EGL 0
- #define PLATFORM_HAS_GLX 0
- -#define PLATFORM_HAS_WGL 1
- +#define PLATFORM_HAS_WGL BUILD_WGL
- #define EPOXY_IMPORTEXPORT __declspec(dllexport)
- #elif defined(__APPLE__)
- #define PLATFORM_HAS_EGL 0
- @@ -34,13 +35,13 @@
- #define PLATFORM_HAS_WGL 0
- #define EPOXY_IMPORTEXPORT
- #elif defined(ANDROID)
- -#define PLATFORM_HAS_EGL 1
- +#define PLATFORM_HAS_EGL BUILD_EGL
- #define PLATFORM_HAS_GLX 0
- #define PLATFORM_HAS_WGL 0
- #define EPOXY_IMPORTEXPORT
- #else
- -#define PLATFORM_HAS_EGL 1
- -#define PLATFORM_HAS_GLX 1
- +#define PLATFORM_HAS_EGL BUILD_EGL
- +#define PLATFORM_HAS_GLX BUILD_GLX
- #define PLATFORM_HAS_WGL 0
- #define EPOXY_IMPORTEXPORT
- #endif
|