gawk: gawkextlib

 
 16.8 The 'gawkextlib' Project
 =============================
 
 The 'gawkextlib' (https://sourceforge.net/projects/gawkextlib/) project
 provides a number of 'gawk' extensions, including one for processing XML
 files.  This is the evolution of the original 'xgawk' (XML 'gawk')
 project.
 
    There are a number of extensions.  Some of the more interesting ones
 are:
 
    * 'abort' extension.  It allows you to exit immediately from your
      'awk' program without running the 'END' rules.
 
    * 'json' extension.  This serializes a multidimensional array into a
      JSON string, and can deserialize a JSON string into a 'gawk' array.
      This extension is interesting since it is written in C++ instead of
      C.
 
    * MPFR library extension.  This provides access to a number of MPFR
      functions that 'gawk''s native MPFR support does not.
 
    * Select extension.  It provides functionality based on the
      'select()' system call.
 
    * XML parser extension, using the Expat
      (https://expat.sourceforge.net) XML parsing library
 
    You can check out the code for the 'gawkextlib' project using the Git
 (https://git-scm.com) distributed source code control system.  The
 command is as follows:
 
      git clone git://git.code.sf.net/p/gawkextlib/code gawkextlib-code
 
    You will need to have the RapidJson (http://www.rapidjson.org) JSON
 parser library installed in order to build and use the 'json' extension.
 
    You will need to have the Expat (https://expat.sourceforge.net) XML
 parser library installed in order to build and use the XML extension.
 
    In addition, you must have the GNU Autotools installed (Autoconf
 (https://www.gnu.org/software/autoconf), Automake
 (https://www.gnu.org/software/automake), Libtool
 (https://www.gnu.org/software/libtool), and GNU 'gettext'
 (https://www.gnu.org/software/gettext)).
 
    The simple recipe for building and testing 'gawkextlib' is as
 follows.  First, build and install 'gawk':
 
      cd .../path/to/gawk/code
      ./configure --prefix=/tmp/newgawk     Install in /tmp/newgawk for now
      make && make check                    Build and check that all is OK
      make install                          Install gawk
 
    Next, go to <https://sourceforge.net/projects/gawkextlib/files> to
 download 'gawkextlib' and any extensions that you would like to build.
 The 'README' file at that site explains how to build the code.  If you
 installed 'gawk' in a non-standard location, you will need to specify
 './configure --with-gawk=/PATH/TO/GAWK' to find it.  You may need to use
 the 'sudo' utility to install both 'gawk' and 'gawkextlib', depending
 upon how your system works.
 
    If you write an extension that you wish to share with other 'gawk'
 users, consider doing so through the 'gawkextlib' project.  See the
 project's website for more information.