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

Attachment: 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

Reply via email to