mirror of
https://github.com/ziglang/zig.git
synced 2026-02-17 14:59:14 +00:00
add -target-glibc to cli help and zig build
This commit is contained in:
parent
7ccf7807b3
commit
336ddb8011
@ -75,6 +75,7 @@ static int print_full_usage(const char *arg0, FILE *file, int return_code) {
|
||||
" -dynamic create a shared library (.so; .dll; .dylib)\n"
|
||||
" --strip exclude debug symbols\n"
|
||||
" -target [name] <arch><sub>-<os>-<abi> see the targets command\n"
|
||||
" -target-glibc [version] target a specific glibc version (default: 2.17)\n"
|
||||
" --verbose-tokenize enable compiler debug output for tokenization\n"
|
||||
" --verbose-ast enable compiler debug output for AST parsing\n"
|
||||
" --verbose-link enable compiler debug output for linking\n"
|
||||
|
||||
@ -1053,7 +1053,8 @@ pub const LibExeObjStep = struct {
|
||||
installed_path: ?[]const u8,
|
||||
install_step: ?*InstallArtifactStep,
|
||||
|
||||
libc_file: ?[]const u8,
|
||||
libc_file: ?[]const u8 = null,
|
||||
target_glibc: ?Version = null,
|
||||
|
||||
const LinkObject = union(enum) {
|
||||
StaticPath: []const u8,
|
||||
@ -1148,7 +1149,6 @@ pub const LibExeObjStep = struct {
|
||||
.single_threaded = false,
|
||||
.installed_path = null,
|
||||
.install_step = null,
|
||||
.libc_file = null,
|
||||
};
|
||||
self.computeOutFileNames();
|
||||
return self;
|
||||
@ -1220,6 +1220,14 @@ pub const LibExeObjStep = struct {
|
||||
self.computeOutFileNames();
|
||||
}
|
||||
|
||||
pub fn setTargetGLibC(self: *LibExeObjStep, major: u32, minor: u32, patch: u32) void {
|
||||
self.target_glibc = Version{
|
||||
.major = major,
|
||||
.minor = minor,
|
||||
.patch = patch,
|
||||
};
|
||||
}
|
||||
|
||||
pub fn setOutputDir(self: *LibExeObjStep, dir: []const u8) void {
|
||||
self.output_dir = self.builder.dupe(dir);
|
||||
}
|
||||
@ -1581,6 +1589,11 @@ pub const LibExeObjStep = struct {
|
||||
},
|
||||
}
|
||||
|
||||
if (self.target_glibc) |ver| {
|
||||
try zig_args.append("-target-glibc");
|
||||
try zig_args.append(builder.fmt("{}.{}.{}", ver.major, ver.minor, ver.patch));
|
||||
}
|
||||
|
||||
if (self.linker_script) |linker_script| {
|
||||
zig_args.append("--linker-script") catch unreachable;
|
||||
zig_args.append(linker_script) catch unreachable;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user