zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Msrc-self-hosted/clang_options_data.zig | 20+++++++++++++++++---
Msrc-self-hosted/stage2.zig | 2++
Msrc/main.cpp | 6++++++
Msrc/stage2.h | 2++
Mtools/update_clang_options.zig | 8++++++++
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{};