From a2c43ffe55e022cb5621d549c8aae914c6fa54a1 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 4 Feb 2016 16:22:51 +0000 Subject: libffi: move from recipes-gnome to recipes-support Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- ...ps-Use-compiler-internal-define-for-linux.patch | 32 ++++++++++++++++++++++ meta/recipes-support/libffi/libffi/not-win32.patch | 22 +++++++++++++++ meta/recipes-support/libffi/libffi_3.2.1.bb | 26 ++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch create mode 100644 meta/recipes-support/libffi/libffi/not-win32.patch create mode 100644 meta/recipes-support/libffi/libffi_3.2.1.bb (limited to 'meta/recipes-support/libffi') diff --git a/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch b/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch new file mode 100644 index 0000000000..db96e63547 --- /dev/null +++ b/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch @@ -0,0 +1,32 @@ +From a5efaa96fd934eb245c234a5275fcf62698ef986 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Thu, 2 Apr 2015 21:38:03 -0700 +Subject: [PATCH] mips: Use compiler internal define for linux + +__linux__ is defined by compiler when building for +linux platforms, lets use it + + +Upstream-Status: Pending + +Signed-off-by: Khem Raj +--- + src/mips/ffitarget.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/mips/ffitarget.h b/src/mips/ffitarget.h +index 717d659..6faa358 100644 +--- a/src/mips/ffitarget.h ++++ b/src/mips/ffitarget.h +@@ -32,7 +32,7 @@ + #error "Please do not include ffitarget.h directly into your source. Use ffi.h instead." + #endif + +-#ifdef linux ++#ifdef __linux__ + # include + #elif defined(__rtems__) + /* +-- +2.1.4 + diff --git a/meta/recipes-support/libffi/libffi/not-win32.patch b/meta/recipes-support/libffi/libffi/not-win32.patch new file mode 100644 index 0000000000..1e90125edd --- /dev/null +++ b/meta/recipes-support/libffi/libffi/not-win32.patch @@ -0,0 +1,22 @@ +libffi's configure assumes that cross-compiled builds are complicated and +introduces convoluted path manipulation involving gcc search paths to the +install paths, resulting in paths like -L/usr/lib/../lib/ appearing in +libffi.pc. When pkg-config is then used to obtain the linker flags for libffi +it can't tell that this path is on the default search path and returns +$SYSROOT/usr/lib/../lib which then gets written all over the target sysroot. +This then means the sstate can't be shared and triggers QA errors. + +As this block is generally pointless, disable it. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +--- a/configure.ac~ 2014-11-12 11:56:51.000000000 +0000 ++++ b/configure.ac 2016-02-04 14:02:53.765710532 +0000 +@@ -593,5 +593,5 @@ + # These variables are only ever used when we cross-build to X86_WIN32. + # And we only support this with GCC, so... +-if test "x$GCC" = "xyes"; then ++if false; then + if test -n "$with_cross_host" && + test x"$with_cross_host" != x"no"; then \ No newline at end of file diff --git a/meta/recipes-support/libffi/libffi_3.2.1.bb b/meta/recipes-support/libffi/libffi_3.2.1.bb new file mode 100644 index 0000000000..72e25fb9d5 --- /dev/null +++ b/meta/recipes-support/libffi/libffi_3.2.1.bb @@ -0,0 +1,26 @@ +SUMMARY = "A portable foreign function interface library" +DESCRIPTION = "The `libffi' library provides a portable, high level programming interface to various calling \ +conventions. This allows a programmer to call any function specified by a call interface description at run \ +time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the \ +interface that allows code written in one language to call code written in another language. The `libffi' \ +library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. \ +A layer must exist above `libffi' that handles type conversions for values passed between the two languages." + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b" + +SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ + file://not-win32.patch \ + file://0001-mips-Use-compiler-internal-define-for-linux.patch \ + " + +SRC_URI[md5sum] = "83b89587607e3eb65c70d361f13bab43" +SRC_URI[sha256sum] = "d06ebb8e1d9a22d19e38d63fdb83954253f39bedc5d46232a05645685722ca37" + +EXTRA_OECONF += "--disable-builddir" + +inherit autotools texinfo + +FILES_${PN}-dev += "${libdir}/libffi-${PV}" + +BBCLASSEXTEND = "native nativesdk" -- cgit 1.2.3-korg