B.1.3 Contents of the gawk Distribution

The gawk distribution has a number of C source files, documentation files, subdirectories, and files related to the configuration process (see Compiling and Installing gawk on Unix-Like Systems), as well as several subdirectories related to different non-Unix operating systems:

Various ‘.c’, ‘.y’, and ‘.h’ files

These files contain the actual gawk source code.

support/*

C header and source files for routines that gawk uses, but that are not part of its core functionality. For example, argument parsing, regular expression matching, and random number generating routines are all kept here.

ABOUT-NLS

A file containing information about GNU gettext and translations.

AUTHORS

A file with some information about the authorship of gawk. It exists only to satisfy the pedants at the Free Software Foundation.

README
README_d/README.*

Descriptive files: README for gawk under Unix and the rest for the various hardware and software combinations.

INSTALL

A file providing an overview of the configuration and installation process.

ChangeLog

A detailed list of source code changes as bugs are fixed or improvements made. There are similar files in all of the subdirectories.

ChangeLog.0
ChangeLog.1

Older lists of source code changes. There are similar files in all of the subdirectories.

NEWS

A list of changes to gawk since the last release or patch. There may be similar files in other subdirectories.

NEWS.0
NEWS.1

Older lists of changes to gawk. There may be similar files in other subdirectories.

COPYING

The GNU General Public License.

POSIX.STD

A description of behaviors in the POSIX standard for awk that are left undefined, or where gawk may not comply fully, as well as a list of things that the POSIX standard should describe but does not.

doc/awkforai.txt

Pointers to the original draft of a short article describing why gawk is a good language for artificial intelligence (AI) programming.

doc/bc_notes

A brief description of gawk’s “byte code” internals.

doc/README.card
doc/ad.block
doc/awkcard.in
doc/cardfonts
doc/colors
doc/macros
doc/no.colors
doc/setter.outline

The troff source for a five-color awk reference card. A modern version of troff such as GNU troff (groff) is needed to produce the color version. See the file README.card for instructions if you have an older troff.

doc/gawk.1

The troff source for a manual page describing gawk. This is distributed for the convenience of Unix users.

doc/gawk.texi

The Texinfo source file for this Web page. It should be processed by texi2dvi or texi2pdf to produce a printed document, and by makeinfo to produce an Info or HTML file. The Makefile takes care of this processing and produces printable output via texi2dvi or texi2pdf.

doc/gawk.info

The generated Info file for this Web page.

doc/gawkinet.texi

The Texinfo source file for TCP/IP Internetworking with gawk. It should be processed with TeX (via texi2dvi or texi2pdf) to produce a printed document and with makeinfo to produce an Info or HTML file.

doc/gawkinet.info

The generated Info file for TCP/IP Internetworking with gawk.

doc/gawkworkflow.texi

The Texinfo source file for Participating in gawk Development. It should be processed with TeX (via texi2dvi or texi2pdf) to produce a printed document and with makeinfo to produce an Info or HTML file.

doc/gawkworkflow.info

The generated Info file for Participating in gawk Development.

doc/pm-gawk.texi

The Texinfo source file for Persistent-Memory gawk User Manual. It should be processed with TeX (via texi2dvi or texi2pdf) to produce a printed document and with makeinfo to produce an Info or HTML file.

doc/pm-gawk.info

The generated Info file for Persistent-Memory gawk User Manual.

doc/pm-gawk.1

The troff source for a manual page describing the persistent memory features presented in Preserving Data Between Runs.

doc/igawk.1

The troff source for a manual page describing the igawk program presented in An Easy Way to Use Library Functions. (Since gawk can do its own @include processing, neither igawk nor igawk.1 are installed.)

doc/it/*

Files for the Italian translation of this Web page, produced and contributed by Antonio Colombo and Marco Curreli.

doc/Makefile.in

The input file used during the configuration process to generate the actual Makefile for creating the documentation.

Makefile.am
*/Makefile.am

Files used by the GNU Automake software for generating the Makefile.in files used by Autoconf and configure.

Makefile.in
aclocal.m4
build-aux/*
configh.in
configure.ac
configure
custom.h
missing_d/*
m4/*

These files and subdirectories are used when configuring and compiling gawk for various Unix systems. Most of them are explained in Compiling and Installing gawk on Unix-Like Systems. The rest are there to support the main infrastructure.

po/*

The po library contains message translations.

awklib/extract.awk
awklib/Makefile.am
awklib/Makefile.in
awklib/eg/*

The awklib directory contains a copy of extract.awk (see Extracting Programs from Texinfo Source Files), which can be used to extract the sample programs from the Texinfo source file for this Web page. It also contains a Makefile.in file, which configure uses to generate a Makefile. Makefile.am is used by GNU Automake to create Makefile.in. The library functions from A Library of awk Functions, are included as ready-to-use files in the gawk distribution. They are installed as part of the installation process. The rest of the programs in this Web page are available in appropriate subdirectories of awklib/eg.

extension/*

The source code, manual pages, and infrastructure files for the sample extensions included with gawk. See Writing Extensions for gawk, for more information.

extras/*

Additional non-essential files. Currently, this directory contains some shell startup files to be installed in /etc/profile.d to aid in manipulating the AWKPATH and AWKLIBPATH environment variables. See Shell Startup Files, for more information.

posix/*

Files needed for building gawk on POSIX-compliant systems.

pc/*

Files needed for building gawk under MS-Windows (see Installation on MS-Windows for details).

vms/*

Files needed for building gawk under OpenVMS (see Compiling and Installing gawk on OpenVMS for details).

test/*

A test suite for gawk. You can use ‘make check’ from the top-level gawk directory to run your version of gawk against the test suite. If gawk successfully passes ‘make check’, then you can be confident of a successful port.