kumquat-buildroot/package/luajit/Config.in
Jörg Krause c72a2529aa package/luajit: disable for mips{32,64}r6
LuaJIT does not have support for MIPS Release 6 [1]. If LuaJIT is
invoked with the option `-b -a mips` to save the bytecode for the MIPS
architecture it generates object files with the MIPS32 Release 1
instruction set.

GCC added support for MIPS32R6 in version 5. However, object files for MIPS32R1
cannot be linked with object for MIPS32R6.

That's why building the package luvi fails for MIPS32R6, where object files
created with GCC are linked with object files created with LuaJIT with
the following linker error:

```
linking mips:isa32 module with previous mips:isa32r6 modules
```

Disable LuaJIT for MIPS32 and MIPS64 R6 to fix the build issue with the
luvi package.

Fixes:
http://autobuild.buildroot.net/results/e01/e017671c33314e5bf2d7fc4920f6c0e64a132383/
http://autobuild.buildroot.net/results/35f/35f558453c45a27367e80e9b8cbe3bd2dccbfd54/
http://autobuild.buildroot.net/results/8e0/8e001112b1678f9fb1c198c84184cd6f5fc3d004/

[1] http://www.freelists.org/post/luajit/Support-for-MIPS32r6,1

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-08-31 23:31:41 +02:00

40 lines
1.2 KiB
Plaintext

config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
bool
default y if BR2_i386 || \
(BR2_x86_64 && BR2_HOSTARCH='x86_64') || \
BR2_powerpc || BR2_arm || BR2_armeb || \
((BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT && \
!BR2_mips_32r6 && !BR2_mips_64r6)
config BR2_PACKAGE_LUAJIT
bool "luajit"
select BR2_PACKAGE_HAS_LUAINTERPRETER
depends on !BR2_STATIC_LIBS # dlopen
# Luajit is only available for some target architectures, and
# has some complexity wrt 32/64. See luajit.mk for details.
depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
# luajit.mk uses the "-m32" compiler option to build 32bit
# binaries, so check if that option is supported. See
# luajit.mk for details.
select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64
help
LuaJIT implements the full set of language features defined
by Lua 5.1. The virtual machine (VM) is API- and
ABI-compatible to the standard Lua interpreter and can be
deployed as a drop-in replacement.
http://luajit.org/
if BR2_PACKAGE_LUAJIT
config BR2_PACKAGE_PROVIDES_LUAINTERPRETER
default "luajit"
config BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION
default "5.1"
endif
comment "luajit needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS