gawk: Configuration Philosophy
1
1 B.2.4 The Configuration Process
1 -------------------------------
1
1 This minor node is of interest only if you know something about using
1 the C language and Unix-like operating systems.
1
1 The source code for 'gawk' generally attempts to adhere to formal
1 standards wherever possible. This means that 'gawk' uses library
1 routines that are specified by the ISO C standard and by the POSIX
1 operating system interface standard. The 'gawk' source code requires
1 using an ISO C compiler (the 1990 standard).
1
1 Many Unix systems do not support all of either the ISO or the POSIX
1 standards. The 'missing_d' subdirectory in the 'gawk' distribution
1 contains replacement versions of those functions that are most likely to
1 be missing.
1
1 The 'config.h' file that 'configure' creates contains definitions
1 that describe features of the particular operating system where you are
1 attempting to compile 'gawk'. The three things described by this file
1 are: what header files are available, so that they can be correctly
1 included, what (supposedly) standard functions are actually available in
1 your C libraries, and various miscellaneous facts about your operating
1 system. For example, there may not be an 'st_blksize' element in the
1 'stat' structure. In this case, 'HAVE_STRUCT_STAT_ST_BLKSIZE' is
1 undefined.
1
1 It is possible for your C compiler to lie to 'configure'. It may do
1 so by not exiting with an error when a library function is not
1 available. To get around this, edit the 'custom.h' file. Use an
1 '#ifdef' that is appropriate for your system, and either '#define' any
1 constants that 'configure' should have defined but didn't, or '#undef'
1 any constants that 'configure' defined and should not have. The
1 'custom.h' file is automatically included by the 'config.h' file.
1
1 It is also possible that the 'configure' program generated by
1 Autoconf will not work on your system in some other fashion. If you do
1 have a problem, the 'configure.ac' file is the input for Autoconf. You
1 may be able to change this file and generate a new version of
1 'configure' that works on your system (⇒Bugs for information on
1 how to report problems in configuring 'gawk'). The same mechanism may
1 be used to send in updates to 'configure.ac' and/or 'custom.h'.
1