Source:NetHack 3.3.0/config1.h

From NetHackWiki
Revision as of 10:16, 4 March 2008 by Kernigh bot (talk | contribs) (NetHack 3.3.0/config1.h moved to Source:NetHack 3.3.0/config1.h: Robot: moved page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

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.

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