summaryrefslogtreecommitdiffstats
path: root/package/libepoxy/0001-select-platforms-based-on-configuration-results.patch
blob: e3a7b4995c4e38fe37d3ada6dd473cdacf7bd714 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
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

OpenPOWER on IntegriCloud