summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Lambers <marlam@marlam.de>2012-03-07 20:50:40 (GMT)
committerMartin Lambers <marlam@marlam.de>2012-03-07 20:50:40 (GMT)
commitab35909e4d190d4c5497b687e8f7936b686ce81a (patch)
treed55f7ca4182c70e16e1048a7a64c82564db923fc
parentcc7ac84e6c3c8129b2de082083762cb8f393f46c (diff)
downloadmxe-ab35909e4d190d4c5497b687e8f7936b686ce81a.zip
mxe-ab35909e4d190d4c5497b687e8f7936b686ce81a.tar.gz
mxe-ab35909e4d190d4c5497b687e8f7936b686ce81a.tar.bz2
Make the glew package build and install GLEWmx.
GLEWmx is the multi-context version of GLEW. --- src/glew-test.c | 9 +++++++++ src/glew.mk | 24 ++++++++++++++++++++++++ 2 files changed, 33 insertions(+)
-rw-r--r--src/glew-test.c9
-rw-r--r--src/glew.mk24
2 files changed, 33 insertions, 0 deletions
diff --git a/src/glew-test.c b/src/glew-test.c
index 05db910..e37a520 100644
--- a/src/glew-test.c
+++ b/src/glew-test.c
@@ -4,6 +4,15 @@
#include <stdio.h>
#include <GL/glew.h>
+#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
index b4f0dc7..595de28 100644
--- a/src/glew.mk
+++ b/src/glew.mk
@@ -19,6 +19,7 @@ define $(PKG)_UPDATE
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 @@ define $(PKG)_BUILD
-e "s|@cflags@|-DGLEW_STATIC|g" \
-e "s|-l@libname@|-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|-l@libname@|-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