On Sun, Feb 21, 2021 at 1:07 PM Gregory P. Smith email@example.com wrote:
I'm +1 in general for your proposal. I also like the idea to adopt
Rust's platform support definition.
+1, but see below.
The main thing from a project maintenance perspective is for platforms to not become a burden to other code maintainers. PRs need to be reviewed. Every #if/#endif in code is a cognitive burden. So being a minor platform can come with unexpected breakages that need fixing due to other changes made in the codebase that did not pay attention to the platform. As we cannot expect everyone working on code to care about anything beyond the tier-1 fully supported platforms, buildbot or not.
I think #ifdef's are a big part of the problem, actually.
IIRC, the Linux kernel has been reducing/eliminating #ifdef's and instead using different .c's for each platform's platform-specific code.