lihata is a compact textual language which can represent a tree of lists, hashes, and tables. The syntax tries to be minimal and flexible to allow formatting a lihata file to fit the context it represents. The source release contains an event and DoM parser and helper functions for maintaining lihata trees. lihata is a convenient language for both simple and complex configuration files and text representation of data files.
Libporty provides a higher level API for some commonly used library functions such as sockets, date/time, file system access, background processes, and asynchronous DNS resolving. Libporty is configured using scconfig and the API is guaranteed to work the same way on all supported systems. An application that exclusively uses the libporty API will not require autotools/scconfig for porting. Libporty has been tested on Linux, Windows, Mac OS X, multiple BSD variants, Minix, OpenSolaris, and some ancient Unix systems.
plumb is a shell with focus on pipes: instead of pipelines, it can build large graphs of processes (nodes) and pipes (edges). Pipes are simple unidirectional streams without side effects. Traffic can be controlled by virtual processes (which are nodes just like real processes, but are implemented in plumb for minimal overhead). Virtual processes can split, merge, regex filter/alter, and shape the streams. Timers and starting/stopping processes or even rewiring the script on the fly are also supported. It is portable (using libporty) and behaves exactly the same way on Linux, Windows, Mac OS X, many BSD variants, and older UNIX systems.
libmawk is a fork of mawk 1.3.3 restructured for embedding. It allows you to embed awk interpreters in any application written in C or in a language that can interface C libraries. This allows the application to have plugins, configuration, run control, and AI written in awk. It extends the original feature set of mawk with modularity (C-style include), save/load of compiled bytecode, function calling by name-in-string (substitute for pointers/references), and accounting and limiting of memory and CPU use. While awk as a language does not offer OOP and complex data structures, it is still reasonably powerful. A major advantage is the short learning curve for new users.
I've had the same problems before I sat down and wrote scconfig (http://repo.hu/projects/scconfig) - no m4 or other script dependency, no 50 layers, doesn't try to automatically generate 50000 lines of Makefile. It detects, then lets you do whatever you want with the result, be it generating a Makefile.inc with some variables you will include from your plain Makefile, config.h or a monolith Makefile.