Merge pull request #1 from kavika13/main

Update to zig 14 build system
This commit is contained in:
Andrew Kelley 2025-05-16 18:40:28 -04:00 committed by GitHub
commit 75b67d3cae
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 24 additions and 22 deletions

View file

@ -35,5 +35,5 @@ const lua_dep = b.dependency("lua", .{
.target = target,
.release = optimize != .Debug,
});
const lua_lib = lua_dep.artifact("lua");
const lua_lib = lua_dep.artifact(if (target.result.os.tag == .windows) "lua54" else "lua");
```

View file

@ -19,17 +19,17 @@ pub fn build(b: *Build) !void {
const build_shared = b.option(bool, "shared", "build as shared library") orelse target.result.isMinGW();
const use_readline =
if (target.result.os.tag == .linux)
b.option(bool, "use_readline", "readline support for linux") orelse false
else
null;
b.option(bool, "use_readline", "readline support for linux") orelse false
else
null;
const lua_src = b.dependency("lua", .{});
const lib =
b.addStaticLibrary(artifactOptions(
.{ .shared = false },
.{ .target = target, .optimize = optimize },
));
.{ .shared = false },
.{ .target = target, .optimize = optimize },
));
const shared = if (build_shared)
b.addSharedLibrary(artifactOptions(
.{ .shared = true },
@ -65,44 +65,44 @@ pub fn build(b: *Build) !void {
t.addIncludePath(lua_src.path("src"));
switch (target.result.os.tag) {
.aix => {
t.defineCMacro("LUA_USE_POSIX", null);
t.defineCMacro("LUA_USE_DLOPEN", null);
t.root_module.addCMacro("LUA_USE_POSIX", "");
t.root_module.addCMacro("LUA_USE_DLOPEN", "");
t.linkSystemLibrary("dl");
},
.freebsd, .netbsd, .openbsd => {
t.defineCMacro("LUA_USE_LINUX", null);
t.defineCMacro("LUA_USE_READLINE", null);
t.root_module.addCMacro("LUA_USE_LINUX", "");
t.root_module.addCMacro("LUA_USE_READLINE", "");
t.addIncludePath(.{ .cwd_relative = "/usr/include/edit" });
t.linkSystemLibrary("edit");
},
.ios => {
t.defineCMacro("LUA_USE_IOS", null);
t.root_module.addCMacro("LUA_USE_IOS", "");
},
.linux => {
t.defineCMacro("LUA_USE_LINUX", null);
t.root_module.addCMacro("LUA_USE_LINUX", "");
t.linkSystemLibrary("dl");
if (use_readline.?) {
t.defineCMacro("LUA_USE_READLINE", null);
t.root_module.addCMacro("LUA_USE_READLINE", "");
t.linkSystemLibrary("readline");
}
},
.macos => {
t.defineCMacro("LUA_USE_MACOSX", null);
t.defineCMacro("LUA_USE_READLINE", null);
t.root_module.addCMacro("LUA_USE_MACOSX", "");
t.root_module.addCMacro("LUA_USE_READLINE", "");
t.linkSystemLibrary("readline");
},
.solaris => {
t.defineCMacro("LUA_USE_POSIX", null);
t.defineCMacro("LUA_USE_DLOPEN", null);
t.defineCMacro("_REENTRANT", null);
t.root_module.addCMacro("LUA_USE_POSIX", "");
t.root_module.addCMacro("LUA_USE_DLOPEN", "");
t.root_module.addCMacro("_REENTRANT", "");
t.linkSystemLibrary("dl");
},
else => {},
}
}
if (target.result.isMinGW()) {
lib.defineCMacro("LUA_BUILD_AS_DLL", null);
exe.defineCMacro("LUA_BUILD_AS_DLL", null);
lib.root_module.addCMacro("LUA_BUILD_AS_DLL", "");
exe.root_module.addCMacro("LUA_BUILD_AS_DLL", "");
}
if (shared) |s| {
s.addCSourceFiles(.{

View file

@ -1,8 +1,10 @@
.{
.name = "lua",
.name = .lua,
.version = "5.4.7",
.fingerprint = 0xd671372bcadcaace,
.dependencies = .{
.lua = .{
.url = "https://www.lua.org/ftp/lua-5.4.7.tar.gz",