From 3316b905c932fbc881f8b2c241060ac04ece00f4 Mon Sep 17 00:00:00 2001 From: yiv1 Date: Sun, 1 Jun 2025 14:56:37 +0300 Subject: [PATCH] improvement(build): add -Dlibrary_name for change name *.dll, *.so, *.dylib --- build.zig | 4 +++- build/lua.zig | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/build.zig b/build.zig index 0a98b94..47870d6 100644 --- a/build.zig +++ b/build.zig @@ -16,6 +16,7 @@ pub fn build(b: *Build) void { const optimize = b.standardOptimizeOption(.{}); const lang = b.option(Language, "lang", "Lua language version to build") orelse .lua54; + const library_name = b.option([]const u8, "library_name", "Library name for lua linking, default is `lua`") orelse null; const shared = b.option(bool, "shared", "Build shared library instead of static") orelse false; const luau_use_4_vector = b.option(bool, "luau_use_4_vector", "Build Luau to use 4-vectors instead of the default 3-vector.") orelse false; @@ -31,6 +32,7 @@ pub fn build(b: *Build) void { // Expose build configuration to the ziglua module const config = b.addOptions(); config.addOption(Language, "lang", lang); + config.addOption(?[]const u8, "library_name", library_name); config.addOption(bool, "luau_use_4_vector", luau_use_4_vector); zlua.addOptions("config", config); @@ -43,7 +45,7 @@ pub fn build(b: *Build) void { const lib = switch (lang) { .luajit => luajit_setup.configure(b, target, optimize, upstream, shared), .luau => luau_setup.configure(b, target, optimize, upstream, luau_use_4_vector), - else => lua_setup.configure(b, target, optimize, upstream, lang, shared), + else => lua_setup.configure(b, target, optimize, upstream, lang, shared, library_name), }; // Expose the Lua artifact, and get an install step that header translation can refer to diff --git a/build/lua.zig b/build/lua.zig index 6d79b64..16c866a 100644 --- a/build/lua.zig +++ b/build/lua.zig @@ -12,7 +12,7 @@ pub const Language = enum { luau, }; -pub fn configure(b: *Build, target: Build.ResolvedTarget, optimize: std.builtin.OptimizeMode, upstream: *Build.Dependency, lang: Language, shared: bool) *Step.Compile { +pub fn configure(b: *Build, target: Build.ResolvedTarget, optimize: std.builtin.OptimizeMode, upstream: *Build.Dependency, lang: Language, shared: bool, library_name: ?[]const u8) *Step.Compile { const version: std.SemanticVersion = switch (lang) { .lua51 => .{ .major = 5, .minor = 1, .patch = 5 }, .lua52 => .{ .major = 5, .minor = 2, .patch = 4 }, @@ -23,14 +23,14 @@ pub fn configure(b: *Build, target: Build.ResolvedTarget, optimize: std.builtin. const lib = if (shared) b.addSharedLibrary(.{ - .name = "lua", + .name = library_name orelse "lua", .target = target, .optimize = optimize, .version = version, }) else b.addStaticLibrary(.{ - .name = "lua", + .name = library_name orelse "lua", .target = target, .optimize = optimize, .version = version,