[oe] [PATCH] libffi_3.0.9.bb : add a BBCLASSEXTEND version of latest libffi

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Mon Nov 22 21:49:08 UTC 2010


2010/11/19 Khem Raj <raj.khem at gmail.com>:
> On (19/11/10 10:07), Graeme Gregory wrote:
>> Initially taken from poky with changes required for OE. Poky recipe is much
>> simpler than the ones we have in OE and it seems we have a lot of historic that
>> is no longer needed.
>
>
> Sounds nice. May be cp will be better instead of mv in do_install_append ?
> Acked-by: Khem Raj <raj.khem at gmail.com>

Review gives no issues, builds fine so:
Acked-by: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
>
>> ---
>>  recipes/libffi/libffi-2.0+gcc3.4.1/soname.patch |   32 --------
>>  recipes/libffi/libffi-native_2.0+gcc4.3.2.bb    |   32 --------
>>  recipes/libffi/libffi/autoconf-2.64.patch       |   24 ------
>>  recipes/libffi/libffi_2.0+gcc3.4.1.bb           |   68 -----------------
>>  recipes/libffi/libffi_2.0+gcc4.3.2.bb           |   90 -----------------------
>>  recipes/libffi/libffi_3.0.8.bb                  |   85 ---------------------
>>  recipes/libffi/libffi_3.0.9.bb                  |   15 ++++
>>  7 files changed, 15 insertions(+), 331 deletions(-)
>>  delete mode 100644 recipes/libffi/libffi-2.0+gcc3.4.1/soname.patch
>>  delete mode 100644 recipes/libffi/libffi-native_2.0+gcc4.3.2.bb
>>  delete mode 100644 recipes/libffi/libffi/autoconf-2.64.patch
>>  delete mode 100644 recipes/libffi/libffi_2.0+gcc3.4.1.bb
>>  delete mode 100644 recipes/libffi/libffi_2.0+gcc4.3.2.bb
>>  delete mode 100644 recipes/libffi/libffi_3.0.8.bb
>>  create mode 100644 recipes/libffi/libffi_3.0.9.bb
>>
>> diff --git a/recipes/libffi/libffi-2.0+gcc3.4.1/soname.patch b/recipes/libffi/libffi-2.0+gcc3.4.1/soname.patch
>> deleted file mode 100644
>> index bccf75d..0000000
>> --- a/recipes/libffi/libffi-2.0+gcc3.4.1/soname.patch
>> +++ /dev/null
>> @@ -1,32 +0,0 @@
>> ---- libffi.orig/Makefile.am  2003-10-21 21:01:53.000000000 +0200
>> -+++ libffi/Makefile.am       2004-08-09 13:26:13.000000000 +0200
>> -@@ -175,7 +175,7 @@
>> -
>> - AM_CFLAGS = -Wall -g -fexceptions
>> -
>> --libffi_la_LDFLAGS = -release $(VERSION)
>> -+libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
>> -
>> - INCLUDES = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
>> -
>> ---- libffi.orig/libtool-version      1970-01-01 01:00:00.000000000 +0100
>> -+++ libffi/libtool-version   2004-08-09 13:24:18.000000000 +0200
>> -@@ -0,0 +1,6 @@
>> -+# This file is used to maintain libtool version info for libffi.  See
>> -+# the libtool manual to understand the meaning of the fields.  This is
>> -+# a separate file so that version updates don't involve re-running
>> -+# automake.
>> -+# CURRENT:REVISION:AGE
>> -+3:0:0
>> -
>> ---- libtool.orig/Makefile.in 2004-08-09 14:29:09.000000000 +0200
>> -+++ libtool/Makefile.in      2004-08-09 14:29:53.000000000 +0200
>> -@@ -226,7 +226,7 @@
>> -
>> - AM_CFLAGS = -Wall -g -fexceptions
>> -
>> --libffi_la_LDFLAGS = -release $(VERSION)
>> -+libffi_la_LDFLAGS = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
>> -
>> - INCLUDES = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
>> - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
>> diff --git a/recipes/libffi/libffi-native_2.0+gcc4.3.2.bb b/recipes/libffi/libffi-native_2.0+gcc4.3.2.bb
>> deleted file mode 100644
>> index 4a26199..0000000
>> --- a/recipes/libffi/libffi-native_2.0+gcc4.3.2.bb
>> +++ /dev/null
>> @@ -1,32 +0,0 @@
>> -require libffi_${PV}.bb
>> -
>> -inherit native
>> -
>> -EXTRA_OECONF = "--with-gnu-ld \
>> -                --enable-shared \
>> -                --enable-target-optspace \
>> -                --enable-languages=c,c++,f77 \
>> -                --enable-threads=posix \
>> -                --disable-multilib \
>> -                --enable-c99 \
>> -                --enable-long-long \
>> -                --enable-symvers=gnu \
>> -                --program-prefix=${TARGET_PREFIX} \
>> -                ${EXTRA_OECONF_PATHS}"
>> -
>> -ffi_include = "ffi.h ffitarget.h"
>> -
>> -install_libffi_headers() {
>> -     :
>> -}
>> -
>> -do_install () {
>> -     install -d ${D}${libdir} ${D}${includedir}
>> -     oe_libinstall -so -C .libs libffi ${D}${libdir}
>> -
>> -     for i in ${ffi_include}; do
>> -             install -m 0644 include/$i ${D}${includedir}/
>> -     done
>> -}
>> -
>> -NATIVE_INSTALL_WORKS = "1"
>> diff --git a/recipes/libffi/libffi/autoconf-2.64.patch b/recipes/libffi/libffi/autoconf-2.64.patch
>> deleted file mode 100644
>> index 7e5a41e..0000000
>> --- a/recipes/libffi/libffi/autoconf-2.64.patch
>> +++ /dev/null
>> @@ -1,24 +0,0 @@
>> -From cc8c1160a690a1eafc35e745da5f24e258436bda Mon Sep 17 00:00:00 2001
>> -From: Mike Lundy <mike at fluffypenguin.org>
>> -Date: Fri, 2 Oct 2009 12:28:13 -0700
>> -Subject: [PATCH] fix libffi for autoconf-2.64
>> -
>> ----
>> - libffi-3.0.8/configure.ac |    1 +
>> - 1 files changed, 1 insertions(+), 0 deletions(-)
>> -
>> -diff --git libffi-3.0.8/configure.ac libffi-3.0.8/configure.ac
>> -index 6a7e7fb..4c3f190 100644
>> ---- libffi-3.0.8/configure.ac
>> -+++ libffi-3.0.8/configure.ac
>> -@@ -20,6 +20,7 @@ AM_INIT_AUTOMAKE
>> - m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS])
>> - m4_define([_AC_ARG_VAR_PRECIOUS],[])
>> - AC_PROG_CC
>> -+m4_undefine([_AC_ARG_VAR_PRECIOUS])
>> - m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
>> -
>> - AC_SUBST(CFLAGS)
>> ---
>> -1.6.4
>> -
>> diff --git a/recipes/libffi/libffi_2.0+gcc3.4.1.bb b/recipes/libffi/libffi_2.0+gcc3.4.1.bb
>> deleted file mode 100644
>> index ceb46b1..0000000
>> --- a/recipes/libffi/libffi_2.0+gcc3.4.1.bb
>> +++ /dev/null
>> @@ -1,68 +0,0 @@
>> -SECTION = "libs"
>> -DESCRIPTION = "Foreign Function Interface library"
>> -LICENSE = "libffi"
>> -PRIORITY = "optional"
>> -PR = "r1"
>> -
>> -inherit autotools gettext
>> -
>> -PACKAGES = "${PN}-dbg ${PN} ${PN}-dev"
>> -
>> -FILES_${PN} = "${libdir}/libffi.so.*"
>> -
>> -FILES_${PN}-dev = "${includedir}/ffi* \
>> -                ${libdir}/libffi.a \
>> -                ${libdir}/libffi.la \
>> -                ${libdir}/libffi.so"
>> -
>> -GCC_VER = "${@bb.data.getVar('PV',d,1).split('gcc')[1]}"
>> -
>> -SRC_URI = "${GNU_MIRROR}/gcc/gcc-${GCC_VER}/gcc-${GCC_VER}.tar.bz2 \
>> -        file://soname.patch"
>> -
>> -MIRRORS_prepend () {
>> -${GNU_MIRROR}/gcc/   http://gcc.get-software.com/releases/
>> -${GNU_MIRROR}/gcc/   http://mirrors.rcn.net/pub/sourceware/gcc/releases/
>> -}
>> -
>> -S = "${WORKDIR}/gcc-${GCC_VER}/libffi"
>> -B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
>> -
>> -EXTRA_OECONF = "--with-gnu-ld \
>> -                --enable-shared \
>> -                --enable-target-optspace \
>> -                --enable-languages=c,c++,f77 \
>> -                --enable-threads=posix \
>> -                --enable-multilib \
>> -                --enable-c99 \
>> -                --enable-long-long \
>> -                --enable-symvers=gnu \
>> -                --program-prefix=${TARGET_PREFIX} \
>> -                ${EXTRA_OECONF_PATHS}"
>> -
>> -EXTRA_OECONF_PATHS = "--with-local-prefix=${prefix}/local \
>> -                      --with-gxx-include-dir=${includedir}/c++/${PV}"
>> -
>> -do_configure () {
>> -     (cd ${S}/.. && gnu-configize) || die "failure running gnu-configize"
>> -     oe_runconf
>> -}
>> -
>> -do_install_append() {
>> -     # follow debian and move this to $includedir
>> -     mv ${D}${libdir}/gcc/${TARGET_SYS}/${GCC_VER}/include/libffi/ffitarget.h ${D}${includedir}/
>> -}
>> -
>> -ffi_include = "ffi.h ffitarget.h"
>> -
>> -do_stage () {
>> -     oe_libinstall -so -C .libs libffi ${STAGING_LIBDIR}
>> -
>> -     mkdir -p ${STAGING_INCDIR}/
>> -     for i in ${ffi_include}; do
>> -             install -m 0644 include/$i ${STAGING_INCDIR}/
>> -     done
>> -}
>> -
>> -SRC_URI[md5sum] = "31b459062499f9f68d451db9cbf3205c"
>> -SRC_URI[sha256sum] = "5f3685533f8dc4b42b926fe70bb371b31e1368223a0ad7398ba27ea3a20e8e7a"
>> diff --git a/recipes/libffi/libffi_2.0+gcc4.3.2.bb b/recipes/libffi/libffi_2.0+gcc4.3.2.bb
>> deleted file mode 100644
>> index 1694ce4..0000000
>> --- a/recipes/libffi/libffi_2.0+gcc4.3.2.bb
>> +++ /dev/null
>> @@ -1,90 +0,0 @@
>> -require ../gcc/gcc-common.inc
>> -SECTION = "libs"
>> -DESCRIPTION = "Foreign Function Interface library"
>> -LICENSE = "libffi"
>> -PRIORITY = "optional"
>> -
>> -inherit autotools gettext
>> -
>> -PR = "r1"
>> -
>> -PACKAGES = "${PN}-dbg ${PN} ${PN}-dev"
>> -
>> -FILES_${PN} = "${libdir}/libffi.so.*"
>> -
>> -FILES_${PN}-dev = "${includedir}/${TARGET_SYS}/ffi* \
>> -                ${libdir}/libffi.a \
>> -                ${libdir}/libffi.la \
>> -                ${libdir}/libffi.so"
>> -
>> -GCC_VER = "${@bb.data.getVar('PV',d,1).split('gcc')[1]}"
>> -
>> -SRC_URI = "${GNU_MIRROR}/gcc/gcc-${GCC_VER}/gcc-${GCC_VER}.tar.bz2 \
>> -        "
>> -
>> -MIRRORS_prepend () {
>> -${GNU_MIRROR}/gcc/   http://gcc.get-software.com/releases/
>> -${GNU_MIRROR}/gcc/   http://mirrors.rcn.net/pub/sourceware/gcc/releases/
>> -}
>> -
>> -S = "${WORKDIR}/gcc-${GCC_VER}/libffi"
>> -B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
>> -
>> -EXTRA_OECONF = "--with-gnu-ld \
>> -                --enable-shared \
>> -                --enable-target-optspace \
>> -                --enable-languages=c,c++,f77 \
>> -                --enable-threads=posix \
>> -                --enable-multilib \
>> -                --enable-c99 \
>> -                --enable-long-long \
>> -                --enable-symvers=gnu \
>> -                --program-prefix=${TARGET_PREFIX} \
>> -                ${EXTRA_OECONF_FPU} \
>> -                ${EXTRA_OECONF_PATHS}"
>> -
>> -EXTRA_OECONF_PATHS = "--with-local-prefix=${prefix}/local \
>> -                      --with-gxx-include-dir=${includedir}/c++/${PV}"
>> -
>> -# Build uclibc compilers without cxa_atexit support
>> -EXTRA_OECONF_append_linux               = " --enable-__cxa_atexit"
>> -EXTRA_OECONF_append_linux-gnueabi       = " --enable-__cxa_atexit"
>> -EXTRA_OECONF_append_linux-uclibc        = " --disable-__cxa_atexit"
>> -EXTRA_OECONF_append_linux-uclibceabi    = " --disable-__cxa_atexit"
>> -EXTRA_OECONF_FPU = "${@get_gcc_fpu_setting(bb, d)}"
>> -
>> -#Somehow gcc doesn't set __SOFTFP__ when passing -mfloatabi=softp :(
>> -TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
>> -TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"
>> -
>> -
>> -do_configure () {
>> -     (cd ${S}/.. && gnu-configize) || die "failure running gnu-configize"
>> -     oe_runconf
>> -}
>> -
>> -do_install_append() {
>> -     install_libffi_headers
>> -}
>> -
>> -# Separate function which can be disabled in the -native recipe.
>> -install_libffi_headers() {
>> -     # follow Debian and move this to $includedir/${TARGET_SYS}
>> -     install -d ${D}${includedir}/${TARGET_SYS}
>> -     mv ${D}${libdir}/gcc/${TARGET_SYS}/${GCC_VER}/include/ffitarget.h ${D}${includedir}/${TARGET_SYS}
>> -     mv ${D}${libdir}/gcc/${TARGET_SYS}/${GCC_VER}/include/ffi.h ${D}${includedir}/${TARGET_SYS}
>> -}
>> -
>> -ffi_include = "ffi.h ffitarget.h"
>> -
>> -do_stage () {
>> -     oe_libinstall -so -C .libs libffi ${STAGING_LIBDIR}
>> -
>> -     mkdir -p ${STAGING_INCDIR}/
>> -     for i in ${ffi_include}; do
>> -             install -m 0644 include/$i ${STAGING_INCDIR}/
>> -     done
>> -}
>> -
>> -SRC_URI[md5sum] = "5dfac5da961ecd5f227c3175859a486d"
>> -SRC_URI[sha256sum] = "bfbf487731ad5dca37efe480a837417de071bd67e685d5c1df6a290707575165"
>> diff --git a/recipes/libffi/libffi_3.0.8.bb b/recipes/libffi/libffi_3.0.8.bb
>> deleted file mode 100644
>> index b31d9ee..0000000
>> --- a/recipes/libffi/libffi_3.0.8.bb
>> +++ /dev/null
>> @@ -1,85 +0,0 @@
>> -require ../gcc/gcc-common.inc
>> -
>> -SECTION = "libs"
>> -DESCRIPTION = "Foreign Function Interface library"
>> -LICENSE = "libffi"
>> -PRIORITY = "optional"
>> -
>> -inherit autotools gettext pkgconfig
>> -
>> -PR = "r0"
>> -
>> -S = "${WORKDIR}/${P}"
>> -
>> -B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
>> -
>> -PACKAGES = "${PN}-dbg ${PN} ${PN}-dev ${PN}-doc"
>> -
>> -FILES_${PN} = "${libdir}/libffi.so.*"
>> -
>> -FILES_${PN}-dev = "${includedir}/${TARGET_SYS}/ffi* \
>> -                ${libdir}/libffi.a \
>> -                ${libdir}/libffi.la \
>> -                ${libdir}/libffi.so \
>> -                      ${libdir}/pkgconfig \
>> -"
>> -
>> -SRC_URI = "ftp://sourceware.org/pub/libffi/${P}.tar.gz \
>> -           file://autoconf-2.64.patch"
>> -
>> -EXTRA_OECONF = "--with-gnu-ld \
>> -                --enable-shared \
>> -                --enable-target-optspace \
>> -                --enable-languages=c,c++,f77 \
>> -                --enable-threads=posix \
>> -                --enable-multilib \
>> -                --enable-c99 \
>> -                --enable-long-long \
>> -                --enable-symvers=gnu \
>> -                --program-prefix=${TARGET_PREFIX} \
>> -                ${EXTRA_OECONF_FPU} \
>> -                ${EXTRA_OECONF_PATHS}"
>> -
>> -EXTRA_OECONF_PATHS = "--with-local-prefix=${prefix}/local \
>> -                      --with-gxx-include-dir=${includedir}/c++/${PV}"
>> -
>> -# Build uclibc compilers without cxa_atexit support
>> -EXTRA_OECONF_append_linux               = " --enable-__cxa_atexit"
>> -EXTRA_OECONF_append_linux-gnueabi       = " --enable-__cxa_atexit"
>> -EXTRA_OECONF_append_linux-uclibc        = " --disable-__cxa_atexit"
>> -EXTRA_OECONF_append_linux-uclibceabi = " --disable-__cxa_atexit"
>> -EXTRA_OECONF_FPU = "${@get_gcc_fpu_setting(bb, d)}"
>> -
>> -#Somehow gcc doesn't set __SOFTFP__ when passing -mfloatabi=softp :(
>> -TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
>> -TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"
>> -
>> -do_compile_append() {
>> -     sed -i -e"s|\\${libdir}/${P}/include|\\${includedir}/${TARGET_SYS}/|" libffi.pc
>> -}
>> -
>> -do_install_append() {
>> -     install_libffi_headers
>> -}
>> -
>> -# Separate function which can be disabled in the -native recipe.
>> -install_libffi_headers() {
>> -     # follow Debian and move this to $includedir/${TARGET_SYS}
>> -     install -d ${D}${includedir}/${TARGET_SYS}
>> -     mv ${D}${libdir}/${P}/include/ffitarget.h ${D}${includedir}/${TARGET_SYS}
>> -     mv ${D}${libdir}/${P}/include/ffi.h ${D}${includedir}/${TARGET_SYS}
>> -}
>> -
>> -ffi_include = "ffi.h ffitarget.h"
>> -
>> -do_stage () {
>> -     oe_libinstall -so -C .libs libffi ${STAGING_LIBDIR}
>> -
>> -     mkdir -p ${STAGING_INCDIR}/
>> -     for i in ${ffi_include}; do
>> -             install -m 0644 include/$i ${STAGING_INCDIR}/
>> -     done
>> -}
>> -
>> -SRC_URI[md5sum] = "188a4f79fdac2310044b44b7d3918ef9"
>> -SRC_URI[sha256sum] = "2c7c5b88a68fb362262889ba25ef25dc27864b7bbf03547a8a36b8d567569406"
>> diff --git a/recipes/libffi/libffi_3.0.9.bb b/recipes/libffi/libffi_3.0.9.bb
>> new file mode 100644
>> index 0000000..9f7dbc3
>> --- /dev/null
>> +++ b/recipes/libffi/libffi_3.0.9.bb
>> @@ -0,0 +1,15 @@
>> +SRC_URI = "ftp://sourceware.org/pub/libffi/${BPN}-${PV}.tar.gz"
>> +LICENSE = "MIT"
>> +
>> +SRC_URI[md5sum] = "1f300a7a7f975d4046f51c3022fa5ff1"
>> +SRC_URI[sha256sum] = "589d25152318bc780cd8919b14670793f4971d9838dab46ed38c32b3ee92c452"
>> +
>> +inherit autotools
>> +
>> +do_install_append() {
>> +     install -d ${D}${includedir}
>> +     mv ${D}${libdir}/libffi-${PV}/include/* ${D}${includedir}/ || true
>> +}
>> +
>> +BBCLASSEXTEND = "native"
>> +
>> --
>> 1.7.3.2
>>
>>
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>




More information about the Openembedded-devel mailing list