-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
Description
Exherbo, another linux distribution that has done good work with cross-compiling, always builds cross compilers---i.e. --host --build and --target are always passed to gcc's build system even if some of those platforms are the same: http://git.exherbo.org/arbor.git/tree/packages/sys-devel/gcc/gcc.exlib#n187. The big advantage here is by using the cross-compiling code path in all cases, there's less to maintain, and actual cross compilation is less likely to rot assuming native compilation will always be better tested.
In #21268 (specifically 633feb4 but I'll probably rebase at some point breaking that link), I introduce always-defined that PR will probably be closed as a bunch else happened separately, including always defining buildPlatform hostPlatform and targetPlatform for the same reasons (I keep around nullable crossSystem and not-always present stdenv.cross for compatibility). So if/when that PR is merged would be a good time to tackle this.buildPlatform hostPlatform and targetPlatform and removing crossSystem and stdenv.cross altogether.
Naturally this would be a gcc-caused mass rebuild on Linux. Darwin shouldn't be as affected as LLVM, by default, includes all the targets we care about.