6b13f685e
김민수
BSP 최초 추가
|
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.
");
-#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
|