vlc | branch: master | Jean-Baptiste Kempf <[email protected]> | Thu Jan 19 
18:57:47 2017 +0100| [7641f2bb8c9c5b10cdf2af7427721fecccf5c839] | committer: 
Jean-Baptiste Kempf

Contribs: rewrite most of live555 rules

It now calls make && make install in the subfolders
It has a .pc file taken from Debian package

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

 contrib/src/live555/add-pkgconfig-file.patch | 37 ++++++++++++++++++
 contrib/src/live555/rules.mak                | 57 +++++++++++++++-------------
 2 files changed, 67 insertions(+), 27 deletions(-)

diff --git a/contrib/src/live555/add-pkgconfig-file.patch 
b/contrib/src/live555/add-pkgconfig-file.patch
new file mode 100644
index 0000000..6f477dc
--- /dev/null
+++ b/contrib/src/live555/add-pkgconfig-file.patch
@@ -0,0 +1,37 @@
+Description: Add a pkg-config file for the shared libraries.
+Author: Benjamin Drung <[email protected]>
+
+diff --git a/Makefile.tail b/Makefile.tail
+--- a/Makefile.tail
++++ b/Makefile.tail
+@@ -22,7 +22,12 @@
+       @echo
+       @echo "For more information about this source code (including your 
obligations under the LGPL), please see our FAQ at 
http://live555.com/liveMedia/faq.html";
+ 
+-install:
++install_shared_libraries:
++      install -d $(DESTDIR)$(LIBDIR)/pkgconfig
++      sed 
"s#@PREFIX@#$(PREFIX)#;s#@LIBDIR@#$(LIBDIR)#;s#@VERSION@#$(VERSION)#" 
live555.pc.in > $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc
++      chmod 644 $(DESTDIR)$(LIBDIR)/pkgconfig/live555.pc
++
++install: $(INSTALL2)
+       cd $(LIVEMEDIA_DIR) ; $(MAKE) install
+       cd $(GROUPSOCK_DIR) ; $(MAKE) install
+       cd $(USAGE_ENVIRONMENT_DIR) ; $(MAKE) install
+--- /dev/null  2017-01-19 15:35:15.538412775 +0100
++++ live.2016.07.19/live555.pc.in      2017-01-19 18:46:01.456059400 +0100
+@@ -0,0 +1,9 @@
++prefix=@PREFIX@
++libdir=@LIBDIR@
++includedir=${prefix}/include
++
++Name: live555
++Description: multimedia RTSP streaming library
++Version: @VERSION@
++Cflags: -I${includedir}/liveMedia -I${includedir}/groupsock 
-I${includedir}/BasicUsageEnvironment -I${includedir}/UsageEnvironment
++Libs: -L${libdir} -lliveMedia -lgroupsock -lBasicUsageEnvironment 
-lUsageEnvironment
+--- live.2016.07.19/Makefile.head.orig 2017-01-19 18:47:50.376062631 +0100
++++ live.2016.07.19/Makefile.head      2017-01-19 18:48:09.940063212 +0100
+@@ -1 +1,2 @@
++VERSION = $(shell grep LIVEMEDIA_LIBRARY_VERSION_STRING 
liveMedia/include/liveMedia_version.hh | sed 's/.*"\([^"]*\)".*/\1/')
+ ##### Change the following for your environment:
diff --git a/contrib/src/live555/rules.mak b/contrib/src/live555/rules.mak
index a1b4b9f..fae4be8 100644
--- a/contrib/src/live555/rules.mak
+++ b/contrib/src/live555/rules.mak
@@ -1,6 +1,7 @@
 # live555
 
-LIVE555_FILE := live.2016.07.19.tar.gz
+LIVE555_VERSION := 2016.07.19
+LIVE555_FILE := live.$(LIVE555_VERSION).tar.gz
 LIVEDOTCOM_URL := http://live555.com/liveMedia/public/$(LIVE555_FILE)
 
 ifdef BUILD_NETWORK
@@ -37,43 +38,45 @@ endif
 LIVE_EXTRA_CFLAGS := $(EXTRA_CFLAGS) -fexceptions $(CFLAGS)
 
 live555: $(LIVE555_FILE) .sum-live555
-       rm -Rf live
-       $(UNPACK)
+       rm -Rf live && $(UNPACK)
+
+       # Change permissions to patch and sed the source
        chmod -R u+w live
-       (cd live && patch -fp1) < $(SRC)/live555/live555-nosignal.patch
+       # Remove hardcoded cc, c++, ar variables
        cd live && sed -e 's%cc%$(CC)%' -e 's%c++%$(CXX)%' -e 's%LIBRARY_LINK 
=.*ar%LIBRARY_LINK = $(AR)%' -i.orig config.$(LIVE_TARGET)
+       # Replace libtool -s by ar cr for macOS only
        cd live && sed -i.orig -e s/"libtool -s -o"/"ar cr"/g config.macosx*
-       cd live && sed -i.orig \
-               -e 's%$(CXX)%$(CXX)\ $(EXTRA_LDFLAGS)%' config.macosx
+       # Add Extra LDFLAGS for macOS
+       cd live && sed -i.orig -e 's%$(CXX)%$(CXX)\ $(EXTRA_LDFLAGS)%' 
config.macosx
+       # Add the Extra_CFLAGS to all config files
        cd live && sed -i.orig \
                -e 's%^\(COMPILE_OPTS.*\)$$%\1 '"$(LIVE_EXTRA_CFLAGS)%" config.*
+       # We want 64bits offsets and PIC on Linux
        cd live && sed -e 's%-D_FILE_OFFSET_BITS=64%-D_FILE_OFFSET_BITS=64\ 
-fPIC\ -DPIC%' -i.orig config.linux
+       # Disable Locale for Solaris
        cd live && sed -e 's%-DSOLARIS%-DSOLARIS -DXLOCALE_NOT_USED%' -i.orig 
config.solaris-*bit
 ifdef HAVE_ANDROID
+       # Disable locale on Android too
        cd live && sed -e 's%-DPIC%-DPIC -DNO_SSTREAM=1 -DLOCALE_NOT_USED 
-I$(ANDROID_NDK)/platforms/$(ANDROID_API)/arch-$(PLATFORM_SHORT_ARCH)/usr/include%'
 -i.orig config.linux
 endif
-       cd live && patch -lfp1 < ../../src/live555/winstore.patch
-       mv live $@
-       touch $@
+       mv live live.$(LIVE555_VERSION)
+       # Patch for MSG_NOSIGNAL
+       $(APPLY) $(SRC)/live555/live555-nosignal.patch
+       # Don't use FormatMessageA on WinRT
+       $(APPLY) $(SRC)/live555/winstore.patch
+       # Add a pkg-config file
+       $(APPLY) $(SRC)/live555/add-pkgconfig-file.patch
+
+       mv live.$(LIVE555_VERSION) $@ && touch $@
+
+SUBDIRS=groupsock liveMedia UsageEnvironment BasicUsageEnvironment
 
 .live555: live555
+       cd $< && for subdir in $(SUBDIRS); do \
+               echo "PREFIX = $(PREFIX)" >> $$subdir/Makefile.head && \
+               echo "LIBDIR = $(PREFIX)/lib" >> $$subdir/Makefile.head ; done
+       cd $< && echo "LIBDIR = $(PREFIX)/lib" >> Makefile.head
        cd $< && ./genMakefiles $(LIVE_TARGET)
-       cd $< && $(MAKE) $(HOSTVARS) -C groupsock \
-                       && $(MAKE) $(HOSTVARS) -C liveMedia \
-                       && $(MAKE) $(HOSTVARS) -C UsageEnvironment \
-                       && $(MAKE) $(HOSTVARS) -C BasicUsageEnvironment
-       mkdir -p -- "$(PREFIX)/lib" "$(PREFIX)/include/liveMedia"
-       cp \
-               $</groupsock/libgroupsock.a \
-               $</liveMedia/libliveMedia.a \
-               $</UsageEnvironment/libUsageEnvironment.a \
-               $</BasicUsageEnvironment/libBasicUsageEnvironment.a \
-               "$(PREFIX)/lib/"
-       cp \
-               $</groupsock/include/*.hh \
-               $</groupsock/include/*.h \
-               $</liveMedia/include/*.hh \
-               $</UsageEnvironment/include/*.hh \
-               $</BasicUsageEnvironment/include/*.hh \
-               "$(PREFIX)/include/liveMedia"
+       cd $< && for subdir in $(SUBDIRS); do $(MAKE) $(HOSTVARS) -C $$subdir; 
done
+       cd $< && for subdir in $(SUBDIRS); do $(MAKE) $(HOSTVARS) -C $$subdir 
install; done
        touch $@

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to