Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 1 | SUMMARY = "A portable foreign function interface library" |
| 2 | HOMEPAGE = "http://sourceware.org/libffi/" |
| 3 | DESCRIPTION = "The `libffi' library provides a portable, high level programming interface to various calling \ |
| 4 | conventions. This allows a programmer to call any function specified by a call interface description at run \ |
| 5 | time. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the \ |
| 6 | interface that allows code written in one language to call code written in another language. The `libffi' \ |
| 7 | library really only provides the lowest, machine dependent layer of a fully featured foreign function interface. \ |
| 8 | A layer must exist above `libffi' that handles type conversions for values passed between the two languages." |
| 9 | |
| 10 | LICENSE = "MIT" |
Andrew Geissler | 5f35090 | 2021-07-23 13:09:54 -0400 | [diff] [blame] | 11 | LIC_FILES_CHKSUM = "file://LICENSE;md5=679b5c9bdc79a2b93ee574e193e7a7bc" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 12 | |
| 13 | SRC_URI = "https://github.com/libffi/libffi/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ |
| 14 | file://not-win32.patch \ |
Andrew Geissler | 09209ee | 2020-12-13 08:44:15 -0600 | [diff] [blame] | 15 | file://0001-arm-sysv-reverted-clang-VFP-mitigation.patch \ |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 16 | " |
Andrew Geissler | 5f35090 | 2021-07-23 13:09:54 -0400 | [diff] [blame] | 17 | SRC_URI[sha256sum] = "540fb721619a6aba3bdeef7d940d8e9e0e6d2c193595bc243241b77ff9e93620" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 18 | UPSTREAM_CHECK_URI = "https://github.com/libffi/libffi/releases/" |
| 19 | UPSTREAM_CHECK_REGEX = "libffi-(?P<pver>\d+(\.\d+)+)\.tar" |
| 20 | |
Andrew Geissler | 5f35090 | 2021-07-23 13:09:54 -0400 | [diff] [blame] | 21 | EXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp" |
Andrew Geissler | 615f2f1 | 2022-07-15 14:00:58 -0500 | [diff] [blame^] | 22 | EXTRA_OECONF:class-native += "--with-gcc-arch=generic" |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 23 | EXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 24 | inherit autotools texinfo multilib_header |
| 25 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 26 | do_install:append() { |
Andrew Geissler | 635e0e4 | 2020-08-21 15:58:33 -0500 | [diff] [blame] | 27 | oe_multilib_header ffi.h ffitarget.h |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 28 | } |
| 29 | |
Patrick Williams | 213cb26 | 2021-08-07 19:21:33 -0500 | [diff] [blame] | 30 | FILES:${PN}-dev += "${libdir}/libffi-${PV}" |
Andrew Geissler | 82c905d | 2020-04-13 13:39:40 -0500 | [diff] [blame] | 31 | |
| 32 | # Doesn't compile in MIPS16e mode due to use of hand-written |
| 33 | # assembly |
| 34 | MIPS_INSTRUCTION_SET = "mips" |
| 35 | |
| 36 | BBCLASSEXTEND = "native nativesdk" |