What is Nostr?
nytpu /
npub13ms…pn79
2024-12-26 20:00:29

nytpu on Nostr: Once-once again looking at C build systems other than Make and wondering if there are ...

Once-once again looking at C build systems other than Make and wondering if there are any that are suitable for any use (i.e. literally anything “out of the ordinary”)

Hard requirements for any build system:
- Running custom code generators at build time easily
- Doing postprocessing on a compiled binary easily
- Targeting a single specific system in a way that isn't an easily-broken hack on top of usually already hacky cross-compilation
- Using a custom in-tree crt0 and linker script but not (necessarily) a custom libc, and still being able to include standard runtime files like crtbegin and crtend
- Overriding the default toolchain with a custom one without having to manually reimplement all the compiler flag handling and such
- Assembly files assembled with a custom assembler, whether GNU as (****DIRECTLY, NOT USING gcc AS A WRAPPER****) or nasm or whatever

Things that would be nice to have:
- Automatic dependency tracking on header files
- Being able to build multiple binaries in one invocation
- Some decent way to handle a small number of vendored dependencies (they're vendored by necessity)

Things I don't care about (not that I mind them existing either):
- C++ support
- Modularizing the build system into 100000000 pieces in every subdirectory (like Meson and CMake seem to want you to do) instead of having a single monolithic build file
Author Public Key
npub13msuj9j46g097smcjp8dzcnzzdgnh9vzkg9448ymgdqxp6fs94hqkhpn79