mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-04 04:08:19 +00:00
build zig builtins for windows
This commit is contained in:
parent
430c783859
commit
8ca7ee1e14
5 changed files with 34 additions and 16 deletions
|
@ -30,12 +30,14 @@ pub fn build(b: *Builder) void {
|
|||
});
|
||||
const linux32_target = makeLinux32Target();
|
||||
const linux64_target = makeLinux64Target();
|
||||
const windows64_target = makeWindows64Target();
|
||||
const wasm32_target = makeWasm32Target();
|
||||
|
||||
// LLVM IR
|
||||
generateLlvmIrFile(b, mode, host_target, main_path, "ir", "builtins-host");
|
||||
generateLlvmIrFile(b, mode, linux32_target, main_path, "ir-i386", "builtins-i386");
|
||||
generateLlvmIrFile(b, mode, linux64_target, main_path, "ir-x86_64", "builtins-x86_64");
|
||||
generateLlvmIrFile(b, mode, windows64_target, main_path, "ir-windows-x86_64", "builtins-windows-x86_64");
|
||||
generateLlvmIrFile(b, mode, wasm32_target, main_path, "ir-wasm32", "builtins-wasm32");
|
||||
|
||||
// Generate Object Files
|
||||
|
@ -110,6 +112,16 @@ fn makeLinux64Target() CrossTarget {
|
|||
return target;
|
||||
}
|
||||
|
||||
fn makeWindows64Target() CrossTarget {
|
||||
var target = CrossTarget.parse(.{}) catch unreachable;
|
||||
|
||||
target.cpu_arch = std.Target.Cpu.Arch.x86_64;
|
||||
target.os_tag = std.Target.Os.Tag.windows;
|
||||
target.abi = std.Target.Abi.gnu;
|
||||
|
||||
return target;
|
||||
}
|
||||
|
||||
fn makeWasm32Target() CrossTarget {
|
||||
var target = CrossTarget.parse(.{}) catch unreachable;
|
||||
|
||||
|
|
|
@ -44,8 +44,12 @@ fn main() {
|
|||
}
|
||||
|
||||
generate_bc_file(&bitcode_path, "ir-i386", "builtins-i386");
|
||||
|
||||
generate_bc_file(&bitcode_path, "ir-x86_64", "builtins-x86_64");
|
||||
generate_bc_file(
|
||||
&bitcode_path,
|
||||
"ir-windows-x86_64",
|
||||
"builtins-windows-x86_64",
|
||||
);
|
||||
|
||||
// OBJECT FILES
|
||||
#[cfg(windows)]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue