When want make interoperability with other mod, for me is best way use preprocessor annotation. Another mod have #define MODNAME and in my mod i am using #ifdef MODNAME....
Preprocessor anntotation can hide code which is not defined when mod is not present.
But this actually not working correct, or we as modders using it wrong way. Sometimes its detect others mod define, sometimes not. Can devs help us howto achieve better interoperability between mods? Nobody want make milions of small mods only for compatibility betweem mod A and mod B. This preprocessor definition will be very useful when works 100%. Not only in .c files but also in .cpp config files.
I think there should be some exception for these defines, to load it first, then all mods will see all definitions from other mods and can easy integrate methods from others mods.
Will be very helpful feature for easy cooperation between mods.