#pragma once #ifdef __cplusplus extern "C" { #endif /* * Choose the hardware, operating system, and compiler. * Also, choose various "system level" compilation options. * A lot of these definitions take effect in "h-system.h" * * Note that you may find it simpler to define some of these * options in the "Makefile", especially any options describing * what "system" is being used. */ /* * no system definitions are needed for 4.3BSD, SUN OS, DG/UX */ /* * OPTION: Compile on Windows (automatic) */ #ifndef WINDOWS /* #define WINDOWS */ #endif /* * Extract the "WINDOWS" flag from the compiler */ #if defined(_Windows) || defined(__WINDOWS__) || \ defined(__WIN32__) || defined(WIN32) || \ defined(__WINNT__) || defined(__NT__) # ifndef WINDOWS # define WINDOWS # endif #endif /* * OPTION: Define "L64" if a "long" is 64-bits. See "h-types.h". * The only such platform that angband is ported to is currently * DEC Alpha AXP running OSF/1 (OpenVMS uses 32-bit longs). */ #if defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(__ia64) || defined(__ia64__) || defined(__mips64) || defined(__ppc64__) || defined(__PPC64__) || defined(__powerpc64__) || defined(__64BIT__) || defined(__sparc64__) || defined(__LP64__) # define L64 #endif /* * OPTION: set "SET_UID" if the machine is a "multi-user" machine. * This option is used to verify the use of "uids" and "gids" for * various "Unix" calls, and of "pids" for getting a random seed, * and of the "umask()" call for various reasons, and to guess if * the "kill()" function is available, and for permission to use * functions to extract user names and expand "tildes" in filenames. * Basically, SET_UID should *only* be set for "Unix" machines. */ #if !defined(WINDOWS) # define SET_UID #endif /* * Every system seems to use its own symbol as a path separator. * Default to the standard Unix slash, but attempt to change this * for various other systems. Note that any system that uses the * "period" as a separator (i.e. ACORN) will have to pretend that * it uses the slash, and do its own mapping of period <-> slash. */ #undef PATH_SEP #define PATH_SEP "/" #if defined(WINDOWS) || defined(WINNT) # undef PATH_SEP # define PATH_SEP "\\" #endif #ifdef __cplusplus } // extern "C" #endif