commit c4b3c84b3f64ad3c24c2b6ad36616e10c3cf98f3 (tree)
parent e4edc6d118e0e0cd3510bbe89ca4a292436bb82f
Author: Andrew Kelley <andrew@ziglang.org>
Date: Thu, 2 Apr 2020 15:59:48 -0400
zig cc: support -F and -framework
Diffstat:
5 files changed, 35 insertions(+), 3 deletions(-)
diff --git a/src-self-hosted/clang_options_data.zig b/src-self-hosted/clang_options_data.zig
@@ -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,
diff --git a/src-self-hosted/stage2.zig b/src-self-hosted/stage2.zig
@@ -1291,6 +1291,8 @@ pub const ClangArgIterator = extern struct {
lib_dir,
mcpu,
dep_file,
+ framework_dir,
+ framework,
};
const Args = struct {
diff --git a/src/main.cpp b/src/main.cpp
@@ -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
diff --git a/src/stage2.h b/src/stage2.h
@@ -350,6 +350,8 @@ enum Stage2ClangArg {
Stage2ClangArgLibDir,
Stage2ClangArgMCpu,
Stage2ClangArgDepFile,
+ Stage2ClangArgFrameworkDir,
+ Stage2ClangArgFramework,
};
// ABI warning
diff --git a/tools/update_clang_options.zig b/tools/update_clang_options.zig
@@ -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{};