1 stlcomp.h |
1 /* |
|
2 * © Portions copyright (c) 2006-2007 Nokia Corporation. All rights reserved. |
|
3 * |
|
4 * Copyright (c) 1997 |
|
5 * Moscow Center for SPARC Technology |
|
6 * |
|
7 * Copyright (c) 1999 |
|
8 * Boris Fomitchev |
|
9 * |
|
10 * This material is provided "as is", with absolutely no warranty expressed |
|
11 * or implied. Any use is at your own risk. |
|
12 * |
|
13 * Permission to use or copy this software for any purpose is hereby granted |
|
14 * without fee, provided the above notices are retained on all copies. |
|
15 * Permission to modify the code and to distribute modified code is granted, |
|
16 * provided the above notices are retained, and a notice that the code was |
|
17 * modified is included with the above copyright notice. |
|
18 * |
|
19 */ |
|
20 |
|
21 /* |
|
22 * Purpose of this file : |
|
23 * |
|
24 * To hold COMPILER-SPECIFIC portion of STLport settings. |
|
25 * In general, user should not edit this file unless |
|
26 * using the compiler not recognized below. |
|
27 * |
|
28 * If your compiler is not being recognized yet, |
|
29 * please look for definitions of macros in stl_mycomp.h, |
|
30 * copy stl_mycomp.h to stl_YOUR_COMPILER_NAME, |
|
31 * adjust flags for your compiler, and add <include config/stl_YOUR_COMPILER_NAME> |
|
32 * to the secton controlled by unique macro defined internaly by your compiler. |
|
33 * |
|
34 * To change user-definable settings, please edit <../stl_user_config.h> |
|
35 * |
|
36 */ |
|
37 |
|
38 #ifndef _STLP_COMP_H |
|
39 # define _STLP_COMP_H |
|
40 |
|
41 #ifdef __SYMBIAN32__ |
|
42 #ifndef __NO_THROW |
|
43 #define __NO_THROW throw() |
|
44 #endif //__NO_THROW |
|
45 #ifndef NONSHARABLE_CLASS |
|
46 #define NONSHARABLE_CLASS(x) class x |
|
47 #endif |
|
48 # include <_ansi.h> |
|
49 #else |
|
50 # define EXPORT_C |
|
51 # define IMPORT_C |
|
52 #endif |
|
53 |
|
54 #if 0 |
|
55 #ifdef __SYMBIAN32__ |
|
56 #warning __SYMBIAN32__ |
|
57 #endif |
|
58 |
|
59 #ifdef EKA2 |
|
60 #warning EKA2 |
|
61 #endif |
|
62 |
|
63 #ifdef __WINSCW__ |
|
64 #warning __WINSCW__ |
|
65 #endif |
|
66 |
|
67 |
|
68 #ifdef __MWERKS__ |
|
69 #warning __MWERKS__ |
|
70 #endif |
|
71 |
|
72 #ifdef __CC_ARM |
|
73 #warning __CC_ARM |
|
74 #endif |
|
75 |
|
76 #ifdef __ARMCC__ |
|
77 #warning __ARMCC__ |
|
78 #endif |
|
79 #endif |
|
80 |
|
81 |
|
82 # define __GIVE_UP_WITH_STL(message) void give_up() \ |
|
83 { upgrade_the_compiler_to_use_STL;} |
|
84 |
|
85 /* distinguish real MSC from Metrowerks and Intel */ |
|
86 # if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__ICL) && !defined (__COMO__) |
|
87 # define _STLP_MSVC _MSC_VER |
|
88 # endif |
|
89 |
|
90 # if defined (__xlC__) || defined (__IBMC__) || defined ( __IBMCPP__ ) |
|
91 /* AIX xlC, Visual Age C++ , OS-390 C++ */ |
|
92 # include <config/stl_ibm.h> |
|
93 # elif defined (__INTEL_COMPILER) && defined(__unix__) |
|
94 /* Check intel before gcc, since newer versions define GNUC */ |
|
95 # include <config/stl_icc.h> |
|
96 # elif !defined(__SYMBIAN32__) && defined (__GNUC__ ) |
|
97 # include <config/stl_gcc.h> |
|
98 # elif defined (__KCC) |
|
99 # include <config/stl_kai.h> |
|
100 # elif defined(__sgi) |
|
101 # include <config/stl_sgi.h> |
|
102 # elif (defined(__OS400__)) |
|
103 /* AS/400 C++ */ |
|
104 # include <config/stl_as400.h> |
|
105 # elif defined(_STLP_MSVC) |
|
106 /* Microsoft Visual C++ 4.0, 4.1, 4.2, 5.0 */ |
|
107 # include <config/stl_msvc.h> |
|
108 # elif defined ( __BORLANDC__ ) |
|
109 /* Borland C++ ( 4.x - 5.x ) */ |
|
110 # include <config/stl_bc.h> |
|
111 # elif defined(__SUNPRO_CC) || defined (__SUNPRO_C) |
|
112 /* SUN CC 4.0.1-5.0 */ |
|
113 # include <config/stl_sunpro.h> |
|
114 # elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__) |
|
115 /* Watcom C++ */ |
|
116 # include <config/stl_watcom.h> |
|
117 # elif defined(__COMO__) || defined (__COMO_VERSION_) |
|
118 # include <config/stl_como.h> |
|
119 # elif defined (__DMC__) |
|
120 /* Digital Mars C++ */ |
|
121 # include <config/stl_dm.h> |
|
122 # elif defined (__SC__) && (__SC__ < 0x800) |
|
123 /* Symantec 7.5 */ |
|
124 # include <config/stl_symantec.h> |
|
125 # elif defined (__MRC__) || (defined (__SC__) && (__SC__ >= 0x882)) |
|
126 /* Apple MPW SCpp 8.8.2 |
|
127 * Apple MPW MrCpp 4.1.0 */ |
|
128 # include <config/stl_apple.h> |
|
129 # elif defined(__SYMBIAN32__) && defined(EKA2) && defined (__GCCE__) |
|
130 # include <config/stl_gcce.h> |
|
131 # elif defined(__SYMBIAN32__) && defined(EKA2) && defined (__WINSCW__) |
|
132 /* Metrowerks CodeWarrior for Symbian EKA2 */ |
|
133 |
|
134 //# warning ********** USING METROWERKS COMPILER ********** |
|
135 # include <config/stl_winscw.h> |
|
136 //# warning ***************************************** |
|
137 |
|
138 #elif defined (__SYMBIAN32__) && defined(EKA2) && defined(__ARMCC__) |
|
139 /* ARM RVCT for Symbian EKA2 */ |
|
140 //# warning ********** USING RVCT COMPILER ********** |
|
141 # include <config/stl_rvct.h> |
|
142 |
|
143 #elif defined (__SYMBIAN32__) |
|
144 |
|
145 /* NO-OP: This is just for the Symbian build process, to silence |
|
146 the warning that no compiler config file is available during |
|
147 the include dependency check step. The warning is generated |
|
148 because the preprocesser is being used to process the files |
|
149 with no compiler flag set. |
|
150 */ |
|
151 |
|
152 # elif defined(__hpux) |
|
153 /* HP compilers */ |
|
154 # include <config/stl_hpacc.h> |
|
155 # elif defined(__ICL) |
|
156 /* Intel reference compiler for Win */ |
|
157 # include <config/stl_intel.h> |
|
158 /* SCO UDK 7 compiler (UnixWare 7x, OSR 5, UnixWare 2x) */ |
|
159 # elif defined(__USLC__) |
|
160 # include <config/stl_sco.h> |
|
161 /* Apogee 4.x */ |
|
162 # elif defined (__APOGEE__) |
|
163 # include <config/stl_apcc.h> |
|
164 # elif defined (__DECCXX) || defined (__DECC) |
|
165 # ifdef __vms |
|
166 # include <config/stl_dec_vms.h> |
|
167 # else |
|
168 # include <config/stl_dec.h> |
|
169 # endif |
|
170 # elif defined (__ISCPP__) |
|
171 # include <config/stl_is.h> |
|
172 # elif defined (__FCC_VERSION) |
|
173 /* Fujutsu Compiler, v4.0 assumed */ |
|
174 # include <config/stl_fujitsu.h> |
|
175 # elif defined(_CRAY) |
|
176 /* Cray C++ 3.4 or 3.5 */ |
|
177 # include <config/stl_cray.h> |
|
178 # else |
|
179 /* Unable to identify the compiler, issue error diagnostic. |
|
180 * Edit <config/stl_mycomp.h> to set STLport up for your compiler. */ |
|
181 # include <config/stl_mycomp.h> |
|
182 # endif /* end of compiler choice */ |
|
183 # undef __GIVE_UP_WITH_STL |
|
184 #endif |
|
185 |