manpagez: man pages & more
info gawk
Home | html | info | man

File: gawk.info,  Node: gawkextlib,  Next: Extension summary,  Prev: Extension Samples,  Up: Dynamic Extensions

17.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  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.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.