Skip to content

Unify mingw-w64-clang 32+64 bits

Clang has the advantage over GCC that you can use -taget at runtime.

Indeed, we don't recompile the whole Clang, but only a few binaries, like mingw and the runtimes (compiler-rt, libcxx and libcxxabi).

So, we could merge the two archives, and replace them with a single one, with a slightly higher size (the merged directory is 2.8GB uncompressed, vs. 2.7GB of each the single-arch mingw-w64-clang directories uncompressed, and the merged archive is 825MB vs two archives of 812MB).

The advantage is that we'd have both the 32-bit and 64-bit always available, if needed for some projects (I don't think any need, at the moment).

The build script itself is already quite parametric, we could replace it with a build() bash function that takes the architecture as an input parameter.

Diff of the directories

Screenshot_from_2023-03-29_10-09-40

The screenshot shows that the two toolchain are completely overlappable.

Edited by Pier Angelo Vendrame
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information