gawkextlib (The GNU Awk User’s Guide)
Next: Extension summary, Previous: Extension Samples, Up: Dynamic Extensions [Contents][Index]
17.8 The gawkextlib Project
The 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:
abortextension. It allows you to exit immediately from yourawkprogram without running theENDrules.jsonextension. This serializes a multidimensional array into a JSON string, and can deserialize a JSON string into agawkarray. 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 XML parsing library
You can check out the code for the gawkextlib project using the Git 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 JSON parser library installed in order to build and use the json extension.
You will need to have the Expat XML parser library installed in order to build and use the XML extension.
In addition, you must have the GNU Autotools installed (Autoconf, Automake, Libtool, and GNU 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.
Next: Extension summary, Previous: Extension Samples, Up: Dynamic Extensions [Contents][Index]