summaryrefslogtreecommitdiff
path: root/packages/libffi
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2008-12-17 00:37:39 +0100
committerKoen Kooi <koen@openembedded.org>2008-12-17 00:37:39 +0100
commitd530720d06a136c1975de8e56e58a74947cde4ae (patch)
treece11fa3ac5a237f0882c3b99714cc7f6023dcf47 /packages/libffi
parent02bd45e7ba66e6092d9e84a39ae88eb64d6d9d24 (diff)
libffi: add hack to build libffi on softfp machines
* see http://lists.o-hand.com/poky/0583.html for a problem description
Diffstat (limited to 'packages/libffi')
-rw-r--r--packages/libffi/libffi_2.0+gcc4.3.2.bb14
1 files changed, 14 insertions, 0 deletions
diff --git a/packages/libffi/libffi_2.0+gcc4.3.2.bb b/packages/libffi/libffi_2.0+gcc4.3.2.bb
index 50b1e5fa06..5a2ae1ae9b 100644
--- a/packages/libffi/libffi_2.0+gcc4.3.2.bb
+++ b/packages/libffi/libffi_2.0+gcc4.3.2.bb
@@ -1,3 +1,4 @@
+require packages/gcc/gcc-common.inc
SECTION = "libs"
DESCRIPTION = "Foreign Function Interface library"
LICENSE = "libffi"
@@ -39,11 +40,24 @@ EXTRA_OECONF = "--with-gnu-ld \
--enable-long-long \
--enable-symvers=gnu \
--program-prefix=${TARGET_PREFIX} \
+ ${EXTRA_OECONF_FPU} \
${EXTRA_OECONF_PATHS}"
EXTRA_OECONF_PATHS = "--with-local-prefix=${prefix}/local \
--with-gxx-include-dir=${includedir}/c++/${PV}"
+# Build uclibc compilers without cxa_atexit support
+EXTRA_OECONF_append_linux = " --enable-__cxa_atexit"
+EXTRA_OECONF_append_linux-gnueabi = " --enable-__cxa_atexit"
+EXTRA_OECONF_append_linux-uclibc = " --disable-__cxa_atexit"
+EXTRA_OECONF_append_linux-uclibcgnueabi = " --disable-__cxa_atexit"
+EXTRA_OECONF_FPU = "${@get_gcc_fpu_setting(bb, d)}"
+
+#Somehow gcc doesn't set __SOFTFP__ when passing -mfloatabi=softp :(
+TARGET_CC_ARCH_append_armv6 = " -D__SOFTFP__"
+TARGET_CC_ARCH_append_armv7a = " -D__SOFTFP__"
+
+
do_configure () {
(cd ${S}/.. && gnu-configize) || die "failure running gnu-configize"
oe_runconf