3 ms·
How are C build systems miserable? If you're building for a general Linux distro, you'll not have much control over the dependencies, but that's not a problem w
by megous 7y ago
How are C build systems miserable? If you're building for a general Linux distro, you'll not have much control over the dependencies, but that's not a problem with C, but with how programs are distributed in the GNU/Linux distribution model.
- twic 7y agoAFAIK, there is no tool that lets you specify a compiler version in your project, then automatically build with that compiler. The equivalent of rustup, rvm, nvm, etc. There is also no standard package manager. It is very hard to persuade GCC to use a specific set of libraries that you have obtained using a package manager, or vendored or whatever, rather than getting distracted by random libraries it happens to find in in /lib etc. The root of the pain is that you really want to use the host system's platform libraries, the ones which implement the POSIX API, but once the compiler can see those, it tends to go off looking for other things in the same place. In my experience, at least! These deficiencies are tied up with the historical interrelationship of C and the operating system, but that doesn't mean that they aren't real.