1SUMMARY = "Just-In-Time Compiler for Lua" 2LICENSE = "MIT" 3LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=d739bb9250a55c124a545b588fd76771" 4HOMEPAGE = "http://luajit.org" 5 6PV = "2.1.0~beta3" 7SRCREV = "0ad60ccbc3768fa8e3e726858adf261950edbc22" 8SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1 \ 9 file://0001-Do-not-strip-automatically-this-leaves-the-stripping.patch \ 10 file://clang.patch \ 11 " 12 13S = "${WORKDIR}/git" 14 15inherit pkgconfig binconfig siteinfo 16 17BBCLASSEXTEND = "native" 18 19# http://luajit.org/install.html#cross 20# Host luajit needs to be compiled with the same pointer size 21# If you want to cross-compile to any 32 bit target on an x64 OS, 22# you need to install the multilib development package (e.g. 23# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part 24# (HOST_CC="gcc -m32"). 25BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS') != '32']}" 26 27# The lua makefiles expect the TARGET_SYS to be from uname -s 28# Values: Windows, Linux, Darwin, iOS, SunOS, PS3, GNU/kFreeBSD 29LUA_TARGET_OS = "Unknown" 30LUA_TARGET_OS_darwin = "Darwin" 31LUA_TARGET_OS_linux = "Linux" 32LUA_TARGET_OS_linux-gnueabi = "Linux" 33LUA_TARGET_OS_mingw32 = "Windows" 34 35# We don't want the lua buildsystem's compiler optimizations, or its 36# stripping, and we don't want it to pick up CFLAGS or LDFLAGS, as those apply 37# to both host and target compiles 38EXTRA_OEMAKE = "\ 39 Q= E='@:' \ 40 \ 41 CCOPT= CCOPT_x86= CFLAGS= LDFLAGS= TARGET_STRIP='@:' \ 42 \ 43 'TARGET_SYS=${LUA_TARGET_OS}' \ 44 \ 45 'CC=${CC}' \ 46 'TARGET_AR=${AR} rcus' \ 47 'TARGET_CFLAGS=${CFLAGS}' \ 48 'TARGET_LDFLAGS=${LDFLAGS}' \ 49 'TARGET_SHLDFLAGS=${LDFLAGS}' \ 50 'HOST_CC=${BUILD_CC}' \ 51 'HOST_CFLAGS=${BUILD_CFLAGS}' \ 52 \ 53 'PREFIX=${prefix}' \ 54 'MULTILIB=${baselib}' \ 55 'LDCONFIG=:' \ 56" 57 58do_compile () { 59 oe_runmake 60} 61 62# There's INSTALL_LIB and INSTALL_SHARE also, but the lua binary hardcodes the 63# '/share' and '/' + LUA_MULTILIB paths, so we don't want to break those 64# expectations. 65EXTRA_OEMAKEINST = "\ 66 'DESTDIR=${D}' \ 67 'INSTALL_BIN=${D}${bindir}' \ 68 'INSTALL_INC=${D}${includedir}/luajit-$(MAJVER).$(MINVER)' \ 69 'INSTALL_MAN=${D}${mandir}/man1' \ 70" 71do_install () { 72 oe_runmake ${EXTRA_OEMAKEINST} install 73 rmdir ${D}${datadir}/lua/5.* \ 74 ${D}${datadir}/lua \ 75 ${D}${libdir}/lua/5.* \ 76 ${D}${libdir}/lua 77} 78 79PACKAGES += 'luajit-common' 80 81# See the comment for EXTRA_OEMAKEINST. This is needed to ensure the hardcoded 82# paths are packaged regardless of what the libdir and datadir paths are. 83FILES_${PN} += "${prefix}/${baselib} ${prefix}/share" 84FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \ 85 ${libdir}/libluajit-5.1.so.${PV} \ 86" 87FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \ 88 ${libdir}/libluajit-5.1.so \ 89 ${libdir}/pkgconfig/luajit.pc \ 90" 91FILES_luajit-common = "${datadir}/${BPN}-${PV}" 92 93# mips64/ppc/ppc64/riscv64 is not supported in this release 94COMPATIBLE_HOST_mipsarchn32 = "null" 95COMPATIBLE_HOST_mipsarchn64 = "null" 96COMPATIBLE_HOST_powerpc = "null" 97COMPATIBLE_HOST_powerpc64 = "null" 98COMPATIBLE_HOST_powerpc64le = "null" 99COMPATIBLE_HOST_riscv64 = "null" 100COMPATIBLE_HOST_riscv32 = "null" 101