zig cc: recognize the -s flag to be "strip"

This commit is contained in:
Andrew Kelley 2021-02-07 14:51:27 -07:00
parent 905c85be96
commit e197a03124
4 changed files with 17 additions and 2 deletions

View file

@ -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"),

View file

@ -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,

View file

@ -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 {

View file

@ -312,6 +312,10 @@ const known_options = [_]KnownOpt{
.name = "framework",
.ident = "framework",
},
.{
.name = "s",
.ident = "strip",
},
};
const blacklisted_options = [_][]const u8{};