Source:Config1.h

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