epoc32/include/stdapis/stlport/config/stlcomp.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
parent 2 2fe1408b6811
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
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@4
    41
#include <_ansi.h>
williamr@2
    42
#ifdef __SYMBIAN32__
williamr@4
    43
/*
williamr@2
    44
#ifndef __NO_THROW
williamr@2
    45
#define __NO_THROW throw()
williamr@2
    46
#endif //__NO_THROW
williamr@2
    47
#ifndef NONSHARABLE_CLASS
williamr@2
    48
#define NONSHARABLE_CLASS(x) class x
williamr@2
    49
#endif
williamr@4
    50
*/
williamr@2
    51
#else
williamr@2
    52
#   define EXPORT_C
williamr@2
    53
#   define IMPORT_C
williamr@2
    54
#endif
williamr@2
    55
williamr@4
    56
williamr@4
    57
williamr@2
    58
#if 0
williamr@2
    59
#ifdef __SYMBIAN32__
williamr@2
    60
#warning __SYMBIAN32__
williamr@2
    61
#endif
williamr@2
    62
williamr@2
    63
#ifdef EKA2
williamr@2
    64
#warning EKA2
williamr@2
    65
#endif
williamr@2
    66
williamr@2
    67
#ifdef __WINSCW__
williamr@2
    68
#warning __WINSCW__
williamr@2
    69
#endif 
williamr@2
    70
williamr@2
    71
williamr@2
    72
#ifdef __MWERKS__
williamr@2
    73
#warning __MWERKS__
williamr@2
    74
#endif
williamr@2
    75
williamr@2
    76
#ifdef __CC_ARM
williamr@2
    77
#warning __CC_ARM
williamr@2
    78
#endif
williamr@2
    79
williamr@2
    80
#ifdef __ARMCC__
williamr@2
    81
#warning __ARMCC__
williamr@2
    82
#endif
williamr@2
    83
#endif
williamr@2
    84
williamr@2
    85
williamr@2
    86
#  define __GIVE_UP_WITH_STL(message) void give_up() \
williamr@2
    87
   { upgrade_the_compiler_to_use_STL;}
williamr@2
    88
williamr@2
    89
/* distinguish real MSC from Metrowerks and Intel */
williamr@2
    90
# if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__ICL) && !defined (__COMO__)
williamr@2
    91
#  define _STLP_MSVC _MSC_VER
williamr@2
    92
# endif
williamr@2
    93
williamr@2
    94
# if defined (__xlC__)  || defined (__IBMC__) || defined ( __IBMCPP__ ) 
williamr@2
    95
/* AIX xlC, Visual Age C++ , OS-390 C++ */
williamr@2
    96
#  include <config/stl_ibm.h>
williamr@2
    97
# elif defined (__INTEL_COMPILER) && defined(__unix__)
williamr@2
    98
/* Check intel before gcc, since newer versions define GNUC */
williamr@2
    99
#  include <config/stl_icc.h>
williamr@2
   100
# elif !defined(__SYMBIAN32__) && defined (__GNUC__ )
williamr@2
   101
#  include <config/stl_gcc.h>
williamr@2
   102
# elif defined (__KCC)
williamr@2
   103
#  include <config/stl_kai.h>
williamr@2
   104
# elif defined(__sgi)
williamr@2
   105
#  include <config/stl_sgi.h>
williamr@2
   106
# elif (defined(__OS400__))
williamr@2
   107
/* AS/400 C++ */
williamr@2
   108
#  include <config/stl_as400.h>
williamr@2
   109
# elif defined(_STLP_MSVC)
williamr@2
   110
/* Microsoft Visual C++ 4.0, 4.1, 4.2, 5.0 */
williamr@2
   111
#  include <config/stl_msvc.h>
williamr@2
   112
# elif defined ( __BORLANDC__ )
williamr@2
   113
/* Borland C++ ( 4.x - 5.x ) */
williamr@2
   114
#  include <config/stl_bc.h>
williamr@2
   115
# elif defined(__SUNPRO_CC) || defined (__SUNPRO_C)
williamr@2
   116
/* SUN CC 4.0.1-5.0  */
williamr@2
   117
#  include <config/stl_sunpro.h>
williamr@2
   118
# elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__)
williamr@2
   119
/* Watcom C++ */
williamr@2
   120
#  include <config/stl_watcom.h>
williamr@2
   121
# elif defined(__COMO__) || defined (__COMO_VERSION_)
williamr@2
   122
#  include <config/stl_como.h>
williamr@2
   123
# elif defined (__DMC__)
williamr@2
   124
/* Digital Mars C++ */
williamr@2
   125
#  include <config/stl_dm.h>
williamr@2
   126
# elif defined (__SC__) && (__SC__ < 0x800)
williamr@2
   127
/* Symantec 7.5 */
williamr@2
   128
#  include <config/stl_symantec.h>
williamr@2
   129
# elif defined (__MRC__) || (defined (__SC__) && (__SC__ >= 0x882))
williamr@2
   130
/* Apple MPW SCpp 8.8.2  
williamr@2
   131
 * Apple MPW MrCpp 4.1.0 */
williamr@2
   132
#  include <config/stl_apple.h>
williamr@2
   133
# elif defined(__SYMBIAN32__) && defined(EKA2) && defined (__GCCE__)
williamr@4
   134
//#warning ***************USING GCCE COMPILER **************
williamr@4
   135
#   include <config/stl_epoc.h>
williamr@4
   136
#   include <config/_gcc.h>
williamr@4
   137
#   include <config/stl_gcce.h>
williamr@4
   138
//#  warning *****************************************
williamr@2
   139
# elif defined(__SYMBIAN32__) && defined(EKA2) && defined (__WINSCW__)
williamr@2
   140
/* Metrowerks CodeWarrior for Symbian EKA2 */
williamr@2
   141
//#  warning ********** USING METROWERKS COMPILER **********
williamr@4
   142
# include <config/stl_epoc.h>
williamr@2
   143
#  include <config/stl_winscw.h>
williamr@2
   144
//#  warning *****************************************
williamr@2
   145
#elif defined (__SYMBIAN32__) && defined(EKA2) && defined(__ARMCC__)
williamr@2
   146
/* ARM RVCT for Symbian EKA2 */
williamr@2
   147
//#  warning ********** USING RVCT COMPILER **********
williamr@4
   148
# include <config/stl_epoc.h>
williamr@2
   149
#  include <config/stl_rvct.h>
williamr@4
   150
//#  warning *****************************************
williamr@4
   151
# elif defined(__SYMBIAN32__) && defined(EKA2) && defined (__GCCXML__)
williamr@4
   152
//#warning ***************USING GCCXML COMPILER **************
williamr@4
   153
#   include <config/stl_epoc.h>
williamr@4
   154
#   include <config/_gcc.h>
williamr@4
   155
#   include <config/stl_gccxml.h>
williamr@4
   156
//#  warning *****************************************
williamr@2
   157
#elif defined (__SYMBIAN32__)
williamr@2
   158
williamr@2
   159
/* NO-OP: This is just for the Symbian build process, to silence
williamr@2
   160
   the warning that no compiler config file is available during
williamr@2
   161
   the include dependency check step.  The warning is generated
williamr@2
   162
   because the preprocesser is being used to process the files
williamr@2
   163
   with no compiler flag set.
williamr@2
   164
*/
williamr@2
   165
williamr@2
   166
# elif defined(__hpux)
williamr@2
   167
/* HP compilers */
williamr@2
   168
#  include <config/stl_hpacc.h>
williamr@2
   169
# elif defined(__ICL)
williamr@2
   170
/* Intel reference compiler for Win */
williamr@2
   171
#  include <config/stl_intel.h>
williamr@2
   172
/* SCO UDK 7 compiler (UnixWare 7x, OSR 5, UnixWare 2x) */
williamr@2
   173
# elif defined(__USLC__)
williamr@2
   174
#  include <config/stl_sco.h>
williamr@2
   175
/* Apogee 4.x */
williamr@2
   176
# elif defined (__APOGEE__)
williamr@2
   177
#  include <config/stl_apcc.h>
williamr@2
   178
# elif defined (__DECCXX) || defined (__DECC)
williamr@2
   179
#  ifdef __vms
williamr@2
   180
#    include <config/stl_dec_vms.h>
williamr@2
   181
#  else
williamr@2
   182
#    include <config/stl_dec.h>
williamr@2
   183
#  endif
williamr@2
   184
# elif defined (__ISCPP__)
williamr@2
   185
#  include <config/stl_is.h>
williamr@2
   186
# elif defined (__FCC_VERSION)
williamr@2
   187
/* Fujutsu Compiler, v4.0 assumed */
williamr@2
   188
#  include <config/stl_fujitsu.h>
williamr@2
   189
# elif defined(_CRAY)
williamr@2
   190
/* Cray C++ 3.4 or 3.5 */
williamr@2
   191
#  include <config/stl_cray.h>
williamr@2
   192
# else
williamr@2
   193
/* Unable to identify the compiler, issue error diagnostic.
williamr@2
   194
 * Edit <config/stl_mycomp.h> to set STLport up for your compiler. */
williamr@2
   195
#  include <config/stl_mycomp.h>
williamr@2
   196
# endif /* end of compiler choice */
williamr@2
   197
# undef __GIVE_UP_WITH_STL
williamr@2
   198
#endif
williamr@2
   199