# 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