1config BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
2	bool
3	default y if BR2_arm || BR2_aarch64 || BR2_aarch64_be
4	default y if BR2_i386 || BR2_x86_64
5	default y if (BR2_mips || BR2_mipsel) && !BR2_MIPS_SOFT_FLOAT \
6		&& !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6
7	default y if BR2_powerpc
8	# -m32 flag is used for 32bit builds and host-luajit has
9	# limited architecture support
10	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
11	# Building for 64-bit target requires a 64-bit host
12	depends on !BR2_ARCH_IS_64 || BR2_HOSTARCH = "x86_64"
13
14config BR2_PACKAGE_LUAJIT
15	bool "luajit"
16	depends on !BR2_STATIC_LIBS # dlopen
17	# Luajit conflicts with the regular lua package
18	depends on !BR2_PACKAGE_LUA
19	# Luajit is only available for some target architectures, and
20	# has some complexity wrt 32/64. See luajit.mk for details.
21	depends on BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS
22	# luajit.mk uses the "-m32" compiler option to build 32bit
23	# binaries, so check if that option is supported. See
24	# luajit.mk for details.
25	select BR2_PACKAGE_HAS_LUAINTERPRETER
26	select BR2_PACKAGE_LUAINTERPRETER_ABI_VERSION_5_1
27	select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64
28	help
29	  LuaJIT implements the full set of language features defined
30	  by Lua 5.1. The virtual machine (VM) is API- and
31	  ABI-compatible to the standard Lua interpreter and can be
32	  deployed as a drop-in replacement.
33
34	  https://luajit.org/luajit.html
35
36if BR2_PACKAGE_LUAJIT
37
38config BR2_PACKAGE_PROVIDES_LUAINTERPRETER
39	default "luajit"
40
41config BR2_PACKAGE_LUAJIT_COMPAT52
42	bool "Lua 5.2 compatibility"
43	help
44	  Compile with Lua 5.2 compatibility.
45
46endif
47
48comment "luajit needs a toolchain w/ dynamic library"
49	depends on BR2_STATIC_LIBS
50