Skip to content
Draft
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
e5106e4
[CI] Update Windows testing to use clang compiler.
cmtice Oct 5, 2025
cc89d8c
Try to find clang compiler.
cmtice Oct 5, 2025
f724bfe
Attempt to download the clang tarball.
cmtice Oct 6, 2025
120878d
Decompress and unpack the clang tarball.
cmtice Oct 6, 2025
d69c6af
Try an alternate decompression technique.
cmtice Oct 6, 2025
f21ebc0
Download xz tool.
cmtice Oct 6, 2025
282556e
Update to use downloaded xz utility.
cmtice Oct 6, 2025
77d1d0f
Update to use downloaded clang-cl for testing.
cmtice Oct 6, 2025
3062354
Update to use cl compiler, for timing data.
cmtice Oct 6, 2025
73290c1
Update to use clang; more timing data.
cmtice Oct 6, 2025
d939d15
Merge remote-tracking branch 'origin/main' into windows-timing
cmtice Oct 7, 2025
00eac7f
Merge remote-tracking branch 'origin/main' into windows-timing
cmtice Oct 9, 2025
db17f90
Disable some checks, to narrow down build failures.
cmtice Oct 9, 2025
5e5d87f
Verifying that mlir is the build proble for clang on Windows.
cmtice Oct 9, 2025
d9df5c8
re-enable all tests
cmtice Oct 9, 2025
366967a
See what turning off sccache does...
cmtice Oct 11, 2025
9b0ba3d
re-enable sccache; try to upload CMakeCache.txt.
cmtice Oct 11, 2025
5c61e25
Try to compare multiple CMakeCache.txts.
cmtice Oct 12, 2025
5485c85
Fix typo in diff command.
cmtice Oct 12, 2025
2710fa4
Try to see if msvc included clang.
cmtice Oct 12, 2025
f783728
FInd correct full path to cl.exe
cmtice Oct 12, 2025
5b5be1a
Still looking for clang inside msvc...
cmtice Oct 12, 2025
162d0ee
Still trying to find clang.
cmtice Oct 12, 2025
8f595f2
Still looking...
cmtice Oct 12, 2025
7e504f8
Still looking...
cmtice Oct 12, 2025
8dca85e
Disable non-msvc settings
cmtice Oct 12, 2025
57d3a2e
Turn off EVERYTHING.
cmtice Oct 13, 2025
cdaa3cd
Restore original config.
cmtice Oct 13, 2025
e65b414
Update debug flags to avoid using the Program Database.
cmtice Oct 15, 2025
b3882be
Experiment with turning off warnings on Windows.
cmtice Oct 16, 2025
fdd83ad
Guard warning changes for WIndows.
cmtice Oct 16, 2025
1b3d32e
Try to capture all the warnings for bad files in logs.
cmtice Oct 16, 2025
207bba0
Disable all warnings on windows.
cmtice Oct 16, 2025
d04f3c7
Only disable 2 warnings in Windows.
cmtice Oct 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 20 additions & 2 deletions .ci/monolithic-windows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,24 @@ runtimes_targets="${4}"
start-group "CMake"
pip install -q -r "${MONOREPO_ROOT}"/.ci/all_requirements.txt

export CC=cl
export CXX=cl
# Download & unpack 'xz' so we can use it to get clang.
mkdir /tmp/xz-download
pushd /tmp/xz-download
curl -L -o xz-5.8.1-windows.zip http://github.com/tukaani-project/xz/releases/download/v5.8.1/xz-5.8.1-windows.zip
unzip xz-5.8.1-windows.zip
ls -l /tmp/xz-download/bin_x86-64/xz.exe
popd

# Download & unpack clang.
mkdir /tmp/clang-download
pushd /tmp/clang-download
curl -L -o "clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar.xz" http://github.com/llvm/llvm-project/releases/download/llvmorg-21.1.2/clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar.xz

/tmp/xz-download/bin_x86-64/xz.exe -d -qq "clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar.xz"
tar xf "clang+llvm-21.1.2-x86_64-pc-windows-msvc.tar"

export CC=/tmp/clang-download/clang+llvm-21.1.2-x86_64-pc-windows-msvc/bin/clang-cl.exe
export CXX=/tmp/clang-download/clang+llvm-21.1.2-x86_64-pc-windows-msvc/bin/clang-cl.exe
export LD=link

# The CMAKE_*_LINKER_FLAGS to disable the manifest come from research
Expand All @@ -49,10 +65,12 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
-D CMAKE_EXE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_MODULE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_SHARED_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_CXX_FLAGS="-Wno-c++98-compat -Wno-c++14-compat" \
-D LLVM_ENABLE_RUNTIMES="${runtimes}"

start-group "ninja"


# Targets are not escaped as they are passed as separate arguments.
ninja -C "${BUILD_DIR}" -k 0 ${targets} |& tee ninja.log

Expand Down