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
     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