Patchwork [2/6] x264: add from meta-oe, update and tweak

login
register
mail settings
Submitter Paul Eggleton
Date Aug. 9, 2013, 8:59 a.m.
Message ID <2db87529704491705f7288abb2ec787f90bcb3c1.1376038140.git.paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/55401/
State New
Headers show

Comments

Paul Eggleton - Aug. 9, 2013, 8:59 a.m.
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 properly

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 .../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
Martin Jansa - Aug. 9, 2013, 9:20 a.m.
On Fri, Aug 09, 2013 at 09:59:31AM +0100, Paul Eggleton wrote:
> 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 properly

I think it was indented correctly and styleguide doesn't define how many
spaces should be used for multiline variables.

> 
> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
> ---
>  .../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 <andrei@gherzan.ro>
> +
> +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..6c6e9a5
> --- /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 \

Don't mix tabs and spaces.

> +                ${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"
> +
> -- 
> 1.8.1.2
> 
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Paul Eggleton - Aug. 9, 2013, 9:58 a.m.
Hi Martin,

On Friday 09 August 2013 11:20:44 Martin Jansa wrote:
> On Fri, Aug 09, 2013 at 09:59:31AM +0100, Paul Eggleton wrote:
> > 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 properly
> 
> I think it was indented correctly and styleguide doesn't define how many
> spaces should be used for multiline variables.

It doesn't, but the convention that is observed in OE-Core is to indent 
multiple-line statements to the level of the start of the value in the first 
line (as indeed the value of EXTRA_OECONF is indented in this recipe). FWIW, I 
have altered the commit message to refer to consistency with other recipes 
rather than correctness.

> > +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 \
> 
> Don't mix tabs and spaces.

Oops, that's what I get for using vi without configuring it. Fixed on the 
branch.

Cheers,
Paul

Patch

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 <andrei@gherzan.ro>
+
+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..6c6e9a5
--- /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"
+