GNU Info

Info Node: (gawk.info)Configuration Philosophy

(gawk.info)Configuration Philosophy


Prev: Additional Configuration Options Up: Unix Installation
Enter node , (file) or (file)node

The Configuration Process
-------------------------

   This minor node is of interest only if you know something about
using the C language and the Unix operating system.

   The source code for `gawk' generally attempts to adhere to formal
standards wherever possible.  This means that `gawk' uses library
routines that are specified by the ISO C standard and by the POSIX
operating system interface standard.  When using an ISO C compiler,
function prototypes are used to help improve the compile-time checking.

   Many Unix systems do not support all of either the ISO or the POSIX
standards.  The `missing_d' subdirectory in the `gawk' distribution
contains replacement versions of those functions that are most likely
to be missing.

   The `config.h' file that `configure' creates contains definitions
that describe features of the particular operating system where you are
attempting to compile `gawk'.  The three things described by this file
are: what header files are available, so that they can be correctly
included, what (supposedly) standard functions are actually available
in your C libraries, and various miscellaneous facts about your variant
of Unix.  For example, there may not be an `st_blksize' element in the
`stat' structure.  In this case, `HAVE_ST_BLKSIZE' is undefined.

   It is possible for your C compiler to lie to `configure'. It may do
so by not exiting with an error when a library function is not
available.  To get around this, edit the file `custom.h'.  Use an
`#ifdef' that is appropriate for your system, and either `#define' any
constants that `configure' should have defined but didn't, or `#undef'
any constants that `configure' defined and should not have.  `custom.h'
is automatically included by `config.h'.

   It is also possible that the `configure' program generated by
`autoconf' will not work on your system in some other fashion.  If you
do have a problem, the file `configure.in' is the input for `autoconf'.
You may be able to change this file and generate a new version of
`configure' that works on your system (Note: Reporting Problems and
Bugs., for information on how to report problems in configuring
`gawk').  The same mechanism may be used to send in updates to
`configure.in' and/or `custom.h'.


automatically generated by info2www version 1.2.2.9