#include source “foo.c”, why not?

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.

Leave a Reply

Your email address will not be published. Required fields are marked *