3 * Moscow Center for SPARC Technology
8 * This material is provided "as is", with absolutely no warranty expressed
9 * or implied. Any use is at your own risk.
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.
20 * Purpose of this file :
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.
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.
32 * To change user-definable settings, please edit <user_config.h>
36 #ifndef __stl_config__system_h
37 #define __stl_config__system_h
39 #if defined (polintos)
40 # include <stl/config/_polintos.h>
41 # if defined (__GNUC__)
42 # include <stl/config/_gcc.h>
45 # include <stl/config/_solaris.h>
46 # if defined (__GNUC__)
47 # include <stl/config/_gcc.h>
48 # elif defined (__SUNPRO_CC)
49 # include <stl/config/_sunprocc.h>
52 # include <stl/config/_kai.h>
55 # elif defined (__APOGEE__) /* Apogee 4.x */
56 # include <stl/config/_apcc.h>
57 # elif defined (__FCC_VERSION) /* Fujitsu Compiler, v4.0 assumed */
58 # include <stl/config/_fujitsu.h>
60 #elif defined (__hpux)
61 # include <stl/config/_hpux.h>
62 # if defined (__GNUC__)
63 # include <stl/config/_gcc.h>
64 # elif defined (__HP_aCC)
65 # include <stl/config/_hpacc.h>
67 #elif defined (linux) || defined (__linux__)
68 # include <stl/config/_linux.h>
69 /* Intel's icc define __GNUC__! */
70 # if defined (__INTEL_COMPILER)
71 # include <stl/config/_icc.h>
72 # elif defined (__GNUC__)
73 # include <stl/config/_gcc.h>
77 # include <stl/config/_kai.h>
80 #elif defined (__FreeBSD__)
81 # include <stl/config/_freebsd.h>
82 # if defined (__GNUC__)
83 # include <stl/config/_gcc.h>
85 #elif defined (__OpenBSD__)
86 # include <stl/config/_openbsd.h>
87 # if defined (__GNUC__)
88 # include <stl/config/_gcc.h>
90 #elif defined (N_PLAT_NLM) /* Novell NetWare */
91 # include <stl/config/_netware.h>
92 # ifdef __MWERKS__ /* Metrowerks CodeWarrior */
93 # include <stl/config/_mwccnlm.h>
95 #elif defined (__sgi) /* IRIX? */
96 # define _STLP_PLATFORM "SGI Irix"
97 # if defined (__GNUC__)
98 # include <stl/config/_gcc.h>
100 # include <stl/config/_sgi.h>
102 #elif defined (__OS400__) /* AS/400 C++ */
103 # define _STLP_PLATFORM "OS 400"
104 # if defined (__GNUC__)
105 # include <stl/config/_gcc.h>
107 # include <stl/config/_as400.h>
110 # include <stl/config/_aix.h>
111 # if defined (__xlC__) || defined (__IBMC__) || defined ( __IBMCPP__ )
112 /* AIX xlC, Visual Age C++ , OS-390 C++ */
113 # include <stl/config/_ibm.h>
115 #elif defined (_CRAY) /* Cray C++ 3.4 or 3.5 */
116 # define _STLP_PLATFORM "Cray"
117 # include <config/_cray.h>
118 #elif defined (__DECCXX) || defined (__DECC)
119 # define _STLP_PLATFORM "DECC"
121 # include <stl/config/_dec_vms.h>
123 # include <stl/config/_dec.h>
125 #elif defined (macintosh) || defined (_MAC)
126 # include <stl/config/_mac.h>
127 # if defined (__MWERKS__)
128 # include <stl/config/_mwerks.h>
129 # elif defined (__MRC__) || (defined (__SC__) && (__SC__ >= 0x882))
130 /* Apple MPW SCpp 8.8.2, Apple MPW MrCpp 4.1.0 */
131 # include <stl/config/_apple.h>
133 #elif defined (__APPLE__)
134 # include <stl/config/_macosx.h>
136 # include <stl/config/_gcc.h>
138 #elif defined (__CYGWIN__)
139 # include <stl/config/_cygwin.h>
140 # if defined (__GNUC__)
141 # include <stl/config/_gcc.h>
143 #elif defined (__MINGW32__)
144 # define _STLP_PLATFORM "MinGW"
145 # if defined (__GNUC__)
146 # include <stl/config/_gcc.h>
148 # include <stl/config/_windows.h>
149 #elif defined (_WIN32) || defined (__WIN32) || defined (WIN32) || defined (__WIN32__) || \
150 defined (__WIN16) || defined (WIN16) || defined (_WIN16)
151 # if defined ( __BORLANDC__ ) /* Borland C++ ( 4.x - 5.x ) */
152 # include <stl/config/_bc.h>
153 # elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__) /* Watcom C++ */
154 # include <stl/config/_watcom.h>
155 # elif defined (__COMO__) || defined (__COMO_VERSION_)
156 # include <stl/config/_como.h>
157 # elif defined (__DMC__) /* Digital Mars C++ */
158 # include <stl/config/_dm.h>
159 # elif defined (__SC__) && (__SC__ < 0x800) /* Symantec 7.5 */
160 # include <stl/config/_symantec.h>
161 # elif defined (__ICL) /* Intel reference compiler for Win */
162 # include <stl/config/_intel.h>
163 # elif defined (__MWERKS__)
164 # include <stl/config/_mwerks.h>
165 # elif defined (_MSC_VER) && (_MSC_VER >= 1200) && defined (UNDER_CE)
166 /* Microsoft eMbedded Visual C++ 3.0, 4.0 (.NET) */
167 # include <stl/config/_evc.h>
168 # elif defined (_MSC_VER)
169 /* Microsoft Visual C++ 6.0, 7.0, 7.1, 8.0 */
170 # include <stl/config/_msvc.h>
173 # include <stl/config/_windows.h>
175 # error Unknown platform !!
178 #if !defined (_STLP_COMPILER)
179 /* Unable to identify the compiler, issue error diagnostic.
180 * Edit <config/stl_mycomp.h> to set STLport up for your compiler. */
181 # include <stl/config/stl_mycomp.h>
184 #endif /* __stl_config__system_h */