ci: windows: proper flags to zig build

This commit is contained in:
Andrew Kelley 2021-04-15 02:02:36 -07:00
parent fa633a658f
commit a38042e3ac
3 changed files with 11 additions and 6 deletions

View File

@ -55,6 +55,7 @@ pub fn build(b: *Builder) !void {
const only_install_lib_files = b.option(bool, "lib-files-only", "Only install library files") orelse false;
const is_stage1 = b.option(bool, "stage1", "Build the stage1 compiler, put stage2 behind a feature flag") orelse false;
const omit_stage2 = b.option(bool, "omit-stage2", "Do not include stage2 behind a feature flag inside stage1") orelse false;
const static_llvm = b.option(bool, "static-llvm", "Disable integration with system-installed LLVM, Clang, LLD, and libc++") orelse false;
const enable_llvm = b.option(bool, "enable-llvm", "Build self-hosted compiler with LLVM backend enabled") orelse (is_stage1 or static_llvm);
const config_h_path_option = b.option([]const u8, "config_h", "Path to the generated config.h");
@ -196,7 +197,7 @@ pub fn build(b: *Builder) !void {
exe.addBuildOption(bool, "enable_logging", enable_logging);
exe.addBuildOption(bool, "enable_tracy", tracy != null);
exe.addBuildOption(bool, "is_stage1", is_stage1);
exe.addBuildOption(bool, "omit_stage2", false);
exe.addBuildOption(bool, "omit_stage2", omit_stage2);
if (tracy) |tracy_path| {
const client_cpp = fs.path.join(
b.allocator,
@ -219,7 +220,7 @@ pub fn build(b: *Builder) !void {
test_stage2.addBuildOption(bool, "skip_non_native", skip_non_native);
test_stage2.addBuildOption(bool, "is_stage1", is_stage1);
test_stage2.addBuildOption(bool, "omit_stage2", false);
test_stage2.addBuildOption(bool, "omit_stage2", omit_stage2);
test_stage2.addBuildOption(bool, "have_llvm", enable_llvm);
test_stage2.addBuildOption(bool, "enable_qemu", is_qemu_enabled);
test_stage2.addBuildOption(bool, "enable_wine", is_wine_enabled);

View File

@ -27,7 +27,9 @@ git fetch --tags
mkdir build
cd build
"$ZIG" build -Dstage1 -Dtarget=x86_64-windows-gnu \
"$ZIG" build -Dstage1 -Domit-stage2 -Drelease \
-Dtarget=x86_64-windows-gnu \
-Dcpu=x86_64_v2 \
--search-prefix "$PREFIX" \
--override-lib-dir "$ZIGDIR/lib" \
--prefix "$(pwd)/dist"

View File

@ -675,17 +675,19 @@ pub const Builder = struct {
/// Exposes standard `zig build` options for choosing a target.
pub fn standardTargetOptions(self: *Builder, args: StandardTargetOptionsArgs) CrossTarget {
const triple = self.option(
const maybe_triple = self.option(
[]const u8,
"target",
"The CPU architecture, OS, and ABI to build for",
) orelse return args.default_target;
);
const mcpu = self.option([]const u8, "cpu", "Target CPU");
// TODO add cpu and features as part of the target triple
const triple = maybe_triple orelse return args.default_target;
var diags: CrossTarget.ParseOptions.Diagnostics = .{};
const selected_target = CrossTarget.parse(.{
.arch_os_abi = triple,
.cpu_features = mcpu,
.diagnostics = &diags,
}) catch |err| switch (err) {
error.UnknownCpuModel => {