3 ms·
> I can only infer that your lack of familiarity was what made it take so long Pretty much. Trying to convert an existing build that doesn't explicitly declar
by jjmarr 7mo ago
> I can only infer that your lack of familiarity was what made it take so long
Pretty much.
Trying to convert an existing build that doesn't explicitly declare object dependencies is painful. Rust does it properly by default.
For example, I'm discovering our clang toolchain has a transitive dependency on a gcc toolchain.
- mgaunard 7mo agoClang cannot bootstrap in the same way GCC can; you need GCC (or another clang) to build it. You can obviously build it twice to have it be built by itself (bear in mind some of the clang components already do this, because they have to be built by clang). In general though, a clang install will still depend on libstdc++, libgcc, GCC crtbegin.o and binutils (at least on Linux), which is typically why it will refer to a specific GCC install even after being built. There are of course ways to use clang without any GCC runtime, but that's more involved and non-standard (unless you're on Mac). And there is also the libc dependency (and all sysroot aspects in general) and while that is usually considered completely separate from GCC, the filesystem location and how it is found is often tied to how GCC is configured.