summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/libepoxy/libepoxy/0001-select-platforms-based-on-configuration-results.patch
blob: 674c8e833026834b915660735733422b78450f85 (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
126
127
128
From 3a93150bc0aec86afdb7d053247dc2448925e09a 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/2] select platforms based on configuration results
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Upstream-Status: Submitted [1]

[1] https://github.com/anholt/libepoxy/pull/52

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
 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 a52fc58..bdd70da 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 4e34d6e..2ab84ed 100644
--- a/src/dispatch_common.c
+++ b/src/dispatch_common.c
@@ -615,10 +615,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) {
@@ -628,10 +631,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__*/
 }
 
 void
diff --git a/src/dispatch_common.h b/src/dispatch_common.h
index 6b8503a..82681e4 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
-- 
1.9.3