blob: 28a29162dfe6f470a1d5500f08135adc48c98e02 [file] [log] [blame]
#############################################################
#
# libffi
#
#############################################################
LIBFFI_VERSION = 3.0.12
LIBFFI_SITE = ftp://sourceware.org/pub/libffi/
LIBFFI_LICENSE = MIT
LIBFFI_LICENSE_FILES = LICENSE
LIBFFI_INSTALL_STAGING = YES
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)
LIBFFI_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -mno-compact-eh"
endif
# Move the headers to the usual location, and adjust the .pc file
# accordingly.
define LIBFFI_MOVE_STAGING_HEADERS
mv $(STAGING_DIR)/usr/lib/libffi-*/include/*.h $(STAGING_DIR)/usr/include/
$(SED) '/^includedir.*/d' -e '/^Cflags:.*/d' \
$(STAGING_DIR)/usr/lib/pkgconfig/libffi.pc
rm -rf $(TARGET_DIR)/usr/lib/libffi-*
endef
LIBFFI_POST_INSTALL_STAGING_HOOKS += LIBFFI_MOVE_STAGING_HEADERS
# Similar for target headers
define LIBFFI_MOVE_TARGET_HEADERS
install -d $(TARGET_DIR)/usr/include/
mv $(TARGET_DIR)/usr/lib/libffi-*/include/*.h $(TARGET_DIR)/usr/include/
rm -rf $(TARGET_DIR)/usr/lib/libffi-*
endef
LIBFFI_POST_INSTALL_TARGET_HOOKS += LIBFFI_MOVE_TARGET_HEADERS
HOST_LIBFFI_AUTORECONF = YES
$(eval $(autotools-package))
$(eval $(host-autotools-package))