authorgravatar for rejean.loyer@gmail.comRejean Loyer <rejean.loyer@gmail.com> 2020-04-01 05:22:19-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-04-01 17:21:11-04:00
log2b6dfdd3d403fb33e226aa2566eacfad4b251379
treef6514ccd5329bf22df3b1f17a17ecc7f85320b69
parent783f73c7e3590f05825d66f1f0ccb108be74b5c4

zig cc: add support for -L linker arguments


5 files changed, 23 insertions(+), 3 deletions(-)

src-self-hosted/clang_options_data.zig+10-3
......@@ -1658,7 +1658,7 @@ sepd1("Zlinker-input"),
16581658.{
16591659 .name = "library-directory",
16601660 .syntax = .separate,
1661 .zig_equivalent = .other,
1661 .zig_equivalent = .linker_input_l,
16621662 .pd1 = false,
16631663 .pd2 = true,
16641664 .psl = false,
......@@ -4534,7 +4534,7 @@ joinpd1("target-sdk-version="),
45344534.{
45354535 .name = "library-directory=",
45364536 .syntax = .joined,
4537 .zig_equivalent = .other,
4537 .zig_equivalent = .linker_input_l,
45384538 .pd1 = false,
45394539 .pd2 = true,
45404540 .psl = false,
......@@ -5632,7 +5632,14 @@ jspd1("F"),
56325632jspd1("G"),
56335633jspd1("I"),
56345634jspd1("J"),
5635jspd1("L"),
5635.{
5636 .name = "L",
5637 .syntax = .joined_or_separate,
5638 .zig_equivalent = .linker_input_l,
5639 .pd1 = true,
5640 .pd2 = false,
5641 .psl = false,
5642},
56365643.{
56375644 .name = "O",
56385645 .syntax = .joined,
src-self-hosted/stage2.zig+1
......@@ -1288,6 +1288,7 @@ pub const ClangArgIterator = extern struct {
12881288 verbose_cmds,
12891289 for_linker,
12901290 linker_input_z,
1291 linker_input_l,
12911292 };
12921293
12931294 const Args = struct {
src/main.cpp+3
......@@ -735,6 +735,9 @@ static int main0(int argc, char **argv) {
735735 linker_args.append(buf_create_from_str("-z"));
736736 linker_args.append(buf_create_from_str(it.only_arg));
737737 break;
738 case Stage2ClangArgLinkerInputL:
739 lib_dirs.append(it.only_arg);
740 break;
738741 }
739742 }
740743 // Parse linker args
src/stage2.h+1
......@@ -347,6 +347,7 @@ enum Stage2ClangArg {
347347 Stage2ClangArgVerboseCmds,
348348 Stage2ClangArgForLinker,
349349 Stage2ClangArgLinkerInputZ,
350 Stage2ClangArgLinkerInputL,
350351};
351352
352353// ABI warning
tools/update_clang_options.zig+8
......@@ -174,6 +174,14 @@ const known_options = [_]KnownOpt{
174174 .name = "###",
175175 .ident = "verbose_cmds",
176176 },
177 .{
178 .name = "L",
179 .ident = "linker_input_l",
180 },
181 .{
182 .name = "library-directory",
183 .ident = "linker_input_l",
184 },
177185};
178186
179187const blacklisted_options = [_][]const u8{};