From 6c4a67164d623b33b1cfaefe43d2878c1daccd1a Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 5 Aug 2013 17:42:58 +0100 Subject: [PATCH] x264: add from meta-oe, update and tweak This is required by the default configuration of libav being brought over from meta-oe. Changes from the meta-oe recipe: * Update to the latest revision from the stable branch (upstream does not seem to provide stable releases.) * Add LICENSE_FLAGS = "commercial" * Enable PIC to fix text relocation warnings and disable warning for i586 (since PIC can't be used there) * Make SUMMARY value slightly shorter * Indent SRC_URI consistently with other recipes in OE-Core (From OE-Core rev: a3ca077285003fbc04d134e875a58a745271e47f) Signed-off-by: Paul Eggleton Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- .../don-t-default-to-cortex-a9-with-neon.patch | 20 +++++++++ meta/recipes-multimedia/x264/x264_git.bb | 52 ++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch create mode 100644 meta/recipes-multimedia/x264/x264_git.bb diff --git a/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch b/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch new file mode 100644 index 0000000..b844d88 --- /dev/null +++ b/meta/recipes-multimedia/x264/x264/don-t-default-to-cortex-a9-with-neon.patch @@ -0,0 +1,20 @@ +-march flag is not in CFLAGS so this will always default to -mcpu=cortex-a8 +-mfpu=neon. + +Upstream-Status: Pending +Signed-off-by: Andrei Gherzan + +Index: git/configure +=================================================================== +--- git.orig/configure 2013-02-10 16:26:40.666343682 +0200 ++++ git/configure 2013-02-10 16:27:49.198341677 +0200 +@@ -703,9 +703,6 @@ + fi + + if [ $asm = auto -a $ARCH = ARM ] ; then +- # set flags so neon is built by default +- echo $CFLAGS | grep -Eq '(-mcpu|-march|-mfpu)' || CFLAGS="$CFLAGS -mcpu=cortex-a8 -mfpu=neon" +- + if cc_check '' '' '__asm__("rev ip, ip");' ; then define HAVE_ARMV6 + cc_check '' '' '__asm__("movt r0, #0");' && define HAVE_ARMV6T2 + cc_check '' '' '__asm__("vadd.i16 q0, q0, q0");' && define HAVE_NEON diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb new file mode 100644 index 0000000..295818a --- /dev/null +++ b/meta/recipes-multimedia/x264/x264_git.bb @@ -0,0 +1,52 @@ +SUMMARY = "A free software library and application for encoding video streams into the H.264/MPEG-4 AVC format" +HOMEPAGE = "http://www.videolan.org/developers/x264.html" + +LICENSE = "GPLv2" +LICENSE_FLAGS = "commercial" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "yasm-native" + +SRC_URI = "git://git.videolan.org/x264.git \ + file://don-t-default-to-cortex-a9-with-neon.patch \ + " + +SRCREV = "585324fee380109acd9986388f857f413a60b896" + +PV = "r2265+git${SRCPV}" + +S = "${WORKDIR}/git" + +inherit lib_package pkgconfig + +X264_DISABLE_ASM = "" +X264_DISABLE_ASM_armv4 = "--disable-asm" +X264_DISABLE_ASM_armv5 = "--disable-asm" + +EXTRA_OECONF = '--prefix=${prefix} \ + --host=${HOST_SYS} \ + --cross-prefix=${TARGET_PREFIX} \ + --sysroot=${STAGING_DIR_TARGET} \ + --enable-shared \ + --enable-static \ + --disable-lavf \ + --disable-swscale \ + --enable-pic \ + ${X264_DISABLE_ASM} \ + ' + +do_configure() { + ./configure ${EXTRA_OECONF} +} + +# Get rid of -e +EXTRA_OEMAKE = "" +AS = "${TARGET_PREFIX}gcc" + +do_install() { + oe_runmake install DESTDIR=${D} +} + +# PIC can't be enabled for 32-bit x86 +INSANE_SKIP_${PN}_append_i586 = " textrel" + -- 2.7.4