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