zig cc: support -F and -framework

This commit is contained in:
Andrew Kelley 2020-04-02 15:59:48 -04:00
parent e4edc6d118
commit c4b3c84b3f
No known key found for this signature in database
GPG Key ID: 7C5F548F728501A9
5 changed files with 35 additions and 3 deletions

View File

@ -2989,7 +2989,14 @@ sepd1("fprofile-remapping-file"),
flagpd1("fprofile-sample-accurate"),
flagpd1("fprofile-sample-use"),
flagpd1("fprofile-use"),
sepd1("framework"),
.{
.name = "framework",
.syntax = .separate,
.zig_equivalent = .framework,
.pd1 = true,
.pd2 = false,
.psl = false,
},
flagpd1("freciprocal-math"),
flagpd1("frecord-command-line"),
flagpd1("ffree-form"),
@ -5670,7 +5677,14 @@ jspd1("MT"),
jspd1("A"),
jspd1("B"),
jspd1("D"),
jspd1("F"),
.{
.name = "F",
.syntax = .joined_or_separate,
.zig_equivalent = .framework_dir,
.pd1 = true,
.pd2 = false,
.psl = false,
},
jspd1("G"),
jspd1("I"),
jspd1("J"),
@ -5715,7 +5729,7 @@ joinpd1("Z"),
.{
.name = "F",
.syntax = .joined_or_separate,
.zig_equivalent = .other,
.zig_equivalent = .framework_dir,
.pd1 = true,
.pd2 = false,
.psl = true,

View File

@ -1291,6 +1291,8 @@ pub const ClangArgIterator = extern struct {
lib_dir,
mcpu,
dep_file,
framework_dir,
framework,
};
const Args = struct {

View File

@ -748,6 +748,12 @@ static int main0(int argc, char **argv) {
clang_argv.append(it.other_args_ptr[i]);
}
break;
case Stage2ClangArgFrameworkDir:
framework_dirs.append(it.only_arg);
break;
case Stage2ClangArgFramework:
frameworks.append(it.only_arg);
break;
}
}
// Parse linker args

View File

@ -350,6 +350,8 @@ enum Stage2ClangArg {
Stage2ClangArgLibDir,
Stage2ClangArgMCpu,
Stage2ClangArgDepFile,
Stage2ClangArgFrameworkDir,
Stage2ClangArgFramework,
};
// ABI warning

View File

@ -206,6 +206,14 @@ const known_options = [_]KnownOpt{
.name = "MF",
.ident = "dep_file",
},
.{
.name = "F",
.ident = "framework_dir",
},
.{
.name = "framework",
.ident = "framework",
},
};
const blacklisted_options = [_][]const u8{};