Node:Configuration Philosophy, Previous:Additional Configuration Options, Up:Unix Installation
This section 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
(see 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
.