home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gawk-2.15.6-base.tgz / gawk-2.15.6-base.tar / fsf / gawk / pc / config.h next >
Text File  |  1993-12-29  |  8KB  |  281 lines

  1. /*
  2.  * config.h -- configuration definitions for gawk.
  3.  *
  4.  * OS/2 or MS-DOS systems using emx/gcc or MSC
  5.  */
  6.  
  7. /* 
  8.  * Copyright (C) 1991-1993 the Free Software Foundation, Inc.
  9.  * 
  10.  * This file is part of GAWK, the GNU implementation of the
  11.  * AWK Progamming Language.
  12.  * 
  13.  * GAWK is free software; you can redistribute it and/or modify
  14.  * it under the terms of the GNU General Public License as published by
  15.  * the Free Software Foundation; either version 2, or (at your option)
  16.  * any later version.
  17.  * 
  18.  * GAWK is distributed in the hope that it will be useful,
  19.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21.  * GNU General Public License for more details.
  22.  * 
  23.  * You should have received a copy of the GNU General Public License
  24.  * along with GAWK; see the file COPYING.  If not, write to
  25.  * the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  26.  */
  27.  
  28. /*
  29.  * This file isolates configuration dependencies for gnu awk.
  30.  * You should know something about your system, perhaps by having
  31.  * a manual handy, when you edit this file.  You should copy config.h-dist
  32.  * to config.h, and edit config.h.  Do not modify config.h-dist, so that
  33.  * it will be easy to apply any patches that may be distributed.
  34.  *
  35.  * The general idea is that systems conforming to the various standards
  36.  * should need to do the least amount of changing.  Definining the various
  37.  * items in ths file usually means that your system is missing that
  38.  * particular feature.
  39.  *
  40.  * The order of preference in standard conformance is ANSI C, POSIX,
  41.  * and the SVID.
  42.  *
  43.  * If you have no clue as to what's going on with your system, try
  44.  * compiling gawk without editing this file and see what shows up
  45.  * missing in the link stage.  From there, you can probably figure out
  46.  * which defines to turn on.
  47.  */
  48.  
  49. /**************************/
  50. /* Miscellanious features */
  51. /**************************/
  52.  
  53. /*
  54.  * BLKSIZE_MISSING
  55.  *
  56.  * Check your /usr/include/sys/stat.h file.  If the stat structure
  57.  * does not have a member named st_blksize, define this.  (This will
  58.  * most likely be the case on most System V systems prior to V.4.)
  59.  */
  60. #define    BLKSIZE_MISSING    1
  61.  
  62. /*
  63.  * SIGTYPE
  64.  *
  65.  * The return type of the routines passed to the signal function.
  66.  * Modern systems use `void', older systems use `int'.
  67.  * If left undefined, it will default to void.
  68.  */
  69. /* #define SIGTYPE    int */
  70.  
  71. /*
  72.  * SIZE_T_MISSING
  73.  *
  74.  * If your system has no typedef for size_t, define this to get a default
  75.  */
  76. /* #define    SIZE_T_MISSING    1 */
  77.  
  78. /*
  79.  * CHAR_UNSIGNED
  80.  *
  81.  * If your machine uses unsigned characters (IBM RT and RS/6000 and others)
  82.  * then define this for use in regex.c
  83.  */
  84. /* #define CHAR_UNSIGNED    1 */
  85.  
  86. /*
  87.  * HAVE_UNDERSCORE_SETJMP
  88.  *
  89.  * Check in your /usr/include/setjmp.h file.  If there are routines
  90.  * there named _setjmp and _longjmp, then you should define this.
  91.  * Typically only systems derived from Berkeley Unix have this.
  92.  */
  93. /* #define HAVE_UNDERSCORE_SETJMP    1 */
  94.  
  95. /***********************************************/
  96. /* Missing library subroutines or system calls */
  97. /***********************************************/
  98.  
  99. /*
  100.  * MEMCMP_MISSING
  101.  * MEMCPY_MISSING
  102.  * MEMSET_MISSING
  103.  *
  104.  * These three routines are for manipulating blocks of memory. Most
  105.  * likely they will either all three be present or all three be missing,
  106.  * so they're grouped together.
  107.  */
  108. /* #define MEMCMP_MISSING    1 */
  109. /* #define MEMCPY_MISSING    1 */
  110. /* #define MEMSET_MISSING    1 */
  111.  
  112. /*
  113.  * RANDOM_MISSING
  114.  *
  115.  * Your system does not have the random(3) suite of random number
  116.  * generating routines.  These are different than the old rand(3)
  117.  * routines!
  118.  */
  119. #define    RANDOM_MISSING    1
  120.  
  121. /*
  122.  * STRCASE_MISSING
  123.  *
  124.  * Your system does not have the strcasemp() and strncasecmp()
  125.  * routines that originated in Berkeley Unix.
  126.  */
  127. /* #define    STRCASE_MISSING    1 */
  128. #define strcasecmp   stricmp
  129. #define strncasecmp  strnicmp
  130.  
  131. /*
  132.  * STRCHR_MISSING
  133.  *
  134.  * Your system does not have the strchr() and strrchr() functions.
  135.  */
  136. /* #define STRCHR_MISSING    1 */
  137.  
  138. /*
  139.  * STRERROR_MISSING
  140.  *
  141.  * Your system lacks the ANSI C strerror() routine for returning the
  142.  * strings associated with errno values.
  143.  */
  144. /* #define STRERROR_MISSING    1 */
  145.  
  146. /*
  147.  * STRTOD_MISSING
  148.  *
  149.  * Your system does not have the strtod() routine for converting
  150.  * strings to double precision floating point values.
  151.  */
  152. /* #define STRTOD_MISSING    1 */
  153.  
  154. /*
  155.  * STRFTIME_MISSING
  156.  *
  157.  * Your system lacks the ANSI C strftime() routine for formatting
  158.  * broken down time values.
  159.  */
  160. #define    STRFTIME_MISSING    1
  161.  
  162. /*
  163.  * TZSET_MISSING
  164.  *
  165.  * If you have a 4.2 BSD vintage system, then the strftime() routine
  166.  * supplied in the missing directory won't be enough, because it relies on the
  167.  * tzset() routine from System V / Posix.  Fortunately, there is an
  168.  * emulation for tzset() too that should do the trick.  If you don't
  169.  * have tzset(), define this.
  170.  */
  171. /* #define TZSET_MISSING    1 */
  172.  
  173. /*
  174.  * TZNAME_MISSING
  175.  *
  176.  * Some systems do not support the external variables tzname and daylight.
  177.  * If this is the case *and* strftime() is missing, define this.
  178.  */
  179. /* #define TZNAME_MISSING    1 */
  180.  
  181. /*
  182.  * STDC_HEADERS
  183.  *
  184.  * If your system does have ANSI compliant header files that
  185.  * provide prototypes for library routines, then define this.
  186.  */
  187. #define    STDC_HEADERS    1
  188.  
  189. /*
  190.  * NO_TOKEN_PASTING
  191.  *
  192.  * If your compiler define's __STDC__ but does not support token
  193.  * pasting (tok##tok), then define this.
  194.  */
  195. /* #define NO_TOKEN_PASTING    1 */
  196.  
  197. /*****************************************************************/
  198. /* Stuff related to the Standard I/O Library.             */
  199. /*****************************************************************/
  200. /* Much of this is (still, unfortunately) black magic in nature. */
  201. /* You may have to use some or all of these together to get gawk */
  202. /* to work correctly.                         */
  203. /*****************************************************************/
  204.  
  205. /*
  206.  * NON_STD_SPRINTF
  207.  *
  208.  * Look in your /usr/include/stdio.h file.  If the return type of the
  209.  * sprintf() function is NOT `int', define this.
  210.  */
  211. /* #define NON_STD_SPRINTF    1 */
  212.  
  213. /*
  214.  * VPRINTF_MISSING
  215.  *
  216.  * Define this if your system lacks vprintf() and the other routines
  217.  * that go with it.  This will trigger an attempt to use _doprnt().
  218.  * If you don't have that, this attempt will fail and you are on your own.
  219.  */
  220. /* #define VPRINTF_MISSING    1 */
  221.  
  222. /*
  223.  * Casts from size_t to int and back.  These will become unnecessary
  224.  * at some point in the future, but for now are required where the
  225.  * two types are a different representation.
  226.  */
  227. /* #define SZTC */
  228. /* #define INTC */
  229.  
  230. /*
  231.  * SYSTEM_MISSING
  232.  *
  233.  * Define this if your library does not provide a system function
  234.  * or you are not entirely happy with it and would rather use
  235.  * a provided replacement (atari only).
  236.  */
  237. /* #define SYSTEM_MISSING   1 */
  238.  
  239. /*
  240.  * FMOD_MISSING
  241.  *
  242.  * Define this if your system lacks the fmod() function and modf() will
  243.  * be used instead.
  244.  */
  245. /* #define FMOD_MISSING    1 */
  246.  
  247.  
  248. /*******************************/
  249. /* Gawk configuration options. */
  250. /*******************************/
  251.  
  252. /*
  253.  * DEFPATH
  254.  *
  255.  * The default search path for the -f option of gawk.  It is used
  256.  * if the AWKPATH environment variable is undefined.  The default
  257.  * definition is provided here.  Most likely you should not change
  258.  * this.
  259.  */
  260.  
  261. /* #define DEFPATH    ".:/usr/lib/awk:/usr/local/lib/awk" */
  262. /* #define ENVSEP    ':' */
  263. #define ENVSEP    ';'
  264.  
  265. /*
  266.  * alloca already has a prototype defined - don't redefine it
  267.  */
  268. /* #define ALLOCA_PROTO    1 */
  269.  
  270. /*
  271.  * srandom already has a prototype defined - don't redefine it
  272.  */
  273. /* #define SRANDOM_PROTO    1 */
  274.  
  275. /*
  276.  * getpgrp() in sysvr4 and POSIX takes no argument
  277.  */
  278. /* #define GETPGRP_NOARG    0 */
  279.  
  280. /* anything that follows is for system-specific short-term kludges */
  281.