1#![allow(non_camel_case_types, non_snake_case, dead_code)]
4#![allow(clippy::missing_safety_doc)]
5#![doc(test(attr(deny(warnings))))]
6#![cfg_attr(docsrs, feature(doc_cfg))]
7
8use std::os::raw::c_int;
9
10#[cfg(feature = "lua-factorio")]
11extern crate link_cplusplus;
12
13#[cfg(any(feature = "lua54", doc))]
14pub use lua54::*;
15
16#[cfg(any(feature = "lua53", doc))]
17pub use lua53::*;
18
19#[cfg(any(feature = "lua52", doc))]
20pub use lua52::*;
21
22#[cfg(any(feature = "lua51", feature = "luajit", doc))]
23pub use lua51::*;
24
25#[cfg(any(feature = "luau", doc))]
26pub use luau::*;
27
28#[cfg(feature = "lua-factorio")]
29pub use lua_factorio::*;
30
31#[cfg(any(
32 feature = "lua54",
33 feature = "lua53",
34 feature = "lua52",
35 feature = "lua-factorio"
36))]
37#[doc(hidden)]
38pub const LUA_MAX_UPVALUES: c_int = 255;
39
40#[cfg(any(feature = "lua51", all(feature = "luajit", not(feature = "vendored"))))]
41#[doc(hidden)]
42pub const LUA_MAX_UPVALUES: c_int = 60;
43
44#[cfg(all(feature = "luajit", feature = "vendored"))]
45#[doc(hidden)]
46pub const LUA_MAX_UPVALUES: c_int = 120;
47
48#[cfg(feature = "luau")]
49#[doc(hidden)]
50pub const LUA_MAX_UPVALUES: c_int = 200;
51
52#[doc(hidden)]
55pub const LUA_TRACEBACK_STACK: c_int = 11;
56
57#[cfg(all(any(
61 target_arch = "x86",
62 target_arch = "arm",
63 target_arch = "mips",
64 target_arch = "powerpc",
65 target_arch = "powerpc64",
66 target_arch = "sparc",
67 target_arch = "asmjs",
68 target_arch = "wasm32",
69 target_arch = "hexagon",
70 all(target_arch = "riscv32", not(target_os = "espidf")),
71 all(target_arch = "xtensa", not(target_os = "espidf")),
72)))]
73#[doc(hidden)]
74pub const SYS_MIN_ALIGN: usize = 8;
75#[cfg(all(any(
76 target_arch = "x86_64",
77 target_arch = "aarch64",
78 target_arch = "mips64",
79 target_arch = "s390x",
80 target_arch = "sparc64",
81 target_arch = "riscv64",
82 target_arch = "wasm64",
83)))]
84#[doc(hidden)]
85pub const SYS_MIN_ALIGN: usize = 16;
86#[cfg(all(any(
88 all(target_arch = "riscv32", target_os = "espidf"),
89 all(target_arch = "xtensa", target_os = "espidf"),
90)))]
91#[doc(hidden)]
92pub const SYS_MIN_ALIGN: usize = 4;
93
94#[macro_use]
95mod macros;
96
97#[cfg(any(feature = "lua54", doc))]
98#[cfg_attr(docsrs, doc(cfg(feature = "lua54")))]
99pub mod lua54;
100
101#[cfg(any(feature = "lua53", doc))]
102#[cfg_attr(docsrs, doc(cfg(feature = "lua53")))]
103pub mod lua53;
104
105#[cfg(any(feature = "lua52", doc))]
106#[cfg_attr(docsrs, doc(cfg(feature = "lua52")))]
107pub mod lua52;
108
109#[cfg(any(feature = "lua51", feature = "luajit", doc))]
110#[cfg_attr(docsrs, doc(cfg(any(feature = "lua51", feature = "luajit"))))]
111pub mod lua51;
112
113#[cfg(any(feature = "luau", doc))]
114#[cfg_attr(docsrs, doc(cfg(feature = "luau")))]
115pub mod luau;
116
117#[cfg(feature = "lua-factorio")]
118pub mod lua_factorio;