[vlc-devel] commit: Patch to fix liboil build when --disable-shared (David Flynn )

git version control git at videolan.org
Wed Jul 9 22:33:25 CEST 2008


vlc | branch: master | David Flynn <davidf+nntp at woaf.net> | Mon Jul  7 13:01:28 2008 +0000| [5e4e0bd7f3e29fc7733bc09804540bb3ef6c92b5]

Patch to fix liboil build when --disable-shared

Without --enable-shared, libtool doesn't generate symbol lists.  Use
some autogenerated-libtool-internals to sort it out.

Tested with: gcc on linux-amd64, mingw crosscompile, apple-os10.5

Signed-off-by: Pavlov Konstantin <thresh at videolan.org>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5e4e0bd7f3e29fc7733bc09804540bb3ef6c92b5
---

 extras/contrib/src/Makefile                      |    1 +
 extras/contrib/src/Patches/liboil-noshared.patch |   41 ++++++++++++++++++++++
 2 files changed, 42 insertions(+), 0 deletions(-)

diff --git a/extras/contrib/src/Makefile b/extras/contrib/src/Makefile
index 855c84a..a09aafe 100644
--- a/extras/contrib/src/Makefile
+++ b/extras/contrib/src/Makefile
@@ -2424,6 +2424,7 @@ liboil-$(OIL_VERSION).tar.gz:
 
 liboil: liboil-$(OIL_VERSION).tar.gz
 	$(EXTRACT_GZ)
+	patch -d liboil -p1 < Patches/liboil-noshared.patch
 
 .liboil: liboil
 	(cd $<; $(HOSTCC) ./configure $(HOSTCONF) --prefix=$(PREFIX) && make && make install)
diff --git a/extras/contrib/src/Patches/liboil-noshared.patch b/extras/contrib/src/Patches/liboil-noshared.patch
new file mode 100644
index 0000000..42985d0
--- /dev/null
+++ b/extras/contrib/src/Patches/liboil-noshared.patch
@@ -0,0 +1,41 @@
+--- liboil-0.3.15/liboil/Makefile.in	2008-07-01 04:46:08.000000000 +0000
++++ liboil/liboil/Makefile.in	2008-07-04 23:09:27.518585545 +0000
+@@ -1207,25 +1207,30 @@
+ 
+ 
+ liboilarray.c: liboiltmp1.la Makefile
++	../libtool --config > .libs/libtoolcfg
+ 	echo '/* This file is autogenerated.  Do not edit */' >liboilarray.c.tmp
+ 	echo >>liboilarray.c.tmp
+ 	echo '#include <liboil/liboilfunction.h>' >>liboilarray.c.tmp
+ 	echo >>liboilarray.c.tmp
+-	grep '^_oil_function_class_' .libs/liboiltmp1.exp | \
+-	  sed -e 's/ .*//' -e 's/.*/extern OilFunctionClass &;/' >>liboilarray.c.tmp
++	. .libs/libtoolcfg; eval "$$NM .libs/liboiltmp1.a | $$global_symbol_pipe " | \
++	sed -e /^[^D]/D -e 's/^. [^ ]* \([^ ]*\)/\1/' | grep ^_oil_function_class_ | \
++	  sed -e 's/.*/extern OilFunctionClass &;/' >>liboilarray.c.tmp
+ 	echo >>liboilarray.c.tmp
+ 	echo 'OilFunctionClass *_oil_function_class_array[] = {' >>liboilarray.c.tmp
+-	grep '^_oil_function_class_' .libs/liboiltmp1.exp | \
+-	  sed -e 's/ .*//' -e 's/.*/  \&&,/' >>liboilarray.c.tmp
++	. .libs/libtoolcfg; eval "$$NM .libs/liboiltmp1.a | $$global_symbol_pipe " | \
++	sed -e /^[^D]/D -e 's/^. [^ ]* \([^ ]*\)/\1/' | grep ^_oil_function_class_ | \
++	  sed -e 's/.*/  \&&,/' >>liboilarray.c.tmp
+ 	echo '  NULL' >>liboilarray.c.tmp
+ 	echo '};' >>liboilarray.c.tmp
+ 	echo >>liboilarray.c.tmp
+-	grep '^_oil_function_impl_' .libs/liboiltmp1.exp | \
+-	  sed -e 's/ .*//' -e 's/.*/extern OilFunctionImpl &;/' >>liboilarray.c.tmp
++	. .libs/libtoolcfg; eval "$$NM .libs/liboiltmp1.a | $$global_symbol_pipe " | \
++	sed -e /^[^D]/D -e 's/^. [^ ]* \([^ ]*\)/\1/' | grep ^_oil_function_impl_ | \
++	  sed -e 's/.*/extern OilFunctionImpl &;/' >>liboilarray.c.tmp
+ 	echo >>liboilarray.c.tmp
+ 	echo 'OilFunctionImpl *_oil_function_impl_array[] = {' >>liboilarray.c.tmp
+-	grep '^_oil_function_impl_' .libs/liboiltmp1.exp | \
+-	  sed -e 's/ .*//' -e 's/.*/  \&&,/' >>liboilarray.c.tmp
++	. .libs/libtoolcfg; eval "$$NM .libs/liboiltmp1.a | $$global_symbol_pipe " | \
++	sed -e /^[^D]/D -e 's/^. [^ ]* \([^ ]*\)/\1/' | grep ^_oil_function_impl_ | \
++	  sed -e 's/.*/  \&&,/' >>liboilarray.c.tmp
+ 	echo '  NULL' >>liboilarray.c.tmp
+ 	echo '};' >>liboilarray.c.tmp
+ 	echo >>liboilarray.c.tmp




More information about the vlc-devel mailing list