1个稳定版本
使用旧的Rust 2015
2.0.50 | 2017年12月1日 |
---|
#1128 在 编程语言
2MB
55K SLoC
包含 (ELF可执行文件/库,465KB) src/LuaJIT-2.0.5/src/luajit,(ELF可执行文件/库,140KB) src/LuaJIT-2.0.5/src/host/minilua,(ELF可执行文件/库,95KB) src/LuaJIT-2.0.5/src/host/buildvm
luajit-sys
关于此库
此库提供对Lua API的系统绑定。库是静态链接的。当前版本为 2.0.5
。Cargo的版本号是 2.0.50
(如 2.0.50
,但Cargo不允许4位版本号)。如果Rust版本(即此库)有更改,则最后一个数字是保留的。然而,从技术上讲,这种情况不应该发生。
您可以为LuaJIT的新版本更新此库 但是
如果您更新Lua,则需要
- delete the /docs folder, useless for this
- delete the /src/
- run `make amalg` once (manually)
- run `find . -type f -name '*.o' -delete` to delete the object files
这将生成 ljamalg.c
文件,这对于构建此库非常重要。否则,您将无法构建库,因为LuaJIT将抱怨缺少 lj_ffdef.h
。 lj_ffdef.h
(可能) 在构建时生成,然而LuaJIT的Makefile难以阅读,我看不到文件是在哪里生成的,LuaJIT的开发人员只是不想提供任何答案,因为他们认为 make
是最好的构建系统,从未听说过cargo。
此解决方案会消耗更多内存,但至少库可以构建。
现在需要调整的只有标志。我已经尝试重新导出所有可能的LuaJIT编译标志,使其与Rust兼容,但这还是一个正在进行中的工作。
cargo features
选择您的目标架构(只能选择一个,否则无法编译)
arch_arm = []
arch_mips = []
arch_mipsel = []
arch_powerpc = []
arch_powerpc_spe = []
arch_x64 = []
arch_x86 = []
默认为 arch_x64
。然后选择您的附加标志
force_32_bit
extra_warnings
enable_lua52_compat
disable_jit
nummode_1|nummode_2
use_sysmalloc
use_valgrind
use_gdb_jit
use_apicheck
use_assert
optimize_size
ps3
cellos_lv2
有关信息,请参阅 Cargo.toml
文件。
与 rlua
和 hlua
的兼容性
我将尝试让 rlua
和 hlua
运作。然而,这个库目前使用 Lua 5.1 API,而 hlua
使用 5.2,rlua
使用 5.3 - 我不知道这些 API 是否兼容。