mirror of
https://github.com/ziglang/zig.git
synced 2026-01-02 19:43:29 +00:00
This reverts commit 7161ed79c4abcaccdd56fe0b4fbd3d93472d41b8, reversing changes made to 3f2a65594e1d3c0a4f4943a4ea522e8405db81e0. Unfortunately, this sat in the PR queue too long and the merge broke the zig1.wasm bootstrap process.
105 lines
3.4 KiB
PowerShell
105 lines
3.4 KiB
PowerShell
$TARGET = "$($Env:ARCH)-windows-gnu"
|
|
$ZIG_LLVM_CLANG_LLD_NAME = "zig+llvm+lld+clang-$TARGET-0.12.0-dev.888+130227492"
|
|
$MCPU = "baseline"
|
|
$ZIG_LLVM_CLANG_LLD_URL = "https://ziglang.org/deps/$ZIG_LLVM_CLANG_LLD_NAME.zip"
|
|
$PREFIX_PATH = "$(Get-Location)\$ZIG_LLVM_CLANG_LLD_NAME"
|
|
$ZIG = "$PREFIX_PATH\bin\zig.exe"
|
|
$ZIG_LIB_DIR = "$(Get-Location)\lib"
|
|
|
|
choco install ninja
|
|
Write-Output "Downloading $ZIG_LLVM_CLANG_LLD_URL"
|
|
Invoke-WebRequest -Uri "$ZIG_LLVM_CLANG_LLD_URL" -OutFile "$ZIG_LLVM_CLANG_LLD_NAME.zip"
|
|
|
|
Write-Output "Extracting..."
|
|
Add-Type -AssemblyName System.IO.Compression.FileSystem ;
|
|
[System.IO.Compression.ZipFile]::ExtractToDirectory("$PWD/$ZIG_LLVM_CLANG_LLD_NAME.zip", "$PWD")
|
|
|
|
function CheckLastExitCode {
|
|
if (!$?) {
|
|
exit 1
|
|
}
|
|
return 0
|
|
}
|
|
|
|
# Make the `zig version` number consistent.
|
|
# This will affect the `zig build` command below which uses `git describe`.
|
|
git fetch --tags
|
|
|
|
if ((git rev-parse --is-shallow-repository) -eq "true") {
|
|
git fetch --unshallow # `git describe` won't work on a shallow repo
|
|
}
|
|
|
|
Write-Output "Building from source..."
|
|
Remove-Item -Path 'build-debug' -Recurse -Force -ErrorAction Ignore
|
|
New-Item -Path 'build-debug' -ItemType Directory
|
|
Set-Location -Path 'build-debug'
|
|
|
|
# CMake gives a syntax error when file paths with backward slashes are used.
|
|
# Here, we use forward slashes only to work around this.
|
|
& cmake .. `
|
|
-GNinja `
|
|
-DCMAKE_INSTALL_PREFIX="stage3-debug" `
|
|
-DCMAKE_PREFIX_PATH="$($PREFIX_PATH -Replace "\\", "/")" `
|
|
-DCMAKE_BUILD_TYPE=Debug `
|
|
-DCMAKE_C_COMPILER="$($ZIG -Replace "\\", "/");cc;-target;$TARGET;-mcpu=$MCPU" `
|
|
-DCMAKE_CXX_COMPILER="$($ZIG -Replace "\\", "/");c++;-target;$TARGET;-mcpu=$MCPU" `
|
|
-DZIG_TARGET_TRIPLE="$TARGET" `
|
|
-DZIG_TARGET_MCPU="$MCPU" `
|
|
-DZIG_STATIC=ON `
|
|
-DZIG_NO_LIB=ON
|
|
CheckLastExitCode
|
|
|
|
ninja install
|
|
CheckLastExitCode
|
|
|
|
Write-Output "Main test suite..."
|
|
& "stage3-debug\bin\zig.exe" build test docs `
|
|
--zig-lib-dir "$ZIG_LIB_DIR" `
|
|
--search-prefix "$PREFIX_PATH" `
|
|
-Dstatic-llvm `
|
|
-Dskip-non-native `
|
|
-Dskip-release `
|
|
-Denable-symlinks-windows
|
|
CheckLastExitCode
|
|
|
|
Write-Output "Build x86_64-windows-msvc behavior tests using the C backend..."
|
|
& "stage3-debug\bin\zig.exe" test `
|
|
..\test\behavior.zig `
|
|
--zig-lib-dir "$ZIG_LIB_DIR" `
|
|
-I..\test `
|
|
-I..\lib `
|
|
-ofmt=c `
|
|
-femit-bin="test-x86_64-windows-msvc.c" `
|
|
--test-no-exec `
|
|
-target x86_64-windows-msvc `
|
|
-lc
|
|
CheckLastExitCode
|
|
|
|
& "stage3-debug\bin\zig.exe" build-obj `
|
|
..\lib\compiler_rt.zig `
|
|
--zig-lib-dir "$ZIG_LIB_DIR" `
|
|
-ofmt=c `
|
|
-OReleaseSmall `
|
|
--name compiler_rt `
|
|
-femit-bin="compiler_rt-x86_64-windows-msvc.c" `
|
|
--mod build_options::config.zig `
|
|
--deps build_options `
|
|
-target x86_64-windows-msvc
|
|
CheckLastExitCode
|
|
|
|
Import-Module "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
|
|
CheckLastExitCode
|
|
|
|
Enter-VsDevShell -VsInstallPath "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" `
|
|
-DevCmdArguments '-arch=x64 -no_logo' `
|
|
-StartInPath $(Get-Location)
|
|
CheckLastExitCode
|
|
|
|
Write-Output "Build and run behavior tests with msvc..."
|
|
Write-Output "Skipped due to https://github.com/ziglang/zig/issues/17817"
|
|
#& cl.exe -I..\lib test-x86_64-windows-msvc.c compiler_rt-x86_64-windows-msvc.c /W3 /Z7 -link -nologo -debug -subsystem:console kernel32.lib ntdll.lib libcmt.lib
|
|
#CheckLastExitCode
|
|
#
|
|
#& .\test-x86_64-windows-msvc.exe
|
|
#CheckLastExitCode
|