gawk: Old Extension Problems

1 
1 C.5.1 Problems With The Old Mechanism
1 -------------------------------------
1 
1 The old extension mechanism had several problems:
1 
1    * It depended heavily upon 'gawk' internals.  Any time the 'NODE'
1      structure(1) changed, an extension would have to be recompiled.
1      Furthermore, to really write extensions required understanding
1      something about 'gawk''s internal functions.  There was some
1      documentation in this Info file, but it was quite minimal.
1 
1    * Being able to call into 'gawk' from an extension required linker
1      facilities that are common on Unix-derived systems but that did not
1      work on MS-Windows systems; users wanting extensions on MS-Windows
1      had to statically link them into 'gawk', even though MS-Windows
1      supports dynamic loading of shared objects.
1 
1    * The API would change occasionally as 'gawk' changed; no
1      compatibility between versions was ever offered or planned for.
1 
1    Despite the drawbacks, the 'xgawk' project developers forked 'gawk'
1 and developed several significant extensions.  They also enhanced
1 'gawk''s facilities relating to file inclusion and shared object access.
1 
1    A new API was desired for a long time, but only in 2012 did the
1 'gawk' maintainer and the 'xgawk' developers finally start working on it
1 together.  More information about the 'xgawk' project is provided in
1 ⇒gawkextlib.
1 
1    ---------- Footnotes ----------
1 
1    (1) A critical central data structure inside 'gawk'.
1