Source:NetHack 3.4.3/include/config1.h

From NetHackWiki
Revision as of 21:34, 3 March 2008 by Kernigh bot (talk | contribs) (Config1.h moved to Source:Config1.h: Robot: moved page)
Jump to navigation Jump to search

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.    

The NetHack General Public License applies to screenshots, source code and other content from NetHack.

This content was modified from the original NetHack source code distribution (by splitting up NetHack content between wiki pages, and possibly further editing). See the page history for a list of who changed it, and on what dates.

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 <stddef.h>
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	/* <varargs.h> 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 */