Source:NetHack 3.3.0/config1.h

Below is the full text to config1.h from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/config1.h#line123 ]], for example.

Warning! This is the source code from an old release. For the latest release, see Source code

1.   /*	SCCS Id: @(#)config1.h	3.3	1999/12/05	*/ 2.   /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3.    /* NetHack may be freely redistributed. See license for details. */ 4.     5.    #ifndef CONFIG1_H 6.   #define CONFIG1_H 7.    8.    /*  9.     * MS DOS - compilers 10.   *  11.    * Microsoft C auto-defines MSDOS, 12.   * Borland C   auto-defines __MSDOS__, 13.   * DJGPP       auto-defines MSDOS. 14.   */  15.    16.   /* #define MSDOS */	/* use if not defined by compiler or cases below */ 17.   18.   #ifdef __MSDOS__	/* for Borland C */ 19.  # ifndef MSDOS 20.  # define MSDOS 21.  # endif 22.  #endif 23.   24.   #ifdef __TURBOC__ 25.  # define __MSC		/* increase Borland C compatibility in libraries */ 26.  #endif 27.   28.   #ifdef MSDOS 29.  # undef UNIX 30.  #endif 31.   32.   /*  33.    * Mac Stuff. 34.   */  35.   #ifdef applec		/*	MPW auto-defined symbol */ 36.  # define MAC 37.  #endif 38.   39.   #ifdef THINK_C		/* Think C auto-defined symbol */ 40.  # define MAC 41.  # define NEED_VARARGS 42.  #endif 43.   44.   #ifdef __MWERKS__	/* defined by Metrowerks compiler */ 45.  # ifndef __BEOS__	/* BeOS */ 46.  #  define MAC 47.  # endif 48.  # define NEED_VARARGS 49.  # define USE_STDARG 50.  #endif 51.   52.   #if defined(MAC) || defined(__BEOS__) 53.  # define DLB 54.  # undef UNIX 55.  #endif 56.   57.   #ifdef __BEOS__ 58.  # define NEED_VARARGS 59.  #endif 60.   61.    62.   /*  63.    * Amiga setup. 64.   */  65.   #ifdef AZTEC_C	/* Manx auto-defines this */ 66.  # ifdef MCH_AMIGA	/* Manx auto-defines this for AMIGA */ 67.  #  ifndef AMIGA 68.  #define AMIGA		/* define for Commodore-Amiga */ 69.  #  endif		/* (SAS/C auto-defines AMIGA) */ 70.  #define AZTEC_50	/* define for version 5.0 of manx */ 71.  # endif 72.  #endif 73.  #ifdef __SASC_60 74.  # define NEARDATA __near /* put some data close */ 75.  #else 76.  # ifdef _DCC 77.  # define NEARDATA __near /* put some data close */ 78.  # else 79.  # define NEARDATA 80.  # endif 81.  #endif 82.  #ifdef AMIGA 83.  # define NEED_VARARGS 84.  # undef UNIX 85.  # define DLB 86.  # define HACKDIR "NetHack:" 87.  # define NO_MACRO_CPATH 88.  #endif 89.   90.   /*  91.    * Atari auto-detection 92.   */  93.    94.   #ifdef atarist 95.  # undef UNIX 96.  # ifndef TOS 97.  # define TOS 98.  # endif 99.  #else 100. # ifdef __MINT__ 101. #  undef UNIX 102. #  ifndef TOS 103. #  define TOS 104. #  endif 105. # endif 106. #endif 107.  108.  /*  109.   * Windows NT Autodetection 110.  */  111.   112.  #ifdef WIN32 113. # undef UNIX 114. # undef MSDOS 115. # define NHSTDC 116. # define STRNCMPI 117. # define USE_STDARG 118. # define NEED_VARARGS 119. #endif 120.  121.   122.  #ifdef VMS	/* really old compilers need special handling, detected here */ 123. # undef UNIX 124. # ifdef __DECC 125. #  ifndef __DECC_VER	/* buggy early versions want widened prototypes */ 126. #   define NOTSTDC	/* except when typedefs are involved		*/ 127. #   define USE_VARARGS 128. #  else 129. #   define NHSTDC 130. #   define USE_STDARG 131. #   define POSIX_TYPES 132. #   define _DECC_V4_SOURCE	/* avoid some incompatible V5.x changes */ 133. #  endif 134. #  undef __HIDE_FORBIDDEN_NAMES /* need non-ANSI library support functions */ 135. # else 136. #  ifdef VAXC	/* must use CC/DEFINE=ANCIENT_VAXC for vaxc v2.2 or older */ 137. #   ifdef ANCIENT_VAXC	/* vaxc v2.2 and earlier [lots of warnings to come] */ 138. #    define KR1ED	/* simulate defined */ 139. #    define USE_VARARGS 140. #   else		/* vaxc v2.3,2.4,or 3.x, or decc in vaxc mode */ 141. #     if defined(USE_PROTOTYPES) /* this breaks 2.2 (*forces* use of ANCIENT)*/ 142. #      define __STDC__ 0 /* vaxc is not yet ANSI compliant, but close enough */ 143. #      define signed	/* well, almost close enough */ 144. #include   145. #     define UNWIDENED_PROTOTYPES 146. #     endif 147. #     define USE_STDARG 148. #   endif 149. #  endif /*VAXC*/ 150. # endif /*__DECC*/ 151. # ifdef VERYOLD_VMS	/* v4.5 or earlier; no longer available for testing */ 152. #  define USE_OLDARGS	/*  is there, vprintf & vsprintf aren't */ 153. #  ifdef USE_VARARGS 154. #   undef USE_VARARGS 155. #  endif 156. #  ifdef USE_STDARG 157. #   undef USE_STDARG 158. #  endif 159. # endif 160. #endif /*VMS*/ 161.  162.  #ifdef vax 163. /* just in case someone thinks a DECstation is a vax. It's not, it's a mips */ 164. # ifdef ULTRIX_PROTO 165. #  undef ULTRIX_PROTO 166. # endif 167. # ifdef ULTRIX_CC20 168. #  undef ULTRIX_CC20 169. # endif 170. #endif 171.  172.  #ifdef KR1ED		/* For compilers which cannot handle defined */ 173. #define defined(x) (-x-1 != -1) 174. /* Because: 175.  * #define FOO => FOO={} => defined => (-1 != - - 1) => 1 176.  * #define FOO 1 or on command-line -DFOO 177.  *	=> defined(1) => (-1 != - 1 - 1) => 1 178.  * if FOO isn't defined, FOO=0. But some compilers default to 0 instead of 1 179.  * for -DFOO, oh well. 180.  *	=> defined(0) => (-1 != - 0 - 1) => 0 181.  *  182.   * But: 183.  * defined("") => (-1 != - "" - 1) 184.  *   [which is an unavoidable catastrophe.] 185.  */  186.  #endif 187.  188.  #endif	/* CONFIG1_H */