epoc32/include/stdapis/stlport/config/stlcomp.h
author William Roberts <williamr@symbian.org>
Tue, 16 Mar 2010 16:12:26 +0000
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
child 4 837f303aceeb
permissions -rw-r--r--
Final list of Symbian^2 public API header files
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