If we would have #include source construct that includes compilation units into final assembly (rather than just headers in-place) any library can be included to a project as plain .c file:
// foo-library.c #include "foo.h" #include source "foo-a.c" #include source "foo-b.c" #if defined(PLATFORM_MACOS) #include source "foo-mac.c" #elif defined(PLATFORM_WINDOWS) #include source "foo-win.c" #else #include source "foo-posix.c" #endif
Pretty much each popular C/C++ library can be wrapped into such amalgamation files. This will make our life easier – eliminate the need of the whole zoo of build/make systems. At great extent at least.
And see discussion on reddit.