rnd-20020430-1-src
[rocksndiamonds.git] / src / libgame / platform.h
1 /***********************************************************
2 * Artsoft Retro-Game Library                               *
3 *----------------------------------------------------------*
4 * (c) 1994-2001 Artsoft Entertainment                      *
5 *               Holger Schemel                             *
6 *               Detmolder Strasse 189                      *
7 *               33604 Bielefeld                            *
8 *               Germany                                    *
9 *               e-mail: info@artsoft.org                   *
10 *----------------------------------------------------------*
11 * platform.h                                               *
12 ***********************************************************/
13
14 #ifndef PLATFORM_H
15 #define PLATFORM_H
16
17 /* define keywords for supported main platforms */
18
19 #if defined(MSDOS)
20 #define PLATFORM_MSDOS
21 #elif defined(WIN32)
22 #define PLATFORM_WIN32
23 #else
24 #define PLATFORM_UNIX
25 #endif
26
27 /* ========================================================================= */
28 /* define additional keywords for MS-DOS platform                            */
29 /* ========================================================================= */
30
31 #if defined(PLATFORM_MSDOS)
32
33 #ifndef TARGET_ALLEGRO
34 #define TARGET_ALLEGRO
35 #endif
36
37 #ifndef TARGET_X11
38 #define TARGET_X11
39 #endif
40
41 #endif
42
43 /* ========================================================================= */
44 /* define additional keywords for several Unix platforms                     */
45 /* ========================================================================= */
46
47 #if defined(PLATFORM_UNIX) && defined(TARGET_X11)
48 #define TARGET_X11_NATIVE
49 #endif
50
51 #if defined(linux)
52 #define PLATFORM_LINUX
53 #endif
54
55 #if defined(__FreeBSD__)
56 #define PLATFORM_FREEBSD
57 #endif
58
59 #if defined(__NetBSD__)
60 #define PLATFORM_NETBSD
61 #endif
62
63 /* detecting HP-UX by the following compiler keyword definitions:
64    - in K&R mode (the default), the HP C compiler defines "hpux"
65    - in ANSI mode (-Aa or -Ae), the HP C compiler defines "__hpux"
66    - the gcc (Gnu) C compiler defines "__hpux__"
67    Thanks to Jarkko Hietaniemi  for this note. */
68
69 #if defined(__hpux__) || defined(__hpux) || defined(hpux)
70 #define PLATFORM_HPUX
71 #endif
72
73 #endif /* PLATFORM_H */