1*4882a593SmuzhiyunSUMMARY = "A portable foreign function interface library" 2*4882a593SmuzhiyunHOMEPAGE = "http://sourceware.org/libffi/" 3*4882a593SmuzhiyunDESCRIPTION = "The `libffi' library provides a portable, high level programming interface to various calling \ 4*4882a593Smuzhiyunconventions. This allows a programmer to call any function specified by a call interface description at run \ 5*4882a593Smuzhiyuntime. FFI stands for Foreign Function Interface. A foreign function interface is the popular name for the \ 6*4882a593Smuzhiyuninterface that allows code written in one language to call code written in another language. The `libffi' \ 7*4882a593Smuzhiyunlibrary really only provides the lowest, machine dependent layer of a fully featured foreign function interface. \ 8*4882a593SmuzhiyunA layer must exist above `libffi' that handles type conversions for values passed between the two languages." 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunLICENSE = "MIT" 11*4882a593SmuzhiyunLIC_FILES_CHKSUM = "file://LICENSE;md5=32c0d09a0641daf4903e5d61cc8f23a8" 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunSRC_URI = "https://github.com/libffi/libffi/releases/download/v${PV}/${BPN}-${PV}.tar.gz \ 14*4882a593Smuzhiyun file://not-win32.patch \ 15*4882a593Smuzhiyun file://0001-arm-sysv-reverted-clang-VFP-mitigation.patch \ 16*4882a593Smuzhiyun " 17*4882a593SmuzhiyunSRC_URI[sha256sum] = "d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676" 18*4882a593SmuzhiyunUPSTREAM_CHECK_URI = "https://github.com/libffi/libffi/releases/" 19*4882a593SmuzhiyunUPSTREAM_CHECK_REGEX = "libffi-(?P<pver>\d+(\.\d+)+)\.tar" 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunEXTRA_OECONF += "--disable-builddir --disable-exec-static-tramp" 22*4882a593SmuzhiyunEXTRA_OECONF:class-native += "--with-gcc-arch=generic" 23*4882a593SmuzhiyunEXTRA_OEMAKE:class-target = "LIBTOOLFLAGS='--tag=CC'" 24*4882a593Smuzhiyuninherit autotools texinfo multilib_header 25*4882a593Smuzhiyun 26*4882a593Smuzhiyundo_install:append() { 27*4882a593Smuzhiyun oe_multilib_header ffi.h ffitarget.h 28*4882a593Smuzhiyun} 29*4882a593Smuzhiyun 30*4882a593SmuzhiyunFILES:${PN}-dev += "${libdir}/libffi-${PV}" 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun# Doesn't compile in MIPS16e mode due to use of hand-written 33*4882a593Smuzhiyun# assembly 34*4882a593SmuzhiyunMIPS_INSTRUCTION_SET = "mips" 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunBBCLASSEXTEND = "native nativesdk" 37