diff options
Diffstat (limited to 'package/libffi/libffi.mk')
-rw-r--r-- | package/libffi/libffi.mk | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index 64b3eb412..9fb86d71c 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -4,12 +4,17 @@ # ############################################################# -LIBFFI_VERSION = 3.0.11 -LIBFFI_SITE = ftp://sources.redhat.com/pub/libffi/ +LIBFFI_VERSION = bcc0c28001b6d427d5cd8037d2e3c892babc6b4c +LIBFFI_SITE = http://github.com/atgreen/libffi/tarball/$(LIBFFI_VERSION) LIBFFI_LICENSE = MIT LIBFFI_LICENSE_FILES = LICENSE LIBFFI_INSTALL_STAGING = YES +# We're using a version from Git which strangely bundles a generated +# configure script, but it's broken (doesn't generate the libffi.pc +# file). +LIBFFI_AUTORECONF = YES + # Newer CS MIPS toolchains use a different (compact) eh_frame format # libffi don't like them, just switch to the older format ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201209)$(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201203),y) @@ -17,9 +22,11 @@ LIBFFI_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -mno-compact-eh" endif # Move the headers to the usual location, and adjust the .pc file -# accordingly +# accordingly. For some reason, the libffi build system forgets to +# install the .pc file, so we do it manually. define LIBFFI_MOVE_STAGING_HEADERS mv $(STAGING_DIR)/usr/lib/libffi-*/include/*.h $(STAGING_DIR)/usr/include/ + $(INSTALL) -D -m 0644 $(@D)/libffi.pc $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc $(SED) '/^includedir.*/d' $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc $(SED) '/^Cflags:.*/d' $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc rm -rf $(TARGET_DIR)/usr/lib/libffi-* @@ -31,13 +38,23 @@ LIBFFI_POST_INSTALL_STAGING_HOOKS += LIBFFI_MOVE_STAGING_HEADERS define LIBFFI_MOVE_TARGET_HEADERS install -d $(TARGET_DIR)/usr/include/ mv $(TARGET_DIR)/usr/lib/libffi-*/include/*.h $(TARGET_DIR)/usr/include/ - $(SED) '/^includedir.*/d' $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc - $(SED) '/^Cflags:.*/d' $(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc rm -rf $(TARGET_DIR)/usr/lib/libffi-* endef LIBFFI_POST_INSTALL_TARGET_HOOKS += LIBFFI_MOVE_TARGET_HEADERS +# We're using a version from Git which strangely bundles a generated +# configure script, but it's broken (doesn't generate the libffi.pc +# file). +HOST_LIBFFI_AUTORECONF = YES + +# For some reason, the libffi build system forgets to install the .pc +# file, so we do it manually. +define HOST_LIBFFI_INSTALL_PC_FILE + $(INSTALL) -D $(@D)/libffi.pc $(HOST_DIR)/usr/lib/pkgconfig/libffi.pc +endef + +HOST_LIBFFI_POST_INSTALL_HOOKS += HOST_LIBFFI_INSTALL_PC_FILE + $(eval $(autotools-package)) $(eval $(host-autotools-package)) - |