summaryrefslogtreecommitdiff
path: root/xmake/modules
diff options
context:
space:
mode:
authorruki <[email protected]>2025-12-07 11:36:02 +0800
committerruki <[email protected]>2025-12-07 17:15:59 +0800
commit1ef6dddad4c6a3a2e3b3b79667e7f4568f7cfda0 (patch)
tree7dd959bba3f618f2cc32e229e46b65d4cee4c2da /xmake/modules
parentcae5b0a17dc7d0eb5599c0d5a92fab69d39983d5 (diff)
improve minos and sdkver
Diffstat (limited to 'xmake/modules')
-rw-r--r--xmake/modules/private/utils/bin2obj.lua18
1 files changed, 13 insertions, 5 deletions
diff --git a/xmake/modules/private/utils/bin2obj.lua b/xmake/modules/private/utils/bin2obj.lua
index a27f5c5dc..a41c919fe 100644
--- a/xmake/modules/private/utils/bin2obj.lua
+++ b/xmake/modules/private/utils/bin2obj.lua
@@ -25,14 +25,16 @@ local options = {
{'i', "binarypath", "kv", nil, "Set the binary file path."},
{'o', "outputpath", "kv", nil, "Set the output object file path."},
{'f', "format", "kv", nil, "Set the object file format (coff, elf, macho)."},
- {nil, "symbol-prefix", "kv", nil, "Set the symbol prefix (default: _binary_)."},
+ {nil, "symbol_prefix", "kv", nil, "Set the symbol prefix (default: _binary_)."},
{'a', "arch", "kv", nil, "Set the target architecture."},
- {'p', "plat", "kv", nil, "Set the target platform (macosx, iphoneos, etc.)."}
+ {'p', "plat", "kv", nil, "Set the target platform (macosx, iphoneos, etc.)."},
+ {nil, "target_minver", "kv", nil, "Set the target minimum version (e.g., 10.0, 18.2)."},
+ {nil, "xcode_sdkver", "kv", nil, "Set the Xcode SDK version (e.g., 10.0, 18.2)."}
}
function _do_bin2obj_coff(binarypath, outputpath, opt)
-- get symbol prefix
- local symbol_prefix = opt["symbol-prefix"] or "_binary_"
+ local symbol_prefix = opt.symbol_prefix or "_binary_"
-- get architecture (default: x86_64)
local arch = opt.arch or "x86_64"
@@ -65,7 +67,7 @@ end
function _do_bin2obj_macho(binarypath, outputpath, opt)
-- get symbol prefix
- local symbol_prefix = opt["symbol-prefix"] or "_binary_"
+ local symbol_prefix = opt.symbol_prefix or "_binary_"
-- get platform (default: macosx)
local plat = opt.plat or "macosx"
@@ -73,6 +75,12 @@ function _do_bin2obj_macho(binarypath, outputpath, opt)
-- get architecture (default: x86_64)
local arch = opt.arch or "x86_64"
+ -- get target minimum version (default: nil, will use default 10.0.0 in C)
+ local target_minver = opt.target_minver
+
+ -- get xcode sdk version (default: nil, will use default 10.0.0 in C)
+ local xcode_sdkver = opt.xcode_sdkver
+
-- get filename from binary path (with extension, dots replaced with underscores)
local filename = path.filename(binarypath)
-- replace dots with underscores for symbol name (e.g., data.bin -> data_bin)
@@ -83,7 +91,7 @@ function _do_bin2obj_macho(binarypath, outputpath, opt)
-- do dump
if utils.bin2macho then
- utils.bin2macho(binarypath, outputpath, symbol_prefix, plat, arch, basename)
+ utils.bin2macho(binarypath, outputpath, symbol_prefix, plat, arch, basename, target_minver, xcode_sdkver)
else
raise("bin2obj: utils.bin2macho not available (C implementation not compiled)")
end