abstract
| - 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 */
|