Control: tags -1 + patch Hi Peter
On 2015-01-03 22:36:13, peter green wrote: > Sebastian Ramacher wrote: > >there was a request to change the handling of the Raspberry Pi in the > >libav package. Could you please explain the changes applied to the > >Raspbian version? > In raspbian we have a checker that runs after all our autobuilds (and I > manually run a similar check when I do manual builds) that looks for files > tagged as armv7 (note: it seems using neon compiler options causes files to > be tagged as armv7 even if the CPU options aren't changed) and prevents the > autobuilder from uploading them. > > In general i've been adopting the principle that having armv7 code in > raspbian is at best a pointless waste of space (if the code in question is > correctly guarded behind runtime CPU detection) and at worst a serious > problem (if it isn't). Therefore I have been responding to cases like this > by simply disabling the armv7/neon code. The raspbian libav package got this > treatment. > > It's possible that I dodn't selct the best combination of flags, I'm no > libav expert. > > I have not tested whether an unodified debian libav package built in a > raspbian chroot actually works on the Pi or not. Thank you for the explanation. What about the attached patch? [1] I've looked through the code and the only place where --enable-runtime-cpudetect makes a difference is on powerpc (libavutil/ppc/cpu.c). Special handling for Raspbian should not make a difference. Reinhard, is my reading of the code correct? Cheers [1] Is this the right vendor in dpkg-vendor's terms? -- Sebastian Ramacher
From 12291549af1c4a35800e649a2585030e21016fdf Mon Sep 17 00:00:00 2001 From: Sebastian Ramacher <sramac...@debian.org> Date: Tue, 6 Jan 2015 13:51:10 +0100 Subject: [PATCH] Add special handling of Raspbian On Raspbian enabling NEON only produces dead code that is never used. Thanks: Peter Green Closes: #738760 --- debian/confflags | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/debian/confflags b/debian/confflags index 9d8ee47..b258304 100644 --- a/debian/confflags +++ b/debian/confflags @@ -26,6 +26,9 @@ check_cpp = $(shell $(CROSS)cpp -dM -P /dev/null | grep -q '^\#define $(1)' && e # configuration check_asm = $(shell echo 'void foo(void) { __asm__ volatile("$(1)"); }' | $(CROSS)gcc -x c -c - -o /dev/null 2>/dev/null && echo 1 || echo 0) +# this is 0 or 1 depending on wehter we build for Raspbian +is_raspbian := $(shell dpkg-vendor --is raspbian && echo 1 || echo 0) + # the other flavors always build dynamic versions # Also, disable architecture-specific optimizations for default shared build ifeq ($(DEB_HOST_ARCH_CPU),arm) @@ -46,9 +49,12 @@ ifeq ($(DEB_HOST_ARCH_CPU),arm) FLAVORS += vfp endif # only build a NEON flavour if the toolchain doesn't enable NEON by default + # and we are not building for Raspbian ifneq ($(has_neon),1) + ifneq ($(is_raspbian),1) FLAVORS += neon endif + endif # calling-conventions for VFP and NEON flavours: if the toolchain uses # -mfloat-abi=soft, we want to use softfp, otherwise we want to use the # toolchain default (either softfp or hardfp) @@ -104,6 +110,11 @@ confflags += --prefix=/usr confflags += $(shell test -x /usr/bin/yasm || echo --disable-yasm ) confflags += --disable-avserver +ifeq ($(is_raspbian),1) +# Disable armv6t2 and NEON on Raspbian +confflags += --disable-armv6t2 --disable-neon +endif + ifeq ($(DEB_HOST_ARCH),armel) # this is required on Ubuntu lucid as it defaults to thumb2 and Libav has # plenty of incompatible assembly; not sure how to detect that properly -- 2.1.4
signature.asc
Description: Digital signature
_______________________________________________ pkg-multimedia-maintainers mailing list pkg-multimedia-maintainers@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-multimedia-maintainers