
The Sin of Sloth – an external module system for C - akakievich
https://billwadge.wordpress.com/2020/06/23/the-sin-of-sloth-an-external-module-system-for-c/
======
smartmic
This reads quite complicated, a simple example would really help to get the
picture.

Just as side-note: There is already a kind of C module system, at least when
you can live with GPL licensed code: The GNU Portability Library (Gnulib).
It's a source code collection designed for portability and in combination with
GNU Autotools a very powerful toolbox.

~~~
jacobush
How is gnulib at all a module system? It's just a library from what I can
tell.

~~~
smartmic
Gnulib is distributed in source code format and comprises several bundled
functions aka "modules" including dependencies.

You either download individual files online or clone the whole repository for
local usage. There is the gnulib-tool utility which you use to copy the
required source modules into your project. They come along with Autoconf
macros and build scripts.

After properly setting up your configure.ac and Makefile.am, all imported
modules will be build, the resulting object is a static libary libgnu.a, ready
for linking.

On the source code side, the only thing you will do is #include "<module>.h"
and use the available functions.

Autoconf & Automake take care of the rest for building.

For me, this feels very much like a module system (designed for maximum
portability), but of course there might be other definitions of a module
system.

[https://www.gnu.org/software/gnulib/MODULES.html](https://www.gnu.org/software/gnulib/MODULES.html)

~~~
jacobush
Colour me surprised. Yeah, that looks like a module system to me.

------
jacobush
So, where can I download this module system?

~~~
andi999
Maybe that is the reason it didnt catch on? (actually I am having the same
question as you)

~~~
bade
I'll arrange something

~~~
classified
Were you committing the sin of sloth when writing that post? But seriously,
announcing something like that and not following "show me the code" is rather
unusual these days.

~~~
uxp100
What do you mean announcing? My read of this site is that it's a blog post
about an interesting project from the past.

