Previous: , Up: Dynamic Extensions   [Contents][Index]


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

As of this writing, there are five extensions:

The time extension described earlier (see Extension Sample Time) was originally from this project but has been moved in to the main gawk distribution.

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 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 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, build gawkextlib and test it:

cd .../path/to/gawkextlib-code
./update-autotools                    Generate configure, etc.
                                      You may have to run this command twice
./configure --with-gawk=/tmp/newgawk  Configure, point at “installed” gawk
make && make check                    Build and check that all is OK
make install                          Install the extensions

If you have installed gawk in the standard way, then you will likely not need the --with-gawk option when configuring gawkextlib. You may also 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, please consider doing so through the gawkextlib project. See the project’s web site for more information.


Previous: , Up: Dynamic Extensions   [Contents][Index]