[SCM] ffmpeg/master: Build an altivec flavor on powerpc.

aca-guest at users.alioth.debian.org aca-guest at users.alioth.debian.org
Mon Jun 22 20:41:15 UTC 2015


The following commit has been merged in the master branch:
commit cb5176b42b9929b679e66371a5121ed56aa97000
Author: Andreas Cadhalpun <Andreas.Cadhalpun at googlemail.com>
Date:   Mon Jun 22 20:34:58 2015 +0200

    Build an altivec flavor on powerpc.

diff --git a/debian/libavcodec-ffmpeg56.install.powerpc b/debian/libavcodec-ffmpeg56.install.powerpc
new file mode 100644
index 0000000..38c70f0
--- /dev/null
+++ b/debian/libavcodec-ffmpeg56.install.powerpc
@@ -0,0 +1,2 @@
+usr/lib/*/libavcodec-ffmpeg.so.*
+usr/lib/*/*/libavcodec-ffmpeg.so.*
diff --git a/debian/libavdevice-ffmpeg56.install.powerpc b/debian/libavdevice-ffmpeg56.install.powerpc
new file mode 100644
index 0000000..6223905
--- /dev/null
+++ b/debian/libavdevice-ffmpeg56.install.powerpc
@@ -0,0 +1,2 @@
+usr/lib/*/libavdevice-ffmpeg.so.*
+usr/lib/*/*/libavdevice-ffmpeg.so.*
diff --git a/debian/libavfilter-ffmpeg5.install.powerpc b/debian/libavfilter-ffmpeg5.install.powerpc
new file mode 100644
index 0000000..5c8d00c
--- /dev/null
+++ b/debian/libavfilter-ffmpeg5.install.powerpc
@@ -0,0 +1,2 @@
+usr/lib/*/libavfilter-ffmpeg.so.*
+usr/lib/*/*/libavfilter-ffmpeg.so.*
diff --git a/debian/libavformat-ffmpeg56.install.powerpc b/debian/libavformat-ffmpeg56.install.powerpc
new file mode 100644
index 0000000..8a24410
--- /dev/null
+++ b/debian/libavformat-ffmpeg56.install.powerpc
@@ -0,0 +1,2 @@
+usr/lib/*/libavformat-ffmpeg.so.*
+usr/lib/*/*/libavformat-ffmpeg.so.*
diff --git a/debian/libavresample-ffmpeg2.install.powerpc b/debian/libavresample-ffmpeg2.install.powerpc
new file mode 100644
index 0000000..a5071fc
--- /dev/null
+++ b/debian/libavresample-ffmpeg2.install.powerpc
@@ -0,0 +1,2 @@
+usr/lib/*/libavresample-ffmpeg.so.*
+usr/lib/*/*/libavresample-ffmpeg.so.*
diff --git a/debian/libavutil-ffmpeg54.install.powerpc b/debian/libavutil-ffmpeg54.install.powerpc
new file mode 100644
index 0000000..9d71a67
--- /dev/null
+++ b/debian/libavutil-ffmpeg54.install.powerpc
@@ -0,0 +1,2 @@
+usr/lib/*/libavutil-ffmpeg.so.*
+usr/lib/*/*/libavutil-ffmpeg.so.*
diff --git a/debian/libpostproc-ffmpeg53.install.powerpc b/debian/libpostproc-ffmpeg53.install.powerpc
new file mode 100644
index 0000000..a6ca5ae
--- /dev/null
+++ b/debian/libpostproc-ffmpeg53.install.powerpc
@@ -0,0 +1,2 @@
+usr/lib/*/libpostproc-ffmpeg.so.*
+usr/lib/*/*/libpostproc-ffmpeg.so.*
diff --git a/debian/libswresample-ffmpeg1.install.powerpc b/debian/libswresample-ffmpeg1.install.powerpc
new file mode 100644
index 0000000..17f7983
--- /dev/null
+++ b/debian/libswresample-ffmpeg1.install.powerpc
@@ -0,0 +1,2 @@
+usr/lib/*/libswresample-ffmpeg.so.*
+usr/lib/*/*/libswresample-ffmpeg.so.*
diff --git a/debian/libswscale-ffmpeg3.install.powerpc b/debian/libswscale-ffmpeg3.install.powerpc
new file mode 100644
index 0000000..e5e88fe
--- /dev/null
+++ b/debian/libswscale-ffmpeg3.install.powerpc
@@ -0,0 +1,2 @@
+usr/lib/*/libswscale-ffmpeg.so.*
+usr/lib/*/*/libswscale-ffmpeg.so.*
diff --git a/debian/rules b/debian/rules
index cbe8b0d..6909bed 100755
--- a/debian/rules
+++ b/debian/rules
@@ -147,6 +147,11 @@ endif
 # Disable altivec optimizations on powerpc, because they are not always available on this architecture.
 ifeq ($(DEB_HOST_ARCH),powerpc)
 	CONFIG += --disable-altivec
+	# Build an altivec flavor of the libraries on powerpc.
+	# This works around the problem that runtime cpu detection on powerpc currently does not work,
+	# because, if altivec is enabled, all files are build with '-maltivec' so that the compiler inserts altivec instructions, wherever it likes.
+	CONFIG_altivec = --enable-altivec --disable-doc
+	FLAVORS += altivec
 endif
 
 # Disable assembly optimizations on x32, because they don't work (yet).
@@ -172,6 +177,11 @@ endif
 # Add configuration options:
 override_dh_auto_configure:
 	$(info DEB_BUILD_OPTIONS = $(DEB_BUILD_OPTIONS))
+	$(foreach flavor,$(FLAVORS),mkdir -p debian/$(flavor);)
+ifeq ($(wildcard config.h),)
+	$(foreach flavor,$(FLAVORS), echo " *** $(flavor) ***"; cd debian/$(flavor); ../../configure $(CONFIG) $(CONFIG_$(flavor)) || (cat config.log && exit 1); cd ../.. ;)
+endif
+	echo " *** standard ***"
 	./configure $(CONFIG) || (cat config.log && exit 1)
 
 # Building the source package fails without this override, because config.mak does not exist in the source.
@@ -180,6 +190,7 @@ override_dh_auto_configure:
 override_dh_auto_clean:
 	[ ! -f config.mak ] || make distclean
 	[ ! -d doc/examples/pc-uninstalled ] || rm -r doc/examples/pc-uninstalled
+	$(foreach flavor,$(FLAVORS),[ ! -d debian/$(flavor) ] || rm -r debian/$(flavor);)
 	# Restore backed up CSS files
 	[ ! -f debian/bootstrap.min.css.bak ] || mv debian/bootstrap.min.css.bak doc/bootstrap.min.css
 	[ ! -f debian/style.min.css.bak ] || mv debian/style.min.css.bak doc/style.min.css
@@ -196,8 +207,13 @@ override_dh_auto_build-indep:
 
 override_dh_auto_build-arch:
 	# Build qt-faststart here, to make it possible to build with 'nocheck'.
+	echo " *** standard ***"
 	make tools/qt-faststart
 	dh_auto_build -a || (cat config.log && exit 1)
+	for flavor in $(FLAVORS); do \
+		echo " *** $$flavor ***"; \
+		dh_auto_build -a --sourcedirectory=debian/"$$flavor" || (cat debian/"$$flavor"/config.log && exit 1); \
+	done
 
 # Set the library path for the dynamic linker, because the test otherwise don't find the libraries.
 override_dh_auto_test:
@@ -205,6 +221,10 @@ override_dh_auto_test:
 
 override_dh_auto_install:
 	dh_auto_install
+ifeq ($(DEB_HOST_ARCH),powerpc)
+	install -d debian/tmp/usr/lib/powerpc-linux-gnu/altivec
+	install -m 644 debian/altivec/*/*.so.* debian/tmp/usr/lib/powerpc-linux-gnu/altivec
+endif
 	# Create symbolic links from the standard library lib*.so symlinks, pkg-config files and static libraries to the suffixed ones.
 	for lib in `find debian/ -name lib*-ffmpeg.so; find debian/ -name lib*.pc; find debian/ -name lib*.a`; do \
 		dir=`dirname $$lib`; \

-- 
ffmpeg packaging



More information about the pkg-multimedia-commits mailing list