home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / gawk-2.15.6-src.tgz / tar.out / fsf / gawk / config.h.in < prev    next >
Text File  |  1996-09-28  |  8KB  |  291 lines

  1. /*
  2.  * config.h -- configuration definitions for gawk.
  3.  *
  4.  * __SYSTEM__
  5.  */
  6.  
  7. /* 
  8.  * Copyright (C) 1991, 1992, 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. #undef BLKSIZE_MISSING
  61.  
  62. /*
  63.  * RETSIGTYPE
  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. #undef RETSIGTYPE
  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. #undef SIZE_T_MISSING
  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. #undef CHAR_UNSIGNED
  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.  
  94. #undef HAVE_UNDERSCORE_SETJMP
  95.  
  96. /***********************************************/
  97. /* Missing library subroutines or system calls */
  98. /***********************************************/
  99.  
  100. /*
  101.  * MEMCMP_MISSING
  102.  * MEMCPY_MISSING
  103.  * MEMSET_MISSING
  104.  *
  105.  * These three routines are for manipulating blocks of memory. Most
  106.  * likely they will either all three be present or all three be missing,
  107.  * so they're grouped together.
  108.  */
  109.  
  110. #undef MEMCMP_MISSING
  111. #undef MEMCPY_MISSING
  112. #undef MEMSET_MISSING
  113.  
  114. /*
  115.  * RANDOM_MISSING
  116.  *
  117.  * Your system does not have the random(3) suite of random number
  118.  * generating routines.  These are different than the old rand(3)
  119.  * routines!
  120.  */
  121. #undef RANDOM_MISSING
  122.  
  123. /*
  124.  * STRCASE_MISSING
  125.  *
  126.  * Your system does not have the strcasemp() and strncasecmp()
  127.  * routines that originated in Berkeley Unix.
  128.  */
  129. #undef STRCASE_MISSING
  130.  
  131. /*
  132.  * STRCHR_MISSING
  133.  *
  134.  * Your system does not have the strchr() and strrchr() functions.
  135.  */
  136. #undef STRCHR_MISSING
  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. #undef STRERROR_MISSING
  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. #undef STRTOD_MISSING
  153.  
  154. /*
  155.  * STRFTIME_MISSING
  156.  *
  157.  * Your system lacks the ANSI C strftime() routine for formatting
  158.  * broken down time values.
  159.  */
  160. #undef STRFTIME_MISSING
  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. #undef TZSET_MISSING
  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. #undef TZNAME_MISSING
  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. #undef STDC_HEADERS
  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. #undef NO_TOKEN_PASTING
  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. #undef NON_STD_SPRINTF
  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. #undef VPRINTF_MISSING
  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. #undef SZTC
  228. #undef 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. #undef SYSTEM_MISSING
  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. #undef FMOD_MISSING
  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    ".,/local/lib/awk,/ade/lib/awk"        /* HACK - fnf */
  262. #define ENVSEP    ','                    /* HACK - fnf */
  263.  
  264. /*
  265.  * alloca already has a prototype defined - don't redefine it
  266.  */
  267. #undef ALLOCA_PROTO
  268.  
  269. /*
  270.  * srandom already has a prototype defined - don't redefine it
  271.  */
  272. #undef SRANDOM_PROTO
  273.  
  274. /*
  275.  * getpgrp() in sysvr4 and POSIX takes no argument
  276.  */
  277. #undef GETPGRP_NOARG
  278.  
  279. /*
  280.  * define const to nothing if not __STDC__
  281.  */
  282. #ifndef __STDC__
  283. #define const
  284. #endif
  285.  
  286. /* If svr4 and not gcc */
  287. #undef SVR4
  288. #ifdef SVR4
  289. #define __svr4__ 1
  290. #endif
  291.