It’s the same with Windows. I worked on minkernel and onekernel. There are a ton of pre-processor directives for different cpu’s and all kinds of hardware pre-processor directives. Even pre-processor directives for different companies. Unused code paths are eliminated during compile time. The pre-processor directives are more of an annoyance for the developers anyways. If you didn’t organize your code, then you get what you deserve.
It’s the same with Windows. I worked on minkernel and onekernel. There are a ton of pre-processor directives for different cpu’s and all kinds of hardware pre-processor directives. Even pre-processor directives for different companies. Unused code paths are eliminated during compile time. The pre-processor directives are more of an annoyance for the developers anyways. If you didn’t organize your code, then you get what you deserve.