[oe] [meta-oe][PATCH v1 2/4] luajit: Add luajit 2.1.0-beta3 recipe

Khem Raj raj.khem at gmail.com
Wed Feb 19 23:07:37 UTC 2020



On 2/17/20 9:25 PM, Leo Yan wrote:
> Since luajit 2.1.0-beta3 can support architecture aarch64 and the old
> misses to support aarch64, this patch adds recipe for luajit
> 2.1.0-beta3 building.
> 
> Signed-off-by: Leo Yan <leo.yan at linaro.org>
> ---
>   .../recipes-devtools/luajit/luajit_2.1.0.bb   | 92 +++++++++++++++++++
>   1 file changed, 92 insertions(+)
>   create mode 100644 meta-oe/recipes-devtools/luajit/luajit_2.1.0.bb
> 
> diff --git a/meta-oe/recipes-devtools/luajit/luajit_2.1.0.bb b/meta-oe/recipes-devtools/luajit/luajit_2.1.0.bb
> new file mode 100644
> index 000000000..167b5d229
> --- /dev/null
> +++ b/meta-oe/recipes-devtools/luajit/luajit_2.1.0.bb
> @@ -0,0 +1,92 @@
> +SUMMARY = "Just-In-Time Compiler for Lua"
> +LICENSE = "MIT"
> +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=10a96c93403affcc34765f4c2612bc22"
> +HOMEPAGE = "http://luajit.org"
> +
> +PV .= "+git${SRCPV}"

I think its best to call it 2.0.5+${SRCPV}

> +SRCREV = "v2.1.0-beta3"

Please use corresponding SHA1 here instead of tags

> +SRC_URI = "git://luajit.org/git/luajit-2.0.git;protocol=http;branch=v2.1"
> +
> +S = "${WORKDIR}/git"
> +
> +inherit pkgconfig binconfig siteinfo
> +
> +BBCLASSEXTEND = "native"
> +
> +# http://luajit.org/install.html#cross
> +# Host luajit needs to be compiled with the same pointer size
> +# If you want to cross-compile to any 32 bit target on an x64 OS,
> +# you need to install the multilib development package (e.g.
> +# libc6-dev-i386 on Debian/Ubuntu) and build a 32 bit host part
> +# (HOST_CC="gcc -m32").
> +BUILD_CC_ARCH_append = " ${@['-m32',''][d.getVar('SITEINFO_BITS') != '32']}"
> +
> +# The lua makefiles expect the TARGET_SYS to be from uname -s
> +# Values: Windows, Linux, Darwin, iOS, SunOS, PS3, GNU/kFreeBSD
> +LUA_TARGET_OS = "Unknown"
> +LUA_TARGET_OS_darwin = "Darwin"
> +LUA_TARGET_OS_linux = "Linux"
> +LUA_TARGET_OS_linux-gnueabi = "Linux"
> +LUA_TARGET_OS_mingw32 = "Windows"
> +
> +# We don't want the lua buildsystem's compiler optimizations, or its
> +# stripping, and we don't want it to pick up CFLAGS or LDFLAGS, as those apply
> +# to both host and target compiles
> +EXTRA_OEMAKE = "\
> +    Q= E='@:' \
> +    \
> +    CCOPT= CCOPT_x86= CFLAGS= LDFLAGS= TARGET_STRIP='@:' \
> +    \
> +    'TARGET_SYS=${LUA_TARGET_OS}' \
> +    \
> +    'CC=${CC}' \
> +    'TARGET_AR=${AR} rcus' \
> +    'TARGET_CFLAGS=${CFLAGS}' \
> +    'TARGET_LDFLAGS=${LDFLAGS}' \
> +    'TARGET_SHLDFLAGS=${LDFLAGS}' \
> +    'HOST_CC=${BUILD_CC}' \
> +    'HOST_CFLAGS=${BUILD_CFLAGS}' \
> +    \
> +    'PREFIX=${prefix}' \
> +    'MULTILIB=${baselib}' \
> +    'LDCONFIG=:' \
> +"
> +
> +do_compile () {
> +    oe_runmake
> +}
> +
> +# There's INSTALL_LIB and INSTALL_SHARE also, but the lua binary hardcodes the
> +# '/share' and '/' + LUA_MULTILIB paths, so we don't want to break those
> +# expectations.
> +EXTRA_OEMAKEINST = "\
> +    'DESTDIR=${D}' \
> +    'INSTALL_BIN=${D}${bindir}' \
> +    'INSTALL_INC=${D}${includedir}/luajit-$(MAJVER).$(MINVER)' \
> +    'INSTALL_MAN=${D}${mandir}/man1' \
> +"
> +do_install () {
> +    oe_runmake ${EXTRA_OEMAKEINST} install
> +    rmdir ${D}${datadir}/lua/5.* \
> +          ${D}${datadir}/lua \
> +          ${D}${libdir}/lua/5.* \
> +          ${D}${libdir}/lua
> +}
> +
> +PACKAGES += 'luajit-common'
> +
> +# See the comment for EXTRA_OEMAKEINST. This is needed to ensure the hardcoded
> +# paths are packaged regardless of what the libdir and datadir paths are.
> +FILES_${PN} += "${prefix}/${baselib} ${prefix}/share"
> +FILES_${PN} += "${libdir}/libluajit-5.1.so.2 \
> +    ${libdir}/libluajit-5.1.so.${PV} \
> +"
> +FILES_${PN}-dev += "${libdir}/libluajit-5.1.a \
> +    ${libdir}/libluajit-5.1.so \
> +    ${libdir}/pkgconfig/luajit.pc \
> +"
> +FILES_luajit-common = "${datadir}/${BPN}-${PV}"
> +
> +# mips64 is not supported in this release
> +COMPATIBLE_HOST_mipsarchn32 = "null"
> +COMPATIBLE_HOST_mipsarchn64 = "null"

sync this with latest changes to 5.0.4 recipe there are more arches 
where it is not ported yet.

Also delete the old recipe in the same patch.

> 


More information about the Openembedded-devel mailing list