#
|
|
# Copyright (C) 2009-2016 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
include $(TOPDIR)/rules.mk
|
|
|
|
PKG_NAME:=libffi
|
|
PKG_VERSION:=3.4.2
|
|
PKG_RELEASE:=2
|
|
|
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
PKG_SOURCE_URL:=https://codeload.github.com/libffi/libffi/tar.gz/v$(PKG_VERSION)?
|
|
PKG_HASH:=0acbca9fd9c0eeed7e5d9460ae2ea945d3f1f3d48e13a4c54da12c7e0d23c313
|
|
|
|
PKG_LICENSE:=MIT
|
|
PKG_LICENSE_FILES:=LICENSE
|
|
|
|
PKG_FIXUP:=autoreconf
|
|
PKG_INSTALL:=1
|
|
PKG_BUILD_PARALLEL:=1
|
|
PKG_USE_MIPS16:=0
|
|
|
|
include $(INCLUDE_DIR)/package.mk
|
|
include $(INCLUDE_DIR)/host-build.mk
|
|
|
|
define Package/libffi
|
|
SECTION:=libs
|
|
CATEGORY:=Libraries
|
|
TITLE:=Foreign Function Interface (FFI) library
|
|
URL:=http://sourceware.org/libffi/
|
|
MAINTAINER:=Peter Wagner <tripolar@gmx.at>
|
|
endef
|
|
|
|
define Package/libffi/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.
|
|
endef
|
|
|
|
HOST_CONFIGURE_ARGS += \
|
|
--disable-shared \
|
|
--disable-debug \
|
|
--disable-docs \
|
|
--disable-multi-os-directory \
|
|
--disable-raw-api \
|
|
--disable-structs \
|
|
--with-pic
|
|
|
|
CONFIGURE_ARGS += \
|
|
--disable-debug \
|
|
--disable-docs \
|
|
--disable-multi-os-directory \
|
|
--disable-raw-api \
|
|
--disable-structs
|
|
|
|
define Build/InstallDev
|
|
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/lib/libffi.{so*,a,la} \
|
|
$(1)/usr/lib/
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \
|
|
$(1)/usr/lib/pkgconfig/
|
|
$(SED) 's,includedir=.*,includedir=$$$${prefix}/include,' $(1)/usr/lib/pkgconfig/libffi.pc
|
|
|
|
$(INSTALL_DIR) $(1)/usr/include
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/include/*.h \
|
|
$(1)/usr/include/
|
|
endef
|
|
|
|
define Package/libffi/install
|
|
$(INSTALL_DIR) $(1)/usr/lib
|
|
$(CP) \
|
|
$(PKG_INSTALL_DIR)/usr/lib/libffi.so.* \
|
|
$(1)/usr/lib/
|
|
endef
|
|
|
|
$(eval $(call HostBuild))
|
|
$(eval $(call BuildPackage,libffi))
|