Next: Extension New Mechanism Goals, Up: Extension Design [Contents][Index]
The old extension mechanism had several problems:
gawk internals.  Any time the
NODE structure120 changed, an extension would have to be
recompiled. Furthermore, to really write extensions required understanding
something about gawk’s internal functions.  There was some
documentation in this Web page, but it was quite minimal.
gawk from an extension required linker
facilities that are common on Unix-derived systems but that did
not work on MS-Windows systems; users wanting extensions on MS-Windows
had to statically link them into gawk, even though MS-Windows supports
dynamic loading of shared objects.
gawk changed; no compatibility
between versions was ever offered or planned for.
Despite the drawbacks, the xgawk project developers forked
gawk and developed several significant extensions. They also
enhanced gawk’s facilities relating to file inclusion and
shared object access.
A new API was desired for a long time, but only in 2012 did the
gawk maintainer and the xgawk developers finally
start working on it together.  More information about the xgawk
project is provided in The gawkextlib Project.