mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-05 21:37:15 +02:00
community/glew: install eglew.h for egl, improve egl
This commit is contained in:
parent
3c670bc4eb
commit
573cf9f88f
@ -2,7 +2,7 @@
|
||||
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
||||
pkgname=glew
|
||||
pkgver=2.2.0
|
||||
pkgrel=3
|
||||
pkgrel=4
|
||||
pkgdesc="A cross-platform C/C++ extension loading library"
|
||||
url="https://glew.sourceforge.net/"
|
||||
arch="all"
|
||||
@ -12,7 +12,9 @@ depends_dev="libxmu-dev libxi-dev mesa-dev glu-dev"
|
||||
makedepends="$depends_dev"
|
||||
subpackages="$pkgname-dev $pkgname-tools"
|
||||
source="https://downloads.sourceforge.net/glew/glew-$pkgver.tgz
|
||||
egl.patch
|
||||
glew.patch
|
||||
makefile.patch
|
||||
"
|
||||
replaces="mesa-dev"
|
||||
|
||||
@ -20,8 +22,7 @@ build() {
|
||||
make \
|
||||
STRIP= \
|
||||
LDFLAGS.EXTRA="$LDFLAGS" \
|
||||
CFLAGS.EXTRA="$CFLAGS -fPIC" \
|
||||
CFLAGS.SO="$LDFLAGS"
|
||||
CFLAGS.EXTRA="$CFLAGS -fPIC"
|
||||
}
|
||||
|
||||
package() {
|
||||
@ -37,5 +38,7 @@ tools() {
|
||||
|
||||
sha512sums="
|
||||
57453646635609d54f62fb32a080b82b601fd471fcfd26e109f479b3fef6dfbc24b83f4ba62916d07d62cd06d1409ad7aa19bc1cd7cf3639c103c815b8be31d1 glew-2.2.0.tgz
|
||||
3cb6cb3f2fe2e635045d48919d6d7845ec4082202c2b30e2e3bf32bc8b68c3a6d6bbf05f07bf152e2bee20a6d3ea9ec9a03b4f4d3046e0d098f501bb3e6b7fa6 egl.patch
|
||||
ceee2d21ce0f4f6cd4b8d9e524440a30c31cd2aa4fa206f2a8081c49d10db5779979bfb15087218d6f290faed9a4ed01e3d26c6a88768fe3ed66f8b171ae2b34 glew.patch
|
||||
ee51ed18be51d722d0f159b376af29e0da66dca491726d1d2ed5fbfc08a4f173fbb3926cbb915be97fceb872be4dbe5f32e94defab3f70f27b30ed3b0afda343 makefile.patch
|
||||
"
|
||||
|
170
community/glew/egl.patch
Normal file
170
community/glew/egl.patch
Normal file
@ -0,0 +1,170 @@
|
||||
Patch-Source: https://github.com/archlinux/svntogit-packages/blob/d49529f0636cd084a87ef9140b0e738ff6eb4298/trunk/egl+glx.patch
|
||||
--
|
||||
--- a/src/glew.c
|
||||
+++ b/src/glew.c
|
||||
@@ -36,11 +36,13 @@
|
||||
# include GLEW_INCLUDE
|
||||
#endif
|
||||
|
||||
+#if defined(GLEW_EGL)
|
||||
+# include <GL/eglew.h>
|
||||
+#endif
|
||||
+
|
||||
#if defined(GLEW_OSMESA)
|
||||
# define GLAPI extern
|
||||
# include <GL/osmesa.h>
|
||||
-#elif defined(GLEW_EGL)
|
||||
-# include <GL/eglew.h>
|
||||
#elif defined(_WIN32)
|
||||
/*
|
||||
* If NOGDI is defined, wingdi.h won't be included by windows.h, and thus
|
||||
@@ -57,8 +59,7 @@
|
||||
|
||||
#include <stddef.h> /* For size_t */
|
||||
|
||||
-#if defined(GLEW_EGL)
|
||||
-#elif defined(GLEW_REGAL)
|
||||
+#if defined(GLEW_REGAL)
|
||||
|
||||
/* In GLEW_REGAL mode we call direcly into the linked
|
||||
libRegal.so glGetProcAddressREGAL for looking up
|
||||
@@ -159,23 +160,37 @@
|
||||
* Define glewGetProcAddress.
|
||||
*/
|
||||
#if defined(GLEW_REGAL)
|
||||
-# define glewGetProcAddress(name) regalGetProcAddress((const GLchar *)name)
|
||||
+# define _glewGetProcAddress(name) regalGetProcAddress((const GLchar *)name)
|
||||
#elif defined(GLEW_OSMESA)
|
||||
-# define glewGetProcAddress(name) OSMesaGetProcAddress((const char *)name)
|
||||
-#elif defined(GLEW_EGL)
|
||||
-# define glewGetProcAddress(name) eglGetProcAddress((const char *)name)
|
||||
+# define _glewGetProcAddress(name) OSMesaGetProcAddress((const char *)name)
|
||||
#elif defined(_WIN32)
|
||||
-# define glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
|
||||
+# define _glewGetProcAddress(name) wglGetProcAddress((LPCSTR)name)
|
||||
#elif defined(__APPLE__) && !defined(GLEW_APPLE_GLX)
|
||||
-# define glewGetProcAddress(name) NSGLGetProcAddress(name)
|
||||
+# define _glewGetProcAddress(name) NSGLGetProcAddress(name)
|
||||
#elif defined(__sgi) || defined(__sun) || defined(__HAIKU__)
|
||||
-# define glewGetProcAddress(name) dlGetProcAddress(name)
|
||||
+# define _glewGetProcAddress(name) dlGetProcAddress(name)
|
||||
#elif defined(__ANDROID__)
|
||||
-# define glewGetProcAddress(name) NULL /* TODO */
|
||||
+# define _glewGetProcAddress(name) NULL /* TODO */
|
||||
#elif defined(__native_client__)
|
||||
-# define glewGetProcAddress(name) NULL /* TODO */
|
||||
+# define _glewGetProcAddress(name) NULL /* TODO */
|
||||
#else /* __linux */
|
||||
-# define glewGetProcAddress(name) (*glXGetProcAddressARB)(name)
|
||||
+# define _glewGetProcAddress(name) (*glXGetProcAddressARB)(name)
|
||||
+#endif
|
||||
+
|
||||
+#if defined(GLEW_EGL)
|
||||
+static GLboolean _EGL_available = GL_FALSE;
|
||||
+static void (*glewGetProcAddress (const GLubyte *name)) (void)
|
||||
+{
|
||||
+ void (*addr)(void);
|
||||
+ if (_EGL_available)
|
||||
+ {
|
||||
+ addr = eglGetProcAddress((const char *)name);
|
||||
+ if (addr) return addr;
|
||||
+ }
|
||||
+ return _glewGetProcAddress(name);
|
||||
+}
|
||||
+#else
|
||||
+# define glewGetProcAddress(name) _glewGetProcAddress(name)
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -19297,9 +19312,7 @@
|
||||
}
|
||||
|
||||
|
||||
-#if defined(GLEW_OSMESA)
|
||||
-
|
||||
-#elif defined(GLEW_EGL)
|
||||
+#if defined(GLEW_EGL)
|
||||
|
||||
PFNEGLCHOOSECONFIGPROC __eglewChooseConfig = NULL;
|
||||
PFNEGLCOPYBUFFERSPROC __eglewCopyBuffers = NULL;
|
||||
@@ -20490,8 +20503,8 @@
|
||||
PFNEGLQUERYSTRINGPROC queryString = NULL;
|
||||
|
||||
/* Load necessary entry points */
|
||||
- initialize = (PFNEGLINITIALIZEPROC) glewGetProcAddress("eglInitialize");
|
||||
- queryString = (PFNEGLQUERYSTRINGPROC) glewGetProcAddress("eglQueryString");
|
||||
+ initialize = (PFNEGLINITIALIZEPROC) eglGetProcAddress("eglInitialize");
|
||||
+ queryString = (PFNEGLQUERYSTRINGPROC) eglGetProcAddress("eglQueryString");
|
||||
if (!initialize || !queryString)
|
||||
return 1;
|
||||
|
||||
@@ -21029,7 +21042,9 @@
|
||||
return GLEW_OK;
|
||||
}
|
||||
|
||||
-#elif defined(_WIN32)
|
||||
+#endif
|
||||
+
|
||||
+#if defined(_WIN32)
|
||||
|
||||
PFNWGLSETSTEREOEMITTERSTATE3DLPROC __wglewSetStereoEmitterState3DL = NULL;
|
||||
|
||||
@@ -23105,13 +23120,26 @@
|
||||
GLenum r;
|
||||
#if defined(GLEW_EGL)
|
||||
PFNEGLGETCURRENTDISPLAYPROC getCurrentDisplay = NULL;
|
||||
+ EGLDisplay display;
|
||||
#endif
|
||||
r = glewContextInit();
|
||||
if ( r != 0 ) return r;
|
||||
#if defined(GLEW_EGL)
|
||||
- getCurrentDisplay = (PFNEGLGETCURRENTDISPLAYPROC) glewGetProcAddress("eglGetCurrentDisplay");
|
||||
- return eglewInit(getCurrentDisplay());
|
||||
-#elif defined(GLEW_OSMESA) || defined(__ANDROID__) || defined(__native_client__) || defined(__HAIKU__)
|
||||
+ getCurrentDisplay = (PFNEGLGETCURRENTDISPLAYPROC) eglGetProcAddress("eglGetCurrentDisplay");
|
||||
+ if (getCurrentDisplay)
|
||||
+ display = getCurrentDisplay();
|
||||
+ else
|
||||
+ display = EGL_NO_DISPLAY;
|
||||
+ if (display != EGL_NO_DISPLAY)
|
||||
+ {
|
||||
+ r = eglewInit(display);
|
||||
+ if ( r == 0 ) {
|
||||
+ _EGL_available = GL_TRUE;
|
||||
+ return r;
|
||||
+ }
|
||||
+ }
|
||||
+#endif
|
||||
+#if defined(GLEW_OSMESA) || defined(__ANDROID__) || defined(__native_client__) || defined(__HAIKU__)
|
||||
return r;
|
||||
#elif defined(_WIN32)
|
||||
return wglewInit();
|
||||
@@ -29785,7 +29813,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
-#if defined(_WIN32) && !defined(GLEW_EGL) && !defined(GLEW_OSMESA)
|
||||
+#if defined(_WIN32) && !defined(GLEW_OSMESA)
|
||||
|
||||
GLboolean GLEWAPIENTRY wglewIsSupported (const char* name)
|
||||
{
|
||||
@@ -30228,7 +30256,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
-#elif !defined(GLEW_OSMESA) && !defined(GLEW_EGL) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
+#elif !defined(GLEW_OSMESA) && !defined(__ANDROID__) && !defined(__native_client__) && !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX)
|
||||
|
||||
GLboolean glxewIsSupported (const char* name)
|
||||
{
|
||||
@@ -30805,7 +30833,9 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
-#elif defined(GLEW_EGL)
|
||||
+#endif
|
||||
+
|
||||
+#if defined(GLEW_EGL)
|
||||
|
||||
GLboolean eglewIsSupported (const char* name)
|
||||
{
|
65
community/glew/makefile.patch
Normal file
65
community/glew/makefile.patch
Normal file
@ -0,0 +1,65 @@
|
||||
correctly pass ldflags, and install eglew.h
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 1da7eac..e540380 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -120,7 +120,7 @@ ifneq ($(STRIP),)
|
||||
endif
|
||||
|
||||
$(LIB.SHARED.DIR)/$(LIB.SHARED): $(LIB.SOBJS)
|
||||
- $(LD) $(LDFLAGS.SO) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS)
|
||||
+ $(LD) $(LDFLAGS.SO) $(LDFLAGS) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS)
|
||||
ifneq ($(LN),)
|
||||
$(LN) $(LIB.SHARED) $(LIB.SHARED.DIR)/$(LIB.SONAME)
|
||||
$(LN) $(LIB.SHARED) $(LIB.SHARED.DIR)/$(LIB.DEVLNK)
|
||||
@@ -131,11 +131,11 @@ endif
|
||||
|
||||
tmp/$(SYSTEM)/default/static/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
||||
@mkdir -p $(dir $@)
|
||||
- $(CC) -DGLEW_NO_GLU -DGLEW_STATIC $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
||||
+ $(CC) -DGLEW_NO_GLU -DGLEW_STATIC $(CFLAGS) $(CFLAGS.SO) $(LDFLAGS) -o $@ -c $<
|
||||
|
||||
tmp/$(SYSTEM)/default/shared/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
||||
@mkdir -p $(dir $@)
|
||||
- $(CC) -DGLEW_NO_GLU -DGLEW_BUILD $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
||||
+ $(CC) -DGLEW_NO_GLU -DGLEW_BUILD $(CFLAGS) $(CFLAGS.SO) $(LDFLAGS) -o $@ -c $<
|
||||
|
||||
# Force re-write of glew.pc, GLEW_DEST can vary
|
||||
|
||||
@@ -180,24 +180,24 @@ bin:
|
||||
mkdir bin
|
||||
|
||||
bin/$(GLEWINFO.BIN): $(GLEWINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
|
||||
- $(CC) $(CFLAGS) -o $@ $(GLEWINFO.BIN.OBJ) $(BIN.LIBS)
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(GLEWINFO.BIN.OBJ) $(BIN.LIBS)
|
||||
ifneq ($(STRIP),)
|
||||
$(STRIP) -x $@
|
||||
endif
|
||||
|
||||
bin/$(VISUALINFO.BIN): $(VISUALINFO.BIN.OBJ) $(LIB.SHARED.DIR)/$(LIB.SHARED)
|
||||
- $(CC) $(CFLAGS) -o $@ $(VISUALINFO.BIN.OBJ) $(BIN.LIBS)
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(VISUALINFO.BIN.OBJ) $(BIN.LIBS)
|
||||
ifneq ($(STRIP),)
|
||||
$(STRIP) -x $@
|
||||
endif
|
||||
|
||||
$(GLEWINFO.BIN.OBJ): $(GLEWINFO.BIN.SRC) include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
||||
@mkdir -p $(dir $@)
|
||||
- $(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
||||
+ $(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) $(LDFLAGS) -o $@ -c $<
|
||||
|
||||
$(VISUALINFO.BIN.OBJ): $(VISUALINFO.BIN.SRC) include/GL/glew.h include/GL/wglew.h include/GL/glxew.h
|
||||
@mkdir -p $(dir $@)
|
||||
- $(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) -o $@ -c $<
|
||||
+ $(CC) -DGLEW_NO_GLU $(CFLAGS) $(CFLAGS.SO) $(LDFLAGS) -o $@ -c $<
|
||||
|
||||
# Install targets
|
||||
|
||||
@@ -233,6 +233,7 @@ install.bin: glew.bin
|
||||
|
||||
install.include:
|
||||
$(INSTALL) -d -m 0755 "$(DESTDIR)$(INCDIR)"
|
||||
+ $(INSTALL) -m 0644 include/GL/eglew.h "$(DESTDIR)$(INCDIR)/"
|
||||
$(INSTALL) -m 0644 include/GL/wglew.h "$(DESTDIR)$(INCDIR)/"
|
||||
$(INSTALL) -m 0644 include/GL/glew.h "$(DESTDIR)$(INCDIR)/"
|
||||
$(INSTALL) -m 0644 include/GL/glxew.h "$(DESTDIR)$(INCDIR)/"
|
Loading…
Reference in New Issue
Block a user