aboutsummaryrefslogtreecommitdiff
path: root/stlport/stl/config/_system.h
blob: 1e820957e224c044816bb2d44abee1d964bd53b7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
/*
 * Copyright (c) 1997
 * Moscow Center for SPARC Technology
 *
 * Copyright (c) 1999
 * Boris Fomitchev
 *
 * This material is provided "as is", with absolutely no warranty expressed
 * or implied. Any use is at your own risk.
 *
 * Permission to use or copy this software for any purpose is hereby granted
 * without fee, provided the above notices are retained on all copies.
 * Permission to modify the code and to distribute modified code is granted,
 * provided the above notices are retained, and a notice that the code was
 * modified is included with the above copyright notice.
 *
 */

/*
 * Purpose of this file :
 *
 * To hold COMPILER-SPECIFIC portion of STLport settings.
 * In general, user should not edit this file unless
 * using the compiler not recognized below.
 *
 * If your compiler is not being recognized yet,
 * please look for definitions of macros in stl_mycomp.h,
 * copy stl_mycomp.h to stl_YOUR_COMPILER_NAME,
 * adjust flags for your compiler, and add  <include config/stl_YOUR_COMPILER_NAME>
 * to the secton controlled by unique macro defined internaly by your compiler.
 *
 * To change user-definable settings, please edit <user_config.h>
 *
 */

#ifndef __stl_config__system_h
#define __stl_config__system_h

#if defined (__sun)
#  include <stl/config/_solaris.h>
#  if defined (__GNUC__)
#    include <stl/config/_gcc.h>
#  elif defined (__SUNPRO_CC) || defined (__SUNPRO_C)
#    include <stl/config/_sunprocc.h>
/*
#  ifdef __KCC
#    include <stl/config/_kai.h>
#  endif
*/
#  elif defined (__APOGEE__)  /* Apogee 4.x */
#    include <stl/config/_apcc.h>
#  elif defined (__FCC_VERSION) /* Fujitsu Compiler, v4.0 assumed */
#    include <stl/config/_fujitsu.h>
#  endif
#elif defined (__hpux)
#  include <stl/config/_hpux.h>
#  if defined (__GNUC__)
#    include <stl/config/_gcc.h>
#  elif defined (__HP_aCC)
#    include <stl/config/_hpacc.h>
#  endif
#elif defined (__ANDROID__)
/* Android mobile phone platform. Somewhat but not entirely GNU/Linux-like */
#  include <stl/config/_android.h>
#elif defined (linux) || defined (__linux__)
#  include <stl/config/_linux.h>
#  if defined (__BORLANDC__)
#    include <stl/config/_bc.h> /* Borland C++ 0x570 */
/* Intel's icc define __GNUC__! */
#  elif defined (__INTEL_COMPILER)
#    include <stl/config/_icc.h>
#  elif defined (__GNUC__)
#    include <stl/config/_gcc.h>
#  endif
/*
#  ifdef __KCC
#    include <stl/config/_kai.h>
#  endif
*/
#elif defined (__FreeBSD__)
#  include <stl/config/_freebsd.h>
#  if defined (__GNUC__)
#    include <stl/config/_gcc.h>
#  endif
#elif defined (__OpenBSD__)
#  include <stl/config/_openbsd.h>
#  if defined (__GNUC__)
#    include <stl/config/_gcc.h>
#  endif
#elif defined (__sgi) /* IRIX? */
#  define _STLP_PLATFORM "SGI Irix"
#  if defined (__GNUC__)
#    include <stl/config/_gcc.h>
#  else
#    include <stl/config/_sgi.h>
#  endif
#elif defined (__OS400__) /* AS/400 C++ */
#  define _STLP_PLATFORM "OS 400"
#  if defined (__GNUC__)
#    include <stl/config/_gcc.h>
#  else
#    include <stl/config/_as400.h>
#  endif
#elif defined (_AIX)
#  include <stl/config/_aix.h>
#  if defined (__xlC__) || defined (__IBMC__) || defined ( __IBMCPP__ )
     /* AIX xlC, Visual Age C++ , OS-390 C++ */
#    include <stl/config/_ibm.h>
#  endif
#elif defined (_CRAY) /* Cray C++ 3.4 or 3.5 */
#  define _STLP_PLATFORM "Cray"
#  include <config/_cray.h>
#elif defined (__DECCXX) || defined (__DECC)
#  define _STLP_PLATFORM "DECC"
#  ifdef __vms
#    include <stl/config/_dec_vms.h>
#  else
#    include <stl/config/_dec.h>
#  endif
#elif defined (macintosh) || defined (_MAC)
#  include <stl/config/_mac.h>
#  if defined (__MWERKS__)
#    include <stl/config/_mwerks.h>
#  endif
#elif defined (__APPLE__)
#  include <stl/config/_macosx.h>
#  ifdef __GNUC__
#    include <stl/config/_gcc.h>
#  endif
#elif defined (__CYGWIN__)
#  include <stl/config/_cygwin.h>
#  if defined (__GNUC__)
#    include <stl/config/_gcc.h>
#  endif
#elif defined (__MINGW32__)
#  define _STLP_PLATFORM "MinGW"
#  if defined (__GNUC__)
#    include <stl/config/_gcc.h>
#  endif
#  include <stl/config/_windows.h>
#elif defined (_WIN32) || defined (__WIN32) || defined (WIN32) || defined (__WIN32__) || \
      defined (__WIN16) || defined (WIN16) || defined (_WIN16)
#  if defined ( __BORLANDC__ )  /* Borland C++ / CodeGear C++ */
#    include <stl/config/_bc.h>
#  elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__)  /* Watcom C++ */
#    include <stl/config/_watcom.h>
#  elif defined (__COMO__) || defined (__COMO_VERSION_)
#    include <stl/config/_como.h>
#  elif defined (__DMC__)   /* Digital Mars C++ */
#    include <stl/config/_dm.h>
#  elif defined (__ICL) /* Intel reference compiler for Win */
#    include <stl/config/_intel.h>
#  elif defined (__MWERKS__)
#    include <stl/config/_mwerks.h>
#  elif defined (_MSC_VER) && (_MSC_VER >= 1200) && defined (UNDER_CE)
     /* Microsoft eMbedded Visual C++ 3.0, 4.0 (.NET) */
#    include <stl/config/_evc.h>
#  elif defined (_MSC_VER)
    /* Microsoft Visual C++ 6.0, 7.0, 7.1, 8.0 */
#    include <stl/config/_msvc.h>
#  endif

#  include <stl/config/_windows.h>
#else
#  error Unknown platform !!
#endif

#if !defined (_STLP_COMPILER)
/* Unable to identify the compiler, issue error diagnostic.
 * Edit <config/stl_mycomp.h> to set STLport up for your compiler. */
#  include <stl/config/stl_mycomp.h>
#endif

#endif /* __stl_config__system_h */