mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
clang: update cmdline options to include weak libs and frameworks
Clang accepts `-weak-lx`, `-weak_library x` and `-weak_framework x`.
This commit is contained in:
parent
c02dc17618
commit
c2c1998269
3 changed files with 40 additions and 3 deletions
|
|
@ -4867,8 +4867,22 @@ flagpd1("version"),
|
||||||
.psl = false,
|
.psl = false,
|
||||||
},
|
},
|
||||||
flagpd1("w"),
|
flagpd1("w"),
|
||||||
sepd1("weak_framework"),
|
.{
|
||||||
sepd1("weak_library"),
|
.name = "weak_framework",
|
||||||
|
.syntax = .separate,
|
||||||
|
.zig_equivalent = .weak_framework,
|
||||||
|
.pd1 = true,
|
||||||
|
.pd2 = false,
|
||||||
|
.psl = false,
|
||||||
|
},
|
||||||
|
.{
|
||||||
|
.name = "weak_library",
|
||||||
|
.syntax = .separate,
|
||||||
|
.zig_equivalent = .weak_library,
|
||||||
|
.pd1 = true,
|
||||||
|
.pd2 = false,
|
||||||
|
.psl = false,
|
||||||
|
},
|
||||||
sepd1("weak_reference_mismatches"),
|
sepd1("weak_reference_mismatches"),
|
||||||
flagpd1("whatsloaded"),
|
flagpd1("whatsloaded"),
|
||||||
flagpd1("why_load"),
|
flagpd1("why_load"),
|
||||||
|
|
@ -6200,7 +6214,14 @@ jspd1("iquote"),
|
||||||
.pd2 = true,
|
.pd2 = true,
|
||||||
.psl = false,
|
.psl = false,
|
||||||
},
|
},
|
||||||
joinpd1("weak-l"),
|
.{
|
||||||
|
.name = "weak-l",
|
||||||
|
.syntax = .joined,
|
||||||
|
.zig_equivalent = .weak_library,
|
||||||
|
.pd1 = true,
|
||||||
|
.pd2 = false,
|
||||||
|
.psl = false,
|
||||||
|
},
|
||||||
.{
|
.{
|
||||||
.name = "Ofast",
|
.name = "Ofast",
|
||||||
.syntax = .flag,
|
.syntax = .flag,
|
||||||
|
|
|
||||||
|
|
@ -1625,6 +1625,8 @@ fn buildOutputType(
|
||||||
.entry => {
|
.entry => {
|
||||||
entry = it.only_arg;
|
entry = it.only_arg;
|
||||||
},
|
},
|
||||||
|
.weak_library => try system_libs.put(it.only_arg, .{ .weak = true }),
|
||||||
|
.weak_framework => try frameworks.put(gpa, it.only_arg, .{ .weak = true }),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Parse linker args.
|
// Parse linker args.
|
||||||
|
|
@ -4577,6 +4579,8 @@ pub const ClangArgIterator = struct {
|
||||||
emit_llvm,
|
emit_llvm,
|
||||||
sysroot,
|
sysroot,
|
||||||
entry,
|
entry,
|
||||||
|
weak_library,
|
||||||
|
weak_framework,
|
||||||
};
|
};
|
||||||
|
|
||||||
const Args = struct {
|
const Args = struct {
|
||||||
|
|
|
||||||
|
|
@ -432,6 +432,18 @@ const known_options = [_]KnownOpt{
|
||||||
.name = "e",
|
.name = "e",
|
||||||
.ident = "entry",
|
.ident = "entry",
|
||||||
},
|
},
|
||||||
|
.{
|
||||||
|
.name = "weak-l",
|
||||||
|
.ident = "weak_library",
|
||||||
|
},
|
||||||
|
.{
|
||||||
|
.name = "weak_library",
|
||||||
|
.ident = "weak_library",
|
||||||
|
},
|
||||||
|
.{
|
||||||
|
.name = "weak_framework",
|
||||||
|
.ident = "weak_framework",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
const blacklisted_options = [_][]const u8{};
|
const blacklisted_options = [_][]const u8{};
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue