# HG changeset patch
# User Martin Lambers
# Date 1331122781 -3600
# Node ID 21d249bc82a4690f7e4e73046cf8107db836432c
# Parent b9ea00ea2547b203ccf8e1bea9b3722aa3b66419
Make the glew package build and install GLEWmx.
GLEWmx is the multi-context version of GLEW.
diff --git a/src/glew-test.c b/src/glew-test.c
--- a/src/glew-test.c
+++ b/src/glew-test.c
@@ -4,6 +4,15 @@
#include
#include
+#ifdef GLEW_MX
+/* We are using the multi-context variant of libGLEW */
+GLEWContext glew_context;
+GLEWContext* glewGetContext()
+{
+ return &glew_context;
+}
+#endif
+
int main(int argc, char *argv[])
{
GLenum err;
diff --git a/src/glew.mk b/src/glew.mk
--- a/src/glew.mk
+++ b/src/glew.mk
@@ -19,6 +19,7 @@
endef
define $(PKG)_BUILD
+ # Build libGLEW
cd '$(1)' && $(TARGET)-gcc -O2 -DGLEW_STATIC -Iinclude -c -o glew.o src/glew.c
cd '$(1)' && $(TARGET)-ar cr libGLEW.a glew.o
$(TARGET)-ranlib '$(1)/libGLEW.a'
@@ -31,17 +32,40 @@
-e "s|@cflags@|-DGLEW_STATIC|g" \
-e "s|address@hidden@|-lGLEW -lopengl32|g" \
< '$(1)'/glew.pc.in > '$(1)'/glew.pc
+
+ # Build libGLEWmx
+ cd '$(1)' && $(TARGET)-gcc -O2 -DGLEW_STATIC -DGLEW_MX -Iinclude -c -o glewmx.o src/glew.c
+ cd '$(1)' && $(TARGET)-ar cr libGLEWmx.a glewmx.o
+ $(TARGET)-ranlib '$(1)/libGLEWmx.a'
+ $(SED) \
+ -e "s|@prefix@|$(PREFIX)/$(TARGET)|g" \
+ -e "s|@libdir@|$(PREFIX)/$(TARGET)/lib|g" \
+ -e "s|@exec_prefix@|$(PREFIX)/$(TARGET)/bin|g" \
+ -e "s|@includedir@|$(PREFIX)/$(TARGET)/include/GL|g" \
+ -e "s|@version@|$(glew_VERSION)|g" \
+ -e "s|@cflags@|-DGLEW_STATIC -DGLEW_MX|g" \
+ -e "s|address@hidden@|-lGLEWmx -lopengl32|g" \
+ < '$(1)'/glew.pc.in > '$(1)'/glewmx.pc
+
+ # Install
$(INSTALL) -d '$(PREFIX)/$(TARGET)/lib'
$(INSTALL) -m644 '$(1)/libGLEW.a' '$(PREFIX)/$(TARGET)/lib/'
$(INSTALL) -m644 '$(1)/libGLEW.a' '$(PREFIX)/$(TARGET)/lib/libglew32s.a'
+ $(INSTALL) -m644 '$(1)/libGLEWmx.a' '$(PREFIX)/$(TARGET)/lib/'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/lib/pkgconfig'
$(INSTALL) -m644 '$(1)/glew.pc' '$(PREFIX)/$(TARGET)/lib/pkgconfig/'
+ $(INSTALL) -m644 '$(1)/glewmx.pc' '$(PREFIX)/$(TARGET)/lib/pkgconfig/'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/include'
$(INSTALL) -d '$(PREFIX)/$(TARGET)/include/GL'
$(INSTALL) -m644 '$(1)/include/GL/glew.h' '$(1)/include/GL/wglew.h' '$(PREFIX)/$(TARGET)/include/GL/'
+ # Test
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic \
'$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-glew.exe' \
`'$(TARGET)-pkg-config' glew --cflags --libs`
+ '$(TARGET)-gcc' \
+ -W -Wall -Werror -ansi -pedantic \
+ '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-glewmx.exe' \
+ `'$(TARGET)-pkg-config' glewmx --cflags --libs`
endef