commit e197a03124527035f1a92381eb6ef46d6f6d2c39 (tree)
parent 905c85be968e6823305887474d2a821dac82f16c
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sun, 7 Feb 2021 14:51:27 -0700
zig cc: recognize the `-s` flag to be "strip"
Diffstat:
4 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/src/Compilation.zig b/src/Compilation.zig
@@ -2348,7 +2348,9 @@ pub fn addCCArgs(
else => {},
}
- if (!comp.bin_file.options.strip) {
+ if (comp.bin_file.options.strip) {
+ try argv.append("-s");
+ } else {
try argv.append("-g");
switch (comp.bin_file.options.object_format) {
.coff, .pe => try argv.append("-gcodeview"),
diff --git a/src/clang_options_data.zig b/src/clang_options_data.zig
@@ -4305,7 +4305,14 @@ flagpd1("rewrite-macros"),
flagpd1("rewrite-objc"),
flagpd1("rewrite-test"),
sepd1("rpath"),
-flagpd1("s"),
+.{
+ .name = "s",
+ .syntax = .flag,
+ .zig_equivalent = .strip,
+ .pd1 = true,
+ .pd2 = false,
+ .psl = false,
+},
.{
.name = "save-stats",
.syntax = .flag,
diff --git a/src/main.zig b/src/main.zig
@@ -1186,6 +1186,7 @@ fn buildOutputType(
.framework_dir => try framework_dirs.append(it.only_arg),
.framework => try frameworks.append(it.only_arg),
.nostdlibinc => want_native_include_dirs = false,
+ .strip => strip = true,
}
}
// Parse linker args.
@@ -3047,6 +3048,7 @@ pub const ClangArgIterator = struct {
nostdlibinc,
red_zone,
no_red_zone,
+ strip,
};
const Args = struct {
diff --git a/tools/update_clang_options.zig b/tools/update_clang_options.zig
@@ -312,6 +312,10 @@ const known_options = [_]KnownOpt{
.name = "framework",
.ident = "framework",
},
+ .{
+ .name = "s",
+ .ident = "strip",
+ },
};
const blacklisted_options = [_][]const u8{};