From a45c638b7d9a99bdfecd76cc5239df29084377c3 Mon Sep 17 00:00:00 2001 From: jwalz Date: Sat, 5 Jan 2002 21:05:47 +0000 Subject: [PATCH] *** empty log message *** --- include/config1.h | 188 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) create mode 100644 include/config1.h diff --git a/include/config1.h b/include/config1.h new file mode 100644 index 000000000..25ec29514 --- /dev/null +++ b/include/config1.h @@ -0,0 +1,188 @@ +/* SCCS Id: @(#)config1.h 3.3 1999/12/05 */ +/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ +/* NetHack may be freely redistributed. See license for details. */ + +#ifndef CONFIG1_H +#define CONFIG1_H + +/* + * MS DOS - compilers + * + * Microsoft C auto-defines MSDOS, + * Borland C auto-defines __MSDOS__, + * DJGPP auto-defines MSDOS. + */ + +/* #define MSDOS */ /* use if not defined by compiler or cases below */ + +#ifdef __MSDOS__ /* for Borland C */ +# ifndef MSDOS +# define MSDOS +# endif +#endif + +#ifdef __TURBOC__ +# define __MSC /* increase Borland C compatibility in libraries */ +#endif + +#ifdef MSDOS +# undef UNIX +#endif + +/* + * Mac Stuff. + */ +#ifdef applec /* MPW auto-defined symbol */ +# define MAC +#endif + +#ifdef THINK_C /* Think C auto-defined symbol */ +# define MAC +# define NEED_VARARGS +#endif + +#ifdef __MWERKS__ /* defined by Metrowerks compiler */ +# ifndef __BEOS__ /* BeOS */ +# define MAC +# endif +# define NEED_VARARGS +# define USE_STDARG +#endif + +#if defined(MAC) || defined(__BEOS__) +# define DLB +# undef UNIX +#endif + +#ifdef __BEOS__ +# define NEED_VARARGS +#endif + + +/* + * Amiga setup. + */ +#ifdef AZTEC_C /* Manx auto-defines this */ +# ifdef MCH_AMIGA /* Manx auto-defines this for AMIGA */ +# ifndef AMIGA +#define AMIGA /* define for Commodore-Amiga */ +# endif /* (SAS/C auto-defines AMIGA) */ +#define AZTEC_50 /* define for version 5.0 of manx */ +# endif +#endif +#ifdef __SASC_60 +# define NEARDATA __near /* put some data close */ +#else +# ifdef _DCC +# define NEARDATA __near /* put some data close */ +# else +# define NEARDATA +# endif +#endif +#ifdef AMIGA +# define NEED_VARARGS +# undef UNIX +# define DLB +# define HACKDIR "NetHack:" +# define NO_MACRO_CPATH +#endif + +/* + * Atari auto-detection + */ + +#ifdef atarist +# undef UNIX +# ifndef TOS +# define TOS +# endif +#else +# ifdef __MINT__ +# undef UNIX +# ifndef TOS +# define TOS +# endif +# endif +#endif + +/* + * Windows NT Autodetection + */ + +#ifdef WIN32 +# undef UNIX +# undef MSDOS +# define NHSTDC +# define STRNCMPI +# define USE_STDARG +# define NEED_VARARGS +#endif + + +#ifdef VMS /* really old compilers need special handling, detected here */ +# undef UNIX +# ifdef __DECC +# ifndef __DECC_VER /* buggy early versions want widened prototypes */ +# define NOTSTDC /* except when typedefs are involved */ +# define USE_VARARGS +# else +# define NHSTDC +# define USE_STDARG +# define POSIX_TYPES +# define _DECC_V4_SOURCE /* avoid some incompatible V5.x changes */ +# endif +# undef __HIDE_FORBIDDEN_NAMES /* need non-ANSI library support functions */ +# else +# ifdef VAXC /* must use CC/DEFINE=ANCIENT_VAXC for vaxc v2.2 or older */ +# ifdef ANCIENT_VAXC /* vaxc v2.2 and earlier [lots of warnings to come] */ +# define KR1ED /* simulate defined() */ +# define USE_VARARGS +# else /* vaxc v2.3,2.4,or 3.x, or decc in vaxc mode */ +# if defined(USE_PROTOTYPES) /* this breaks 2.2 (*forces* use of ANCIENT)*/ +# define __STDC__ 0 /* vaxc is not yet ANSI compliant, but close enough */ +# define signed /* well, almost close enough */ +#include +# define UNWIDENED_PROTOTYPES +# endif +# define USE_STDARG +# endif +# endif /*VAXC*/ +# endif /*__DECC*/ +# ifdef VERYOLD_VMS /* v4.5 or earlier; no longer available for testing */ +# define USE_OLDARGS /* is there, vprintf & vsprintf aren't */ +# ifdef USE_VARARGS +# undef USE_VARARGS +# endif +# ifdef USE_STDARG +# undef USE_STDARG +# endif +# endif +#endif /*VMS*/ + +#ifdef vax +/* just in case someone thinks a DECstation is a vax. It's not, it's a mips */ +# ifdef ULTRIX_PROTO +# undef ULTRIX_PROTO +# endif +# ifdef ULTRIX_CC20 +# undef ULTRIX_CC20 +# endif +#endif + +#ifdef KR1ED /* For compilers which cannot handle defined() */ +#define defined(x) (-x-1 != -1) +/* Because: + * #define FOO => FOO={} => defined( ) => (-1 != - - 1) => 1 + * #define FOO 1 or on command-line -DFOO + * => defined(1) => (-1 != - 1 - 1) => 1 + * if FOO isn't defined, FOO=0. But some compilers default to 0 instead of 1 + * for -DFOO, oh well. + * => defined(0) => (-1 != - 0 - 1) => 0 + * + * But: + * defined("") => (-1 != - "" - 1) + * [which is an unavoidable catastrophe.] + */ +#endif + +#endif /* CONFIG1_H */