Commit Graph
100 Commits
Author SHA1 Message Date
Martin Storsjö a57c32023b test: Waive frexp failures on msvcrt.dll on arm64ec, similar to on aarch64
Building crt-test for arm64ec msvcrt.dll doesn't work currently,
but if mingw-w64 is tweaked so that it works, this test does
need to be waived.
2025-09-02 16:01:52 +03:00
Martin Storsjö 1a25a0ff74 github: Switch macos jobs to macos-14 runners explicitly
For some unknown reason, macos-15 runners (which macos-latest
resolves to currently) seem to be consistently 25-40% slower than
macos-14 runners; the "macos" job (doing an universal binary build
for 2 architectures, with LTO) often take over 5 hours, and have
reached the 6 hour timeout once.

Switch this back to macos-14 to speed it up and reduce the risk of
hitting the timeout.

In the future, if/when the macos-14 runners are phased out, and if
the performance reduction in macos-15 runners remains, we'd need to
switch to building each architecture in a separate job, and merge
them together separately if we still want to provide universal
binaries.
2025-08-30 23:03:55 +03:00
Martin Storsjö 096033f443 build-llvm: Bump to LLVM 21.1.0 final 2025-08-26 22:37:10 +03:00
Martin Storsjö 747a6cd27a build-mingw-w64: Bump to the latest version as of Aug 26th 2025-08-26 22:36:18 +03:00
Martin Storsjö a96bbc0c7f build-make: Download from ftpmirror.gnu.org rather than directly from ftp.gnu.org
Direct access from ftp.gnu.org has been slow lately, and using
a mirror is more considerate in general.
2025-08-26 16:00:23 +03:00
Martin Storsjö 5c5a462dd1 github: Stop manually installing ninja on Windows
Since https://github.com/actions/runner-images/pull/11706,
https://github.com/actions/runner-images/pull/11707 and
https://github.com/actions/runner-images/pull/11737, ninja is
preinstalled in the Ubuntu, macOS and x86 Windows runner images.
Thanks to that, redundant installs of ninja on Unix were removed
in e20f0e3acd.

As noted in https://github.com/actions/partner-runner-images/issues/96,
ninja now also seems to be available on the Windows on ARM
images - thus remove redundant installs of ninja on Windows.
2025-08-21 00:13:51 +03:00
Martin Storsjö 9abe6a8f31 build-llvm, build-cross-tools: Include --no-llvm-tool-reuse in the help listings 2025-08-13 13:36:56 +03:00
Martin Storsjö ccbccc774f build-cross-tools: Fix a help string typo 2025-08-13 13:27:45 +03:00
Martin Storsjö 5bade09998 build-llvm: Bump to LLVM 21.1.0 RC 3 2025-08-12 13:37:27 +03:00
Martin Storsjö 9ae76cfbe0 build-mingw-w64: Bump to the latest version as of Aug 12th 2025-08-12 13:37:12 +03:00
Martin Storsjö 58ee158be2 pgo-training: Pass ARCHS to the makefile
If ARCHS itself was set by the caller, it would already have been
implicitly passed to the makefile - but if the caller set
TOOLCHAIN_ARCHS instead, that wasn't acted upon by the makefile.

As the shell script already has the logic for initializing this
(in the same fashion as all other shell scripts), just use that
and pass the value on to the makefile.
2025-08-07 13:11:24 +03:00
Martin Storsjö 4ae8f04ed6 pgo-training: Remove the accidental executable bit on the makefile 2025-08-07 13:05:42 +03:00
Martin Storsjö 2e938d2b66 prepare-cross-toolchain-unix: Remove the linux/macOS runtimes
This matches what is done in build-all.sh for the PGO step; this
removes rather large (~50 MB) libraries that mostly are needed
for compiling for the host unix platforms. (On Linux it's needed
if building with profiling, on macOS it's needed for the builtin
functions for platform version availability too.)
2025-08-03 00:21:03 +03:00
Martin Storsjö fd7848ea84 build-llvm: Bump to LLVM 21.1.0 RC 2 2025-07-30 10:38:30 +03:00
Martin Storsjö 45c0dc4112 build-mingw-w64: Bump to the latest version as of Jul 30th 2025-07-30 10:38:07 +03:00
Martin Storsjö 2324d8354f github: Simplify running the msvcrt workflow on push, for testing
Only pick parameters from "inputs" if we were invoked through a
"workflow_dispatch" event.
2025-07-29 22:40:34 +03:00
Martin Storsjö 0681c739aa github: Run tests directly after cross compiling the msvcrt runtimes
This matches what is done for the regular builds; we run (build-only)
tests already with the first cross compiler toolchains, not needing
to wait for the cross compiled toolchains to run on Windows.
2025-07-29 22:39:28 +03:00
Martin Storsjö 67827c9569 github: Switch the condition for inputs vs defaults for test-llvm and test-libcxx
This makes it easier to run these workflows through a push (by
adding an "on:push:" at the start of the files.
2025-07-29 22:38:54 +03:00
Martin Storsjö 848bf53fe0 github: Pass -D__USE_MINGW_ANSI_STDIO=1 for test-llvm on x86
This is required for properly formatting long doubles on x86
with UCRT (which doesn't use the mingw builtin printfs by default).

This fixes running the LLVM testsuite on x86 after commit
9bf7d04c4386daf1ef0acf95782a59855c98474a in llvm-project.
2025-07-29 22:38:25 +03:00
Martin Storsjö 39f4179af6 build-llvm: Fix using a relative PREFIX path
This fixes a regression from
6d31f358d8, which shows up as
"./strip-llvm.sh: 129: cd: can't cd to share" when running
build-all.sh, fixing
https://github.com/mstorsjo/llvm-mingw/issues/509, and the root
issue behind https://github.com/mstorsjo/llvm-mingw/pull/507.
2025-07-29 22:25:29 +03:00
Martin Storsjö 0d59f0f827 github: Skip the stage1 artifacts when making a release
The linux stage1 artifacts were uploaded, while the macos ones
weren't (as they didn't match the *-toolchain glob pattern).
2025-07-19 11:21:19 +03:00
Martin Storsjö 056dd7329b run-tests: Skip testing arm64ec in msvcrt builds
It is currently known to fail to link some tests.
2025-07-18 19:47:28 +03:00
Martin Storsjö 087c11746a dockerfile: Skip the openmp tests for arm64ec
This was missed in 4700b4f7bb.
2025-07-18 19:47:28 +03:00
Martin Storsjö 09c5a4e822 github: Fix the use of dawidd6/action-download-artifact in msvcrt.yml
The older version doesn't support the ref parameter.
2025-07-18 19:47:04 +03:00
Martin Storsjö 4a6030a850 run-tests: Execute arm64ec tests on Windows 11 on aarch64 2025-07-17 22:49:10 +03:00
Martin Storsjö 4700b4f7bb test: Skip building the ubsan and openmp tests for arm64ec
Also unset RUN for arm64ec, instead of accidentally inheriting the
earlier value.
2025-07-17 22:49:10 +03:00
Martin Storsjö cb92de78e7 Include arm64ec in the lists of all architectures
Since LLVM 21.x, the upstream support for ARM64EC in LLD and
compiler-rt is complete enough for us to be able to build it.
2025-07-17 22:48:39 +03:00
Martin Storsjö ae0357758c build-llvm: Bump to LLVM 21.1.0 RC 1
Relevant changes include:
- Lots of work for supporting ARM64EC and ARM64X
- LLD now produces more compact string tables in executables (only
  relevant when including debug symbols)
- llvm-rc now supports multiplication/division expressions, like GNU
  windres
- Improved support for armv7 and aarch64 in libunwind (for Itanium
  ABI "forced unwinding", which I'm not aware of being used in
  practice anywhere)
- Made the libunwind, libcxxabi, libcxx and compiler-rt tests pass on
  armv7 and aarch64 mingw
- Made the llvm/clang tests pass on aarch64 mingw
2025-07-17 22:22:24 +03:00
Martin Storsjö 2844cfd336 build-mingw-w64: Bump to the latest version as of Jul 17th 2025-07-17 22:21:45 +03:00
Martin Storsjö f5a90414dd github: Stop running armv7 binaries
The ARM github actions runners now run on Windows 11 10.0.26100,
which no longer support executing armv7 binaries. (Previously they
were running Windows 11 10.0.22631.)
2025-07-16 09:58:18 +03:00
Martin Storsjö aa9406e06a build-all: Fix the error message when specifying two directories without --pgo or --full-pgo 2025-07-13 23:51:19 +03:00
Martin Storsjö a1f6413e5c build-llvm: Bump to LLVM 20.1.8 2025-07-09 19:50:09 +03:00
Martin Storsjö 007b88af19 build-mingw-w64: Bump to the latest version as of Jul 9th 2025-07-09 19:49:47 +03:00
Martin Storsjö 081b68c2bb github: Include the architecture in the linux-asserts artifact name
This should make it clearer what it is.
2025-06-30 14:13:36 +03:00
Martin Storsjö 8e90268bf3 github: Simplify the if: conditions for all chained jobs
As all the other jobs depend on the "prepare" job, it's enough to
keep the condition within the "prepare" job and remove/simplify
the rest.
2025-06-30 14:13:23 +03:00
Martin Storsjö 6cc02cf854 github: Update a comment to refer to the right job 2025-06-30 14:12:02 +03:00
Martin Storsjö a41085f7d9 build-llvm: Set CMAKE_STRIP when cross compiling with Clang
If using Clang from /usr/bin, this makes it clear to CMake to use
$HOST-strip, as it otherwise may pick plain /usr/bin/strip, which
may not be able to strip the cross built executables.
2025-06-30 14:12:02 +03:00
Martin Storsjö 9d5860a02d build-llvm: Set CMAKE_ASM_COMPILER_TARGET when cross compiling with Clang
CMAKE_ASM_COMPILER is set implicitly from CMAKE_C_COMPILER,
but the target flags aren't implied in the same way.

This fixes cross compiling LLVM with clang for an x86_64 target.

This wasn't an issue when cross compiling LLVM with clang for an
aarch64 target, because the BLAKE3 aarch64 SIMD is in the form
of a C file (with intrinsics), not a standalone .S file.
2025-06-30 14:12:02 +03:00
Martin Storsjö ee2239a2b8 build-llvm: Unset CLEAN in build-llvm for --macos-native-tools
In this case, we want to incrementally build the remaining tools,
not do a full build. In case someone runs build-all.sh with CLEAN
set, the --macos-native-tools invocation of build-llvm.sh shouldn't
wipe the build directory.
2025-06-30 00:18:22 +03:00
Martin Storsjö 6a2d235ffd Revert "build-lldb-mi: Disallow detecting LLVM outside of $LLVM_DIR"
This reverts commit 9e628b0f2d.

If LLVM was built with --disable-dylib, then the individual
LLVM libraries may expose a dependency on zlib. By restricting
the lldb-mi build to detect dependencies outside of $LLVM_DIR,
the build of lldb-mi fails to find zlib, making it impossible to
find all the necessary dependencies, ending up with errors like this:

    CMake Error at llvm-mingw/llvm-project/llvm/build-asserts/lib/cmake/llvm/LLVMExports.cmake:55 (set_target_properties):
      The link interface of target "LLVMSupport" contains:

        ZLIB::ZLIB

      but the target was not found.  Possible reasons include:

        * There is a typo in the target name.
        * A find_package call is missing for an IMPORTED target.
        * An ALIAS target is missing.

Revert this change for now, to allow building lldb-mi against
a non-dylib build of LLVM.
2025-06-26 13:41:05 +03:00
Martin Storsjö 04bc2bc1c5 github: Build the whole multiplatform docker image with Dockerfile.toolchain
This makes the docker image contain a PGO optimized compiler,
without needing to redo all of the PGO build stages in docker.

This reverts commit 8f42112719,
and fixes building the multiplatform image in a simpler way.

Instead of doing two separate builds, with separate Dockerfiles,
just do one multiplatform build of one Dockerfile, which
docker runs serially, for each one of the included architectures,
just packaging the prebuilt toolchains in the docker image.
2025-06-25 11:51:07 +03:00
Martin Storsjö ca34a15634 github: Build the msvcrt toolchains with LTO and PGO 2025-06-25 11:51:07 +03:00
Martin Storsjö 80fad73644 github: Build with PGO
Using Frontend instrumentation rather than IR. This gives less
total speedup, but makes the profile much more usable for cross
other build targets.

Build the full Linux toolchain in stage1; this avoids needing to
rebuild runtimes for doing the profiling in stage2, and avoids
needing to wait for stage3 to complete before cross building
for Windows.
2025-06-25 11:51:07 +03:00
Martin Storsjö 05625eaf62 github: Build the linux full toolchain already in stage1
This makes a cross compiler available before doing the full second
stage.
2025-06-25 11:51:07 +03:00
Martin Storsjö bc8eea6fc0 github: Build all second stage toolchains with thinlto 2025-06-25 11:51:07 +03:00
Martin Storsjö eb3cb9c31d github: Build macOS and Linux toolchains with a stage1 Clang 2025-06-25 11:51:07 +03:00
Martin Storsjö 7dcff8f89f build-all: Add support for PGO builds
Allow both doing one single stage at a time, or driving the
full build with three stages all in one command.
2025-06-25 11:51:07 +03:00
Martin Storsjö d3c7a1b06f build-all: Add an --llvm-only option 2025-06-25 11:51:07 +03:00
Martin Storsjö 37daec78ac build-all: Allow passing more options through to build-llvm.sh 2025-06-25 11:51:07 +03:00
Martin Storsjö c6001d3056 build-cross-tools: Allow passing LTO and PGO options to build-llvm.sh 2025-06-25 11:51:06 +03:00
Martin Storsjö 9e628b0f2d build-lldb-mi: Disallow detecting LLVM outside of $LLVM_DIR
Do the same as when cross compiling; disallow detecting dependencies
outside of the given CMAKE_FIND_ROOT_PATH. Don't export LLVM_DIR
as we no longer need to pass it implicitly that way.

This makes the errors clearer, if LLVM isn't found where expected,
instead of misdetecting it from a different installation of LLVM
in the system.

If lldb-mi would try to find other optional dependencies, they would
no longer be found; this was already the case when cross compiling
though.
2025-06-25 11:51:06 +03:00
Martin Storsjö d69ccd33a7 build-lldb-mi: Fix finding the build directory
As build-llvm now can create a larger variety of build dir names,
enumerating all possible suffixes becomes problematic (especially
as they don't necessarily appear in one canonical order).

Instead, iterate over potential matches. If cross compiling, it
is easy as we can require the directory to contain the expected
suffix. If not cross compiling, we have no explicit suffix to look
for, but we can check that the directory doesn't match common
cross compilation triples.
2025-06-25 11:51:06 +03:00
Martin Storsjö 839b37219e pgo-training: Add a script for doing PGO training of a toolchain
Use a makefile for running a set of commands in parallel.
2025-06-25 11:51:06 +03:00
Martin Storsjö 6d31f358d8 build-llvm: Add options for doing PGO builds
Passing --instrumented=IR or --instrumented=Frontend builds
instrumented tool binaries. After running them and merging the
output profile files, run build-llvm.sh with
--profile=profile.profdata.
2025-06-25 11:51:06 +03:00
Martin Storsjö 454962132a build-compiler-rt: Add an option for compiling runtimes for the native OS 2025-06-25 11:51:06 +03:00
Martin Storsjö 19f1c90a15 build-llvm: Add a --macos-native-tools option
This augments the result of an earlier build, with tools required
for building for macOS with the tools built with build-llvm.sh.
2025-06-25 11:51:06 +03:00
Martin Storsjö f5d8121ea2 build-llvm: Use llvm-libtool-darwin if doing LTO macOS builds with a custom clang 2025-06-25 11:51:06 +03:00
Martin Storsjö efb8b34932 build-llvm: Support using --with-clang in a --host cross build
When cross compiling with llvm-mingw, we already implicitly use
clang and lld, but we don't need to specify these options as they
are set implicitly via the llvm-mingw wrappers.
2025-06-25 11:51:06 +03:00
Martin Storsjö 5f28a085f5 build-llvm: Change the (unused) --stage2 option into --with-clang
Don't use tools from $PREFIX/bin automatically; this can be
confusing and problematic. If running with $PREFIX/bin in path,
the build at this stage gets reconfigured if rebuilding after
installing clang.

For multistage builds, install into separate toolchain
directories and add the right one to $PATH before invoking
build-llvm.sh. If one really wants to use the tools from $PREFIX
for a new build into the same directory, one has to add that
directory to the path manually.
2025-06-25 11:51:06 +03:00
Martin Storsjö 07c6640a17 build-all: Merge handling of trivial options passed to build-llvm.sh 2025-06-25 11:51:06 +03:00
Martin Storsjö 28748c4b2d build-llvm: Bump to LLVM 20.1.7 2025-06-13 09:56:49 +03:00
Martin Storsjö 42760d8e0e build-mingw-w64: Bump to the latest version as of Jun 13th 2025-06-13 09:56:04 +03:00
Martin Storsjö fc13a3a5b1 build-llvm: Implicitly set LLVM_USE_RELATIVE_PATHS_IN_FILES when using ccache
This is an option I set outside of this script in a number of
build cases where I build with ccache; move this into the script.

In practice it has little effect though; one has to set
CCACHE_BASEDIR anyway in order to be able to share a ccache
between build directories.

If enabling ccache by adding e.g. /usr/lib/ccache to the front of
PATH, without using the COMPILER_LAUNCHER variable, this won't
get enabled.
2025-06-11 16:48:03 +03:00
Martin Storsjö 9633e7501c github: Use dawidd6/action-download-artifact with the new ref: option
This allows specifying either a commit or a branch in the same
field, allowing simplifying both the workflow inputs, and
the expressions for passing commit/branch to both
dawidd6/action-download-artifact and actions/checkout.

This new option is available since
https://github.com/dawidd6/action-download-artifact/pull/329.
2025-06-03 16:36:12 +03:00
Martin Storsjö 5110f3da62 github: Update a comment about the homebrew libraries' architectures 2025-05-31 00:01:36 +03:00
Martin Storsjö c299805bc7 build-all: Don't mention a nonexistent --with-python option
This was added in 050b4ef701, but
such an option never existed in build-all.sh, only in
build-cross-tools.sh.
2025-05-29 17:33:48 +03:00
Martin Storsjö 718a31ef1a github: Run the test-llvm and test-libcxx jobs scheduled on Sundays
In this case, run with the artifacts from the latest scheduled job.
2025-05-29 17:27:53 +03:00
Martin Storsjö 7b53b4af23 github: Fix specifying a commit rather than a branch for manual jobs
As the branch field has a default value "master", this default
not only applies when the dialog box for starting the manual
workflow is presented. But even if the prefilled branch field
is cleared, the default value also gets substituted when submitting.

In this case, when the commit and branch fields are mutually
exclusive, we can't easily have a default. Instead change the
uses of the fields, ignoring the branch field if the commit field
is filled.

If the dawidd6/action-download-artifact action would support
specifying either a commit or a branch in the same field, like
actions/checkout does, we wouldn't need this distinction at all;
this request is tracked upstream at
https://github.com/dawidd6/action-download-artifact/issues/242.
2025-05-29 17:27:53 +03:00
Martin Storsjö 093d8edefb strip-llvm: Keep clang-scan-deps-wrapper too
If strip-llvm.sh is (re)run after install-wrappers.sh, we don't
want it to remove any of the files installed by install-wrappers.sh.
2025-05-29 17:27:53 +03:00
Martin Storsjö 40ccfd163e build-llvm: Bump to LLVM 20.1.6 2025-05-28 23:03:14 +03:00
Martin Storsjö 1d097013b0 build-mingw-w64: Bump to the latest version as of May 28th 2025-05-28 23:02:55 +03:00
Martin Storsjö 20ea49c91e github: Build test-libcxx with __USE_MINGW_ANSI_STDIO=0 on arm
On arm, we don't need to use the mingw custom printfs for long
doubles.
2025-05-25 16:00:55 +03:00
Martin Storsjö 38847df515 github: Use msys instead of mingw64 for running test-toolchain 2025-05-25 12:08:21 +03:00
Martin Storsjö e20f0e3acd github: Stop manually installing ninja
Since https://github.com/actions/runner-images/pull/11706,
https://github.com/actions/runner-images/pull/11707 and
https://github.com/actions/runner-images/pull/11737, ninja is
preinstalled in the Ubuntu, macOS and x86 Windows runner images.
(See https://github.com/actions/runner-images/issues/11391 for the
overall issue where this was finally agreed to be installed.)

It is still missing in the windows-11-arm images though, so keep
installing it in any jobs running on Windows.
2025-05-24 23:46:55 +03:00
Martin Storsjö 2eebbd670e build-make: Prefer downloading with curl over wget
Curl produces less log output while downloading.
2025-05-23 21:55:08 +03:00
Martin Storsjö 16b3ddfbfc github: Use "check-runtimes" rather than individual "check-cxx" etc
This makes sure to run all three testsuites, even if there are
failures in one of them.
2025-05-23 14:54:42 +03:00
Martin Storsjö a453b3c9b3 test: Skip inline x86_64 assembly on arm64ec 2025-05-18 22:30:20 +03:00
Martin Storsjö 9f59c26011 test: Fix the test-scan-deps test for arm64ec
Add a separate arm64ec arch case, skip the x86_64 one.
2025-05-18 22:29:52 +03:00
Martin Storsjö 1b781e898e build-mingw-w64: Use --enable-libarm64 for arm64ec 2025-05-18 22:28:25 +03:00
Martin Storsjö 5609c66213 build-llvm: Bump to LLVM 20.1.5 2025-05-14 22:25:18 +03:00
Martin Storsjö d48a0f2e40 build-mingw-w64: Bump to the latest version as of May 14th 2025-05-14 22:24:58 +03:00
Martin StorsjöandJeremy Drake d1ca6b578a github: Run test-libcxx on ARM too
This requires setting CMAKE_CXX_COMPILER_TARGET manually; the LLVM
build system infers the wrong architecture when CMake is an
x86_64 binary.

(The wrong inferred architecture doesn't affect building libcxx,
but the wrong architecture gets passed as --target= parameter
when running the tests.)

Since 9c67ae861ccb0312fc680414a8441892d169d14a in llvm-project
(May 9th), these tests should pass on aarch64 too.

Co-authored-by: Jeremy Drake <github@jdrake.com>
2025-05-10 11:53:04 +03:00
Martin Storsjö 6db08d6e89 github: Switch back to macos-latest for the runners
Currently, "macos-latest" gets "macos-14", while there also are
"macos-15" runners available. Switch back to the latest variant
in preparation for that being updated at some point.

This reverts 7bd4b284f9.
2025-05-09 11:59:08 +03:00
Martin Storsjö 218ddb0bbd github: Run test-llvm on aarch64 too
As the preinstalled CMake on the windows-11-arm runners currently
is an x86_64 build, we need to explicitly specify
CMAKE_SYSTEM_PROCESSOR, and CMAKE_SYSTEM_NAME to make CMake
consider it a cross compilation (otherwise CMAKE_SYSTEM_PROCESSOR
gets overridden by CMAKE_HOST_SYSTEM_PROCESSOR, which gets influenced
by the x86_64 as CMake is running emulated).

We also need to set LLVM_HOST_TRIPLE, as the autodetection of
it relies on CMAKE_HOST_SYSTEM_PROCESSOR. The host triple needs
to be in normalized form with "-windows-gnu", otherwise a couple
dozens of tests fail.

We also include the AArch64 target, to make sure the built compiler
can generate code for the host.

Since 07bc54bf4554398b199f4dc849e5193b98422f23 in llvm-project
(May 5th), these tests should pass on aarch64 too.
2025-05-07 00:30:08 +03:00
Martin Storsjö 0a1f0030c1 github: Run test-compiler-rt on ARM too
Since 3e56f5f41843204b6e612362542b77110f8f8188 in llvm-project,
this should pass for all 4 architectures. (This doesn't pass
in the pinned release version right now.)
2025-05-06 16:38:13 +03:00
Martin Storsjö 9eb743ea3e github: Run test-openmp on ARM too 2025-05-06 16:36:53 +03:00
Martin Storsjö 7bc6345fa7 github: Copy in the dependency DLLs into the bin dir in test-llvm
This avoids relying on finding these dependencies in $PATH while
running the tests. Some tests may set PATH="" while executing them,
which previously caused those tests to fail in this build setup.

The same is not an issue with MSVC builds with
-DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDLL, because those
DLLs are also available in global system directories (including
DLLs such as msvcp140.dll and vcruntime140.dll).
2025-05-06 11:23:42 +03:00
Martin Storsjö e633b48b63 test: Add a comment about a test that fails when run emulated on arm
The test is specific to building for x86, for a msvcrt.dll target,
and running that binary on arm.
2025-05-02 13:56:51 +03:00
Martin Storsjö 4c82a47afb build-llvm: Bump to LLVM 20.1.4 2025-04-30 12:07:34 +03:00
Martin Storsjö 13ceefe568 build-mingw-w64: Bump to the latest version as of Apr 30th 2025-04-30 12:07:02 +03:00
Martin Storsjö c4d1bda332 build-compiler-rt: Don't assume that the build produced asan files for armv7/aarch64
When removing them, also accept that they are missing to begin
with.

Since 655933070219f2b6f3a457c7e5af7edd4b5291b4 in llvm-project
(Apr 25th), asan only gets built for x86.
2025-04-26 07:21:14 +03:00
Martin Storsjö e21ad3bba2 run-tests, test-libcxx-module: Extend checks for MSYS to also check for CYGWIN 2025-04-21 14:31:57 +03:00
Martin StorsjöandJeremy Drake b8ef2ab96e run-tests: Inspect the Windows build number on WSL
Co-authored-by: Jeremy Drake <github@jdrake.com>
2025-04-21 14:31:57 +03:00
Martin Storsjö 81434376ae run-tests: Detect if running on WSL
Set the right variables needed for running tests in this configuration,
and try to guess which architectures can be executed.
2025-04-21 14:31:48 +03:00
Martin Storsjö 11c51c62d4 run-tests: Rewrite detection of what tests we can try to execute
Autodetect whether we can run tests in Wine on unix.
2025-04-21 14:30:12 +03:00
Martin Storsjö 424a1ede1b run-lldb-tests: Use -dumpmachine rather than parsing the output of --version
This matches what is done in a couple of other scripts too.
2025-04-21 13:59:39 +03:00
Martin Storsjö 3976b3af59 github: Set -DCMAKE_INSTALL_MESSAGE=NEVER when testing libcxx
This matches what 28851edf164a337c334755ae33fd58f03cffd5a2 in
llvm-project did.

When setting up the built libcxx files for testing, the built
files are installed into a temporary test root, and the install of
them litters the build log with mostly uninteresting output.
2025-04-20 23:27:18 +03:00
Martin Storsjö 20099b94e6 build-mingw-w64: Use silent rules for compiling things
This reduces the amount of log output significantly.

For the linux build on github actions, this reduces the log output
from 8.5 MB down to 4.7 MB.
2025-04-17 23:34:40 +03:00
Martin Storsjö eeb12404b5 build-mingw-w64-libraries: Consistently use $MAKE
This was not converted in 5fe2e05419,
probably because those (automake based) makefiles work fine with
BSD make.

Use $MAKE here anyway, for consistency.
2025-04-17 23:34:28 +03:00
Martin Storsjö c608b57a2e build-llvm: Bump to LLVM 20.1.3 2025-04-17 14:56:18 +03:00