diff options
Diffstat (limited to 'src/build_lua.zig')
| -rw-r--r-- | src/build_lua.zig | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/src/build_lua.zig b/src/build_lua.zig index 3d9b634ab1..f1dce0f21c 100644 --- a/src/build_lua.zig +++ b/src/build_lua.zig @@ -4,6 +4,7 @@ const LazyPath = std.Build.LazyPath; pub fn build_nlua0( b: *std.Build, + io: std.Io, target: std.Build.ResolvedTarget, optimize: std.builtin.OptimizeMode, use_luajit: bool, @@ -59,7 +60,7 @@ pub fn build_nlua0( mod.addIncludePath(b.path("src")); mod.addIncludePath(b.path("src/includes_fixmelater")); - try add_lua_modules(b, target.result, mod, lpeg, use_luajit, true, system_integration_options); + try add_lua_modules(b, io, target.result, mod, lpeg, use_luajit, true, system_integration_options); } // for debugging the nlua0 environment @@ -83,6 +84,7 @@ pub fn build_nlua0( pub fn add_lua_modules( b: *std.Build, + io: std.Io, target: std.Target, mod: *std.Build.Module, lpeg_dep: ?*std.Build.Dependency, @@ -110,7 +112,7 @@ pub fn add_lua_modules( .flags = &flags, }); if (system_integration_options.lpeg) { - if (try findLpeg(b, target)) |lpeg_lib| { + if (try findLpeg(b, io, target)) |lpeg_lib| { mod.addLibraryPath(.{ .cwd_relative = std.fs.path.dirname(lpeg_lib).? }); mod.addObjectFile(.{ .cwd_relative = lpeg_lib }); } @@ -149,33 +151,34 @@ pub fn build_libluv( ) !*std.Build.Step.Compile { const upstream = b.lazyDependency("luv", .{}); const compat53 = b.lazyDependency("lua_compat53", .{}); + var root_module = b.createModule(.{ + .target = target, + .optimize = optimize, + }); const lib = b.addLibrary(.{ .name = "luv", .linkage = .static, - .root_module = b.createModule(.{ - .target = target, - .optimize = optimize, - }), + .root_module = root_module, }); if (lua) |lua_lib| { - lib.root_module.linkLibrary(lua_lib); + root_module.linkLibrary(lua_lib); } else { const system_lua_lib = if (use_luajit) "luajit" else "lua5.1"; - lib.root_module.linkSystemLibrary(system_lua_lib, .{}); + root_module.linkSystemLibrary(system_lua_lib, .{}); } - lib.linkLibrary(libuv); + root_module.linkLibrary(libuv); if (upstream) |dep| { - lib.addIncludePath(dep.path("src")); + root_module.addIncludePath(dep.path("src")); lib.installHeader(dep.path("src/luv.h"), "luv/luv.h"); - lib.addCSourceFiles(.{ .root = dep.path("src/"), .files = &.{ + root_module.addCSourceFiles(.{ .root = dep.path("src/"), .files = &.{ "luv.c", } }); } if (compat53) |dep| { - lib.addIncludePath(dep.path("c-api")); - lib.addCSourceFiles(.{ .root = dep.path("c-api"), .files = &.{ + root_module.addIncludePath(dep.path("c-api")); + root_module.addCSourceFiles(.{ .root = dep.path("c-api"), .files = &.{ "compat-5.3.c", } }); } @@ -183,7 +186,7 @@ pub fn build_libluv( return lib; } -fn findLpeg(b: *std.Build, target: std.Target) !?[]const u8 { +fn findLpeg(b: *std.Build, io: std.Io, target: std.Target) !?[]const u8 { const filenames = [_][]const u8{ "lpeg_a", "lpeg", @@ -205,10 +208,10 @@ fn findLpeg(b: *std.Build, target: std.Target) !?[]const u8 { try paths.append(b.allocator, b.fmt("{s}/lua/5.1", .{dir})); } for (paths.items) |path| { - var dir = std.fs.openDirAbsolute(path, .{}) catch continue; - defer dir.close(); + var dir = std.Io.Dir.openDirAbsolute(io, path, .{}) catch continue; + defer dir.close(io); for (filenames) |filename| { - dir.access(filename, .{}) catch continue; + dir.access(io, filename, .{}) catch continue; return b.fmt("{s}/{s}", .{ path, filename }); } } |
