diff options
author | Robert Schuster <thebohemian@gmx.net> | 2009-01-13 21:00:54 +0100 |
---|---|---|
committer | Robert Schuster <thebohemian@gmx.net> | 2009-01-13 21:00:54 +0100 |
commit | 963f2ed994ed5dd7e2959b8f7c6275cdb79dd4e5 (patch) | |
tree | 1cfa1b7878ce312354fddaeb740ff063c56fedf4 | |
parent | 71cae72fde9df6564ccf9ed6b8ace6163f422be1 (diff) |
libffi 3.0.8: New recipe.
checksums.ini: Added entry for libffi 3.0.8.
-rw-r--r-- | conf/checksums.ini | 4 | ||||
-rw-r--r-- | packages/libffi/libffi_3.0.8.bb | 81 |
2 files changed, 85 insertions, 0 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini index 93135b6353..90d62eabf4 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -11294,6 +11294,10 @@ sha256=a2f309c702ee72967676d96b1a9d06806d069fde8e88076200cca6479c3d3c38 md5=0aa142335a8a00c32bb6c7dbfe95fc24 sha256=a2f309c702ee72967676d96b1a9d06806d069fde8e88076200cca6479c3d3c38 +[ftp://sourceware.org/pub/libffi/libffi-3.0.8.tar.gz] +md5=188a4f79fdac2310044b44b7d3918ef9 +sha256=2c7c5b88a68fb362262889ba25ef25dc27864b7bbf03547a8a36b8d567569406 + [http://klaus.geekserver.net/libflv/libflv.tar.gz] md5=5eb6b38393d81f16fb4155fe406e527c sha256=b53afe2a88fa24bdd53e2a3dd51ab660b89b46b1ba4918735d7331b2e56548d6 diff --git a/packages/libffi/libffi_3.0.8.bb b/packages/libffi/libffi_3.0.8.bb new file mode 100644 index 0000000000..0bad49bf23 --- /dev/null +++ b/packages/libffi/libffi_3.0.8.bb @@ -0,0 +1,81 @@ +require packages/gcc/gcc-common.inc + +SECTION = "libs" +DESCRIPTION = "Foreign Function Interface library" +LICENSE = "libffi" +PRIORITY = "optional" + +inherit autotools gettext pkgconfig + +PR = "r0" + +S = "${WORKDIR}/${P}" + +B = "${S}/build.${HOST_SYS}.${TARGET_SYS}" + +PACKAGES = "${PN}-dbg ${PN} ${PN}-dev ${PN}-doc" + +FILES_${PN} = "${libdir}/libffi.so.*" + +FILES_${PN}-dev = "${includedir}/${TARGET_SYS}/ffi* \ + ${libdir}/libffi.a \ + ${libdir}/libffi.la \ + ${libdir}/libffi.so \ + ${libdir}/pkgconfig \ +" + +SRC_URI = "ftp://sourceware.org/pub/libffi/${P}.tar.gz" + +EXTRA_OECONF = "--with-gnu-ld \ + --enable-shared \ + --enable-target-optspace \ + --enable-languages=c,c++,f77 \ + --enable-threads=posix \ + --enable-multilib \ + --enable-c99 \ + --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_compile_append() { + sed -i -e"s|\\${libdir}/${P}/include|\\${includedir}/${TARGET_SYS}/|" libffi.pc +} + +do_install_append() { + install_libffi_headers +} + +# Separate function which can be disabled in the -native recipe. +install_libffi_headers() { + # follow Debian and move this to $includedir/${TARGET_SYS} + install -d ${D}${includedir}/${TARGET_SYS} + mv ${D}${libdir}/${P}/include/ffitarget.h ${D}${includedir}/${TARGET_SYS} + mv ${D}${libdir}/${P}/include/ffi.h ${D}${includedir}/${TARGET_SYS} +} + +ffi_include = "ffi.h ffitarget.h" + +do_stage () { + oe_libinstall -so -C .libs libffi ${STAGING_LIBDIR} + + mkdir -p ${STAGING_INCDIR}/ + for i in ${ffi_include}; do + install -m 0644 include/$i ${STAGING_INCDIR}/ + done +} |