When there was unix and make, manually editing makefiles was considered an art, but doable. However, multiple styles of where to put stuff in directories, etc emerged. X11 brought makedepend that at least could rid the tedious header dependency aspect. But on non Unix (microsoft and others) tooling had enough differences that cross platform was almost impossible, or meant porting or providing a dedicated build system, or have platform specific tooling for your stuff.
If there would be a one-size-fits-all solution, we would have that already. And the platform ownership strategy worked against that.
The biggest problem is that different solutions usually do not merge easily. So to combine library A with library B that use different build tools requires manual labor, or even the use of a third tool. Resulting in even more proliferation or hackish solutions solving the individual project-specific problems without generalization.
I think to provide good basis is to collect the problems that are solved by the different current mismatched tools and then try to find out what part can be standardized to remedy the situation. But hopes are low...
Sent from Peter Sommerlad's
iPad+41 79 432 23 32
Can you provide concrete examples of the problems you've encountered? Can these be tooled around? (For instance, we build a database of all symbols potentially known to the pre-processor for a given project and see where the potential incompatibilities lie?)