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