Source:NetHack 3.4.0/config1.h

Below is the full text to config1.h from the source code of NetHack 3.4.0. To link to a particular line, write [[NetHack 3.4.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.4	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 macintosh	/*	Auto-defined symbol for MPW compilers (sc and mrc) */ 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' Codewarrior 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.  #ifdef _WIN32_WCE 112. # ifndef WIN32 113. # define WIN32 114. # endif 115. #endif 116.  117.  #ifdef WIN32 118. # undef UNIX 119. # undef MSDOS 120. # define NHSTDC 121. # define STRNCMPI 122. # define USE_STDARG 123. # define NEED_VARARGS 124.  125.  #endif 126.  127.   128.  #ifdef VMS	/* really old compilers need special handling, detected here */ 129. # undef UNIX 130. # ifdef __DECC 131. #  ifndef __DECC_VER	/* buggy early versions want widened prototypes */ 132. #   define NOTSTDC	/* except when typedefs are involved		*/ 133. #   define USE_VARARGS 134. #  else 135. #   define NHSTDC 136. #   define USE_STDARG 137. #   define POSIX_TYPES 138. #   define _DECC_V4_SOURCE	/* avoid some incompatible V5.x changes */ 139. #  endif 140. #  undef __HIDE_FORBIDDEN_NAMES /* need non-ANSI library support functions */ 141. # else 142. #  ifdef VAXC	/* must use CC/DEFINE=ANCIENT_VAXC for vaxc v2.2 or older */ 143. #   ifdef ANCIENT_VAXC	/* vaxc v2.2 and earlier [lots of warnings to come] */ 144. #    define KR1ED	/* simulate defined */ 145. #    define USE_VARARGS 146. #   else		/* vaxc v2.3,2.4,or 3.x, or decc in vaxc mode */ 147. #     if defined(USE_PROTOTYPES) /* this breaks 2.2 (*forces* use of ANCIENT)*/ 148. #      define __STDC__ 0 /* vaxc is not yet ANSI compliant, but close enough */ 149. #      define signed	/* well, almost close enough */ 150. #include   151. #     define UNWIDENED_PROTOTYPES 152. #     endif 153. #     define USE_STDARG 154. #   endif 155. #  endif /*VAXC*/ 156. # endif /*__DECC*/ 157. # ifdef VERYOLD_VMS	/* v4.5 or earlier; no longer available for testing */ 158. #  define USE_OLDARGS	/*  is there, vprintf & vsprintf aren't */ 159. #  ifdef USE_VARARGS 160. #   undef USE_VARARGS 161. #  endif 162. #  ifdef USE_STDARG 163. #   undef USE_STDARG 164. #  endif 165. # endif 166. #endif /*VMS*/ 167.  168.  #ifdef vax 169. /* just in case someone thinks a DECstation is a vax. It's not, it's a mips */ 170. # ifdef ULTRIX_PROTO 171. #  undef ULTRIX_PROTO 172. # endif 173. # ifdef ULTRIX_CC20 174. #  undef ULTRIX_CC20 175. # endif 176. #endif 177.  178.  #ifdef KR1ED		/* For compilers which cannot handle defined */ 179. #define defined(x) (-x-1 != -1) 180. /* Because: 181.  * #define FOO => FOO={} => defined => (-1 != - - 1) => 1 182.  * #define FOO 1 or on command-line -DFOO 183.  *	=> defined(1) => (-1 != - 1 - 1) => 1 184.  * if FOO isn't defined, FOO=0. But some compilers default to 0 instead of 1 185.  * for -DFOO, oh well. 186.  *	=> defined(0) => (-1 != - 0 - 1) => 0 187.  *  188.   * But: 189.  * defined("") => (-1 != - "" - 1) 190.  *   [which is an unavoidable catastrophe.] 191.  */  192.  #endif 193.  194.  #endif	/* CONFIG1_H */