From 9ffc1757a1578832463d29f558914c3b489a3782 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 4 Feb 2016 16:22:50 +0000 Subject: libffi: ensure sysroot paths are not in libffi.pc Remove a previous patch and solve the problem in a different way, as the same root cause was causing the absolute sysroot path to appear in libffi.pc. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- .../libffi/libffi/fix-libffi.la-location.patch | 18 ------------------ meta/recipes-gnome/libffi/libffi/not-win32.patch | 22 ++++++++++++++++++++++ meta/recipes-gnome/libffi/libffi_3.2.1.bb | 2 +- 3 files changed, 23 insertions(+), 19 deletions(-) delete mode 100644 meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch create mode 100644 meta/recipes-gnome/libffi/libffi/not-win32.patch diff --git a/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch b/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch deleted file mode 100644 index 775bffc662..0000000000 --- a/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch +++ /dev/null @@ -1,18 +0,0 @@ - -Upstream-Status: Inappropriate - -Signed-off-by: Saul Wold - -Index: libffi-3.0.13/Makefile.am -=================================================================== ---- libffi-3.0.13.orig/Makefile.am -+++ libffi-3.0.13/Makefile.am -@@ -98,7 +98,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS) - - MAKEOVERRIDES= - --toolexeclib_LTLIBRARIES = libffi.la -+lib_LTLIBRARIES = libffi.la - noinst_LTLIBRARIES = libffi_convenience.la - - libffi_la_SOURCES = src/prep_cif.c src/types.c \ diff --git a/meta/recipes-gnome/libffi/libffi/not-win32.patch b/meta/recipes-gnome/libffi/libffi/not-win32.patch new file mode 100644 index 0000000000..1e90125edd --- /dev/null +++ b/meta/recipes-gnome/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-gnome/libffi/libffi_3.2.1.bb b/meta/recipes-gnome/libffi/libffi_3.2.1.bb index fd916caf7e..72e25fb9d5 100644 --- a/meta/recipes-gnome/libffi/libffi_3.2.1.bb +++ b/meta/recipes-gnome/libffi/libffi_3.2.1.bb @@ -10,7 +10,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b" SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ - file://fix-libffi.la-location.patch \ + file://not-win32.patch \ file://0001-mips-Use-compiler-internal-define-for-linux.patch \ " -- cgit v1.2.3