]> git.sesse.net Git - vlc/commitdiff
Contrib: add Glew for projectM
authorJean-Baptiste Kempf <jb@videolan.org>
Thu, 3 Dec 2009 21:33:13 +0000 (22:33 +0100)
committerJean-Baptiste Kempf <jb@videolan.org>
Fri, 4 Dec 2009 06:21:40 +0000 (07:21 +0100)
This stupid library with only 1 file to compile has won, by far, to be awarded the MOST STUPID config/Makefile system... Seriously, autotools is bad, but if you do stuff like that, please go and stop using a computer

extras/contrib/src/Makefile
extras/contrib/src/Patches/glew-win32.patch [new file with mode: 0644]
extras/contrib/src/packages.mak

index 903e907361bc64fce8ebdfe472834d66145da065..90fca42a1aeceee727103c31b7c0c65dbede9373 100644 (file)
@@ -2509,6 +2509,25 @@ CLEAN_FILE += .gsm
 CLEAN_PKG += gsm
 DISTCLEAN_PKG += gsm-$(GSM_VERSION).tar.gz
 
+# ***************************************************************************
+### GLEW 
+# ***************************************************************************
+glew-$(GLEW_VERSION)-src.tgz:
+       $(WGET) $(GLEW_URL)
+
+glew: glew-$(GLEW_VERSION)-src.tgz
+       $(EXTRACT_GZ)
+       (patch -p0 < Patches/glew-win32.patch)
+
+.glew: glew
+       (cd $<; $(HOSTCC) make && $(HOSTCC) GLEW_DEST=$(PREFIX) make install)
+       touch $@
+
+CLEAN_FILE += .glew
+CLEAN_PKG += glew
+DISTCLEAN_PKG += glew-$(GLEW_VERSION)-src.tgz
+
+
 # ***************************************************************************
 # projectM
 # ***************************************************************************
diff --git a/extras/contrib/src/Patches/glew-win32.patch b/extras/contrib/src/Patches/glew-win32.patch
new file mode 100644 (file)
index 0000000..86409c1
--- /dev/null
@@ -0,0 +1,77 @@
+--- glew/Makefile      2008-11-03 07:25:21.000000000 +0100
++++ glew.new/Makefile  2009-12-03 22:30:47.000000000 +0100
+@@ -31,7 +31,7 @@
+ include config/version\r
\r
+ SHELL = /bin/sh\r
+-SYSTEM = $(shell config/config.guess | cut -d - -f 3 | sed -e 's/[0-9\.]//g;')\r
++SYSTEM = mingw\r
+ SYSTEM.SUPPORTED = $(shell test -f config/Makefile.$(SYSTEM) && echo 1)\r
\r
+ ifeq ($(SYSTEM.SUPPORTED), 1)\r
+@@ -48,9 +48,7 @@
+ TARDIR = ../glew-$(GLEW_VERSION)\r
+ TARBALL = ../glew_$(GLEW_VERSION).tar.gz\r
\r
+-AR = ar\r
+ INSTALL = install\r
+-STRIP = strip\r
+ RM = rm -f\r
+ LN = ln -sf\r
+ ifeq ($(MAKECMDGOALS), debug)\r
+@@ -75,7 +73,7 @@
+ VISUALINFO.BIN.OBJS = $(VISUALINFO_BIN.SRCS:.c=.o)\r
+ BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL)\r
\r
+-all debug: lib/$(LIB.SHARED) lib/$(LIB.STATIC) bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN)\r
++all debug: lib/$(LIB.SHARED) lib/$(LIB.STATIC)\r
\r
+ lib:\r
+       mkdir lib\r
+@@ -112,27 +110,17 @@
+       $(INSTALL) -d -m 0755 $(INCDIR)\r
+       $(INSTALL) -d -m 0755 $(LIBDIR)\r
+ # runtime\r
+-ifeq ($(patsubst mingw%,mingw,$(SYSTEM)), mingw)\r
+-      $(STRIP) -x lib/$(LIB.SHARED)\r
+-      $(INSTALL) -m 0644 lib/$(LIB.SHARED) $(BINDIR)/\r
+-else\r
+       $(STRIP) -x lib/$(LIB.SHARED)\r
+       $(INSTALL) -m 0644 lib/$(LIB.SHARED) $(LIBDIR)/\r
+       $(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.SONAME)\r
+-endif\r
+ # development files\r
+       $(INSTALL) -m 0644 include/GL/wglew.h $(INCDIR)/\r
+       $(INSTALL) -m 0644 include/GL/glew.h $(INCDIR)/\r
+       $(INSTALL) -m 0644 include/GL/glxew.h $(INCDIR)/\r
+-ifeq ($(patsubst mingw%,mingw,$(SYSTEM)), mingw)\r
+-      $(INSTALL) -m 0644 lib/$(LIB.DEVLNK) $(LIBDIR)/\r
+-else\r
+-      strip -x lib/$(LIB.STATIC)\r
++      $(STRIP) -x lib/$(LIB.STATIC)\r
+       $(INSTALL) -m 0644 lib/$(LIB.STATIC) $(LIBDIR)/\r
+       $(LN) $(LIB.SHARED) $(LIBDIR)/$(LIB.DEVLNK)\r
+-endif\r
+ # utilities\r
+-      $(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) $(BINDIR)/\r
\r
+ uninstall:\r
+       $(RM) $(INCDIR)/wglew.h\r
+--- glew/config/Makefile.mingw 2008-11-03 07:25:20.000000000 +0100
++++ glew.new/config/Makefile.mingw     2009-12-03 22:18:32.000000000 +0100
+@@ -1,13 +1,11 @@
+ NAME = glew32\r
+-CC = gcc\r
+ # use gcc for linking, with ld it does not work\r
+-LD = gcc\r
+ ifneq (undefined, $(origin GLEW_MX))\r
+ CFLAGS.EXTRA = -DGLEW_MX\r
+ endif\r
+-CFLAGS.SO = -DGLEW_BUILD\r
++CFLAGS.SO = -DGLEW_BUILD -DSTATIC\r
+ #LDFLAGS.SO = -shared -soname $(LIB.SONAME) --out-implib lib/$(LIB.DEVLNK)\r
+-LDFLAGS.SO = -shared -Wl,-soname,$(LIB.SONAME) -Wl,--out-implib,lib/$(LIB.DEVLNK)\r
++#LDFLAGS.SO = -shared -Wl,-soname,$(LIB.SONAME) -Wl,--out-implib,lib/$(LIB.DEVLNK)\r
+ LDFLAGS.GL = -lglu32 -lopengl32 -lgdi32 -luser32 -lkernel32\r
+ LDFLAGS.EXTRA = -L/mingw/lib\r
+ WARN = -Wall -W\r
index c6be8911450c88e490f2789cbe09bbf3afe2ca5e..bd99eca436088f80d38a1c60ac1c9a29b332e049 100644 (file)
@@ -241,6 +241,8 @@ XCB_VERSION=1.2
 XCB_URL=http://xcb.freedesktop.org/dist/
 XCB_UTIL_VERSION=0.2
 XCB_UTIL_URL=$(XCB_URL)
+GLEW_VERSION=1.5.1
+GLEW_URL=$(SF)/glew/glew/$(GLEW_VERSION)/glew-$(GLEW_VERSION)-src.tgz
 LIBPROJECTM_VERSION=2.0.0
 LIBPROJECTM_URL=$(SF)/projectm/libprojectM/libprojectM-$(LIBPROJECTM_VERSION)/libprojectM-$(LIBPROJECTM_VERSION)-Source.tar.gz
 LIBPROJECTM_SVN=https://projectm.svn.sourceforge.net/svnroot/projectm/trunk