There is an updated pull request by q66 against master on the void-packages repository https://github.com/q66/void-packages cross-style https://github.com/void-linux/void-packages/pull/27412 [RFC WIP] crosstoolchain build-style This introduces a build-style for system crosstoolchains. It only works, and will only work, for toolchains targeting Void and one of its standard libraries. The none targets and stuff like mingw are explicitly a non-goal, to reduce the amount of magic we have to do. This has a bunch of advantages: - crosstoolchain templates can now be small and simple - crosstoolchains writen with this build-style will no longer mess up masterdirs like the existing ones do; you can safely build your stuff without `-t` and your `masterdir` will be pristine - unification of options passed to `gcc`/libc/`binutils` configure, as much as possible - reduced repeated boilerplate code between individual crosstoolchains - `ccache` friendly - easier upgrades, easier maintenance, etc This is currently incomplete. These things are left to do: - [x] Add musl support - [x] Clean up the configure params, only keep the generic ones in the build-style, specific ones will go into individual crosstoolchains (this one is largely based on what the aarch64 one was doing) - [x] 64-bit cross on 32-bit hosts is probably actually fine in general, we just need to enable it - ~~Allow glibc crosstoolchains on musl~~ (this needs `glibc` 2.32 so it will be done later) Toolchain rewrite TODO: - [x] `cross-aarch64-linux-gnu` - [x] `cross-aarch64-linux-musl` - [x] `cross-arm-linux-gnueabi` - [x] `cross-arm-linux-musleabi` - [x] `cross-arm-linux-gnueabihf` - [x] `cross-arm-linux-musleabihf` - [x] `cross-armv7l-linux-gnueabihf` - [x] `cross-armv7l-linux-musleabihf` - [x] `cross-i686-pc-linux-gnu` - [x] `cross-i686-linux-musl` - [x] `cross-mips-linux-musl` - [x] `cross-mips-linux-muslhf` - [x] `cross-mipsel-linux-musl` - [x] `cross-mipsel-linux-muslhf` - [ ] `cross-powerpc-linux-gnu` - [ ] `cross-powerpc-linux-musl` - [ ] `cross-powerpcle-linux-gnu` - [ ] `cross-powerpcle-linux-musl` - [ ] `cross-powerpc64-linux-gnu` - [ ] `cross-powerpc64-linux-musl` - [ ] `cross-powerpc64le-linux-gnu` - [ ] `cross-powerpc64le-linux-musl` - [ ] `cross-x86_64-linux-gnu` - [ ] `cross-x86_64-linux-musl` For now, posting for input. @Duncaen @leahneukirchen @pullmoll @ericonr @void-linux/pkg-committers [ci skip] A patch file from https://github.com/void-linux/void-packages/pull/27412.patch is attached