Oh wow! I need clang for Android: it's only tested and built with clang, and some of the packages don't build with gcc. I don't really need any fancy target, but one of the goals I had was to be able to cross-build my android packages, hence this cross-compiler. A wasm cross-compiler would be awesome! On March 3, 2022 9:51:01 PM GMT+01:00, Pierre Langlois wrote: >Hi Julien, > >Julien Lepiller writes: > >> Hi Guix! >> >> This small patch series adds cross-clang, a cross-compiler version of >> clang. Clang doesn't really make a distinction between a native and a >> cross-build, it is already a cross-compiler, but this ensures that: >> >> 1. it actually works >> 2. it targets (%current-target-architecture) by default >> >> The rest of the series ensures that libcxx and libcxxabi can be >> cross-compiled with it. > >That's really cool! Out of curiosity, what target are you interested in >that clang supports and GCC doesn't? For instance I'm interested in >WebAssembly, and I've actually been contemplating how we could improve >support for cross-compilers based on Clang in Guix, to be able to >provide a working WebAssembly toolchain. > >For context, such a toolchain will be needed to enable potential use of >WebAssembly in IceCat, for security purposes, see >https://hacks.mozilla.org/2021/12/webassembly-and-back-again-fine-grained-sandboxing-in-firefox-95/ > >I actually have a toolchain that works already, which targets the >wasm32-wasi-unknown triplet, but I wasn't convinced the way I did it was >the right way to go long term, so it needs more work. I'm attaching the >patch in case there's anything useful to you in there already! > >The approach I took was to create wrappers around clang/clang++ in order >to set the correct include paths, and then provide an isolated sysroot >for wasm32-wasi using union-build. This will work for IceCat, where >their should be a flag to pass a sysroot path, but we should be able to >do better in Guix. > >I though I'd share in case that's helpful! I'll take a look at your >patches to see if I can build on top of them for a future WebAssembly >toolchain in Guix. > >Thanks, >Pierre >