summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2011-01-08 14:15:24 (GMT)
committer Thomas Petazzoni <thomas.petazzoni@free-electrons.com>2011-01-25 07:59:56 (GMT)
commit76d9b3e8d7ac5bb5e1b6efd30be339e03c144597 (patch)
tree8cf4dc4e38d07916233d4db737922fe95276ed5c
parent05ac95e04d0b9867194492f75f4713498e2ab7df (diff)
downloadbuildroot-76d9b3e8d7ac5bb5e1b6efd30be339e03c144597.tar.gz
buildroot-76d9b3e8d7ac5bb5e1b6efd30be339e03c144597.tar.bz2
libffi: new package
libffi is needed by the Python interpreter. 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. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--package/Config.in1
-rw-r--r--package/libffi/Config.in9
-rw-r--r--package/libffi/libffi.mk33
3 files changed, 43 insertions, 0 deletions
diff --git a/package/Config.in b/package/Config.in
index 48f245c..4f1621b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -327,6 +327,7 @@ source "package/libcap/Config.in"
source "package/libdaemon/Config.in"
source "package/libelf/Config.in"
source "package/libevent/Config.in"
+source "package/libffi/Config.in"
source "package/libglib2/Config.in"
source "package/liboil/Config.in"
source "package/libsigc/Config.in"
diff --git a/package/libffi/Config.in b/package/libffi/Config.in
new file mode 100644
index 0000000..7211f8f
--- /dev/null
+++ b/package/libffi/Config.in
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_LIBFFI
+ bool "libffi"
+ help
+ 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.
+
+ http://sourceware.org/libffi/
diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk
new file mode 100644
index 0000000..0c5184d
--- /dev/null
+++ b/package/libffi/libffi.mk
@@ -0,0 +1,33 @@
+#############################################################
+#
+# libffi
+#
+#############################################################
+
+LIBFFI_VERSION = 3.0.9
+LIBFFI_SITE = ftp://sources.redhat.com/pub/libffi/
+
+LIBFFI_INSTALL_STAGING = YES
+
+# 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 -i '/^includedir.*/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/
+ sed -i '/^includedir.*/d' $(TARGET_DIR)/usr/lib/pkgconfig/libffi.pc
+ rm -rf $(TARGET_DIR)/usr/lib/libffi-*
+endef
+
+LIBFFI_POST_INSTALL_TARGET_HOOKS += LIBFFI_MOVE_TARGET_HEADERS
+
+$(eval $(call AUTOTARGETS,package,libffi))
+