David Gonzalez Martin dfcda18a70 Improve clang integration
LLVM can now be compiled with nat
2024-03-27 16:51:20 -06:00

31 lines
653 B
Zig

const Compilation = @import("../Compilation.zig");
const Context = Compilation.Context;
const lld = @import("lld.zig");
pub const Options = struct{
backend: Backend = .lld,
output_file_path: []const u8,
objects: []const Object,
libraries: []const Library,
extra_arguments: []const []const u8,
link_libc: bool,
link_libcpp: bool,
};
const Backend = enum{
lld,
};
pub const Object = struct{
path: []const u8,
};
pub const Library = struct{
path: []const u8,
};
pub fn link(context: *const Context, options: Options) !void {
switch (options.backend) {
.lld => try lld.link(context, options),
}
}