ReactOS  0.4.14-dev-606-g14ebc0b
_system.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 1997
3  * Moscow Center for SPARC Technology
4  *
5  * Copyright (c) 1999
6  * Boris Fomitchev
7  *
8  * This material is provided "as is", with absolutely no warranty expressed
9  * or implied. Any use is at your own risk.
10  *
11  * Permission to use or copy this software for any purpose is hereby granted
12  * without fee, provided the above notices are retained on all copies.
13  * Permission to modify the code and to distribute modified code is granted,
14  * provided the above notices are retained, and a notice that the code was
15  * modified is included with the above copyright notice.
16  *
17  */
18 
19 /*
20  * Purpose of this file :
21  *
22  * To hold COMPILER-SPECIFIC portion of STLport settings.
23  * In general, user should not edit this file unless
24  * using the compiler not recognized below.
25  *
26  * If your compiler is not being recognized yet,
27  * please look for definitions of macros in stl_mycomp.h,
28  * copy stl_mycomp.h to stl_YOUR_COMPILER_NAME,
29  * adjust flags for your compiler, and add <include config/stl_YOUR_COMPILER_NAME>
30  * to the secton controlled by unique macro defined internaly by your compiler.
31  *
32  * To change user-definable settings, please edit <user_config.h>
33  *
34  */
35 
36 #ifndef __stl_config__system_h
37 #define __stl_config__system_h
38 
39 #if defined (__REACTOS__)
40 # include <stl/config/_reactos.h>
41 #elif defined (__sun)
42 # include <stl/config/_solaris.h>
43 # if defined (__GNUC__)
44 # include <stl/config/_gcc.h>
45 # elif defined (__SUNPRO_CC) || defined (__SUNPRO_C)
46 # include <stl/config/_sunprocc.h>
47 /*
48 # ifdef __KCC
49 # include <stl/config/_kai.h>
50 # endif
51 */
52 # elif defined (__APOGEE__) /* Apogee 4.x */
53 # include <stl/config/_apcc.h>
54 # elif defined (__FCC_VERSION) /* Fujitsu Compiler, v4.0 assumed */
55 # include <stl/config/_fujitsu.h>
56 # endif
57 #elif defined (__hpux)
58 # include <stl/config/_hpux.h>
59 # if defined (__GNUC__)
60 # include <stl/config/_gcc.h>
61 # elif defined (__HP_aCC)
62 # include <stl/config/_hpacc.h>
63 # endif
64 #elif defined (linux) || defined (__linux__)
65 # include <stl/config/_linux.h>
66 # if defined (__BORLANDC__)
67 # include <stl/config/_bc.h> /* Borland C++ 0x570 */
68 /* Intel's icc define __GNUC__! */
69 # elif defined (__INTEL_COMPILER)
70 # include <stl/config/_icc.h>
71 # elif defined (__GNUC__)
72 # include <stl/config/_gcc.h>
73 # endif
74 /*
75 # ifdef __KCC
76 # include <stl/config/_kai.h>
77 # endif
78 */
79 #elif defined (__FreeBSD__)
80 # include <stl/config/_freebsd.h>
81 # if defined (__GNUC__)
82 # include <stl/config/_gcc.h>
83 # endif
84 #elif defined (__OpenBSD__)
85 # include <stl/config/_openbsd.h>
86 # if defined (__GNUC__)
87 # include <stl/config/_gcc.h>
88 # endif
89 #elif defined (__sgi) /* IRIX? */
90 # define _STLP_PLATFORM "SGI Irix"
91 # if defined (__GNUC__)
92 # include <stl/config/_gcc.h>
93 # else
94 # include <stl/config/_sgi.h>
95 # endif
96 #elif defined (__OS400__) /* AS/400 C++ */
97 # define _STLP_PLATFORM "OS 400"
98 # if defined (__GNUC__)
99 # include <stl/config/_gcc.h>
100 # else
101 # include <stl/config/_as400.h>
102 # endif
103 #elif defined (_AIX)
104 # include <stl/config/_aix.h>
105 # if defined (__xlC__) || defined (__IBMC__) || defined ( __IBMCPP__ )
106  /* AIX xlC, Visual Age C++ , OS-390 C++ */
107 # include <stl/config/_ibm.h>
108 # endif
109 #elif defined (_CRAY) /* Cray C++ 3.4 or 3.5 */
110 # define _STLP_PLATFORM "Cray"
111 # include <config/_cray.h>
112 #elif defined (__DECCXX) || defined (__DECC)
113 # define _STLP_PLATFORM "DECC"
114 # ifdef __vms
115 # include <stl/config/_dec_vms.h>
116 # else
117 # include <stl/config/_dec.h>
118 # endif
119 #elif defined (macintosh) || defined (_MAC)
120 # include <stl/config/_mac.h>
121 # if defined (__MWERKS__)
122 # include <stl/config/_mwerks.h>
123 # endif
124 #elif defined (__APPLE__)
125 # include <stl/config/_macosx.h>
126 # ifdef __GNUC__
127 # include <stl/config/_gcc.h>
128 # endif
129 #elif defined (__CYGWIN__)
130 # include <stl/config/_cygwin.h>
131 # if defined (__GNUC__)
132 # include <stl/config/_gcc.h>
133 # endif
134 #elif defined (__MINGW32__)
135 # define _STLP_PLATFORM "MinGW"
136 # if defined (__GNUC__)
137 # include <stl/config/_gcc.h>
138 # endif
139 # include <stl/config/_windows.h>
140 #elif defined (_WIN32) || defined (__WIN32) || defined (WIN32) || defined (__WIN32__) || \
141  defined (__WIN16) || defined (WIN16) || defined (_WIN16)
142 # if defined ( __BORLANDC__ ) /* Borland C++ / CodeGear C++ */
143 # include <stl/config/_bc.h>
144 # elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__) /* Watcom C++ */
145 # include <stl/config/_watcom.h>
146 # elif defined (__COMO__) || defined (__COMO_VERSION_)
147 # include <stl/config/_como.h>
148 # elif defined (__DMC__) /* Digital Mars C++ */
149 # include <stl/config/_dm.h>
150 # elif defined (__ICL) /* Intel reference compiler for Win */
151 # include <stl/config/_intel.h>
152 # elif defined (__MWERKS__)
153 # include <stl/config/_mwerks.h>
154 # elif defined (_MSC_VER) && (_MSC_VER >= 1200) && defined (UNDER_CE)
155  /* Microsoft eMbedded Visual C++ 3.0, 4.0 (.NET) */
156 # include <stl/config/_evc.h>
157 # elif defined (_MSC_VER)
158  /* Microsoft Visual C++ 6.0, 7.0, 7.1, 8.0 */
159 # include <stl/config/_msvc.h>
160 # endif
161 
162 # include <stl/config/_windows.h>
163 #else
164 # error Unknown platform !!
165 #endif
166 
167 #if !defined (_STLP_COMPILER)
168 /* Unable to identify the compiler, issue error diagnostic.
169  * Edit <config/stl_mycomp.h> to set STLport up for your compiler. */
170 # include <stl/config/stl_mycomp.h>
171 #endif
172 
173 #endif /* __stl_config__system_h */