williamr@2: /* williamr@2: * © Portions copyright (c) 2006-2007 Nokia Corporation. All rights reserved. williamr@2: * williamr@2: * Copyright (c) 1997 williamr@2: * Moscow Center for SPARC Technology williamr@2: * williamr@2: * Copyright (c) 1999 williamr@2: * Boris Fomitchev williamr@2: * williamr@2: * This material is provided "as is", with absolutely no warranty expressed williamr@2: * or implied. Any use is at your own risk. williamr@2: * williamr@2: * Permission to use or copy this software for any purpose is hereby granted williamr@2: * without fee, provided the above notices are retained on all copies. williamr@2: * Permission to modify the code and to distribute modified code is granted, williamr@2: * provided the above notices are retained, and a notice that the code was williamr@2: * modified is included with the above copyright notice. williamr@2: * williamr@2: */ williamr@2: williamr@2: /* williamr@2: * Purpose of this file : williamr@2: * williamr@2: * To hold COMPILER-SPECIFIC portion of STLport settings. williamr@2: * In general, user should not edit this file unless williamr@2: * using the compiler not recognized below. williamr@2: * williamr@2: * If your compiler is not being recognized yet, williamr@2: * please look for definitions of macros in stl_mycomp.h, williamr@2: * copy stl_mycomp.h to stl_YOUR_COMPILER_NAME, williamr@2: * adjust flags for your compiler, and add williamr@2: * to the secton controlled by unique macro defined internaly by your compiler. williamr@2: * williamr@2: * To change user-definable settings, please edit <../stl_user_config.h> williamr@2: * williamr@2: */ williamr@2: williamr@2: #ifndef _STLP_COMP_H williamr@2: # define _STLP_COMP_H williamr@2: williamr@2: #ifdef __SYMBIAN32__ williamr@2: #ifndef __NO_THROW williamr@2: #define __NO_THROW throw() williamr@2: #endif //__NO_THROW williamr@2: #ifndef NONSHARABLE_CLASS williamr@2: #define NONSHARABLE_CLASS(x) class x williamr@2: #endif williamr@2: # include <_ansi.h> williamr@2: #else williamr@2: # define EXPORT_C williamr@2: # define IMPORT_C williamr@2: #endif williamr@2: williamr@2: #if 0 williamr@2: #ifdef __SYMBIAN32__ williamr@2: #warning __SYMBIAN32__ williamr@2: #endif williamr@2: williamr@2: #ifdef EKA2 williamr@2: #warning EKA2 williamr@2: #endif williamr@2: williamr@2: #ifdef __WINSCW__ williamr@2: #warning __WINSCW__ williamr@2: #endif williamr@2: williamr@2: williamr@2: #ifdef __MWERKS__ williamr@2: #warning __MWERKS__ williamr@2: #endif williamr@2: williamr@2: #ifdef __CC_ARM williamr@2: #warning __CC_ARM williamr@2: #endif williamr@2: williamr@2: #ifdef __ARMCC__ williamr@2: #warning __ARMCC__ williamr@2: #endif williamr@2: #endif williamr@2: williamr@2: williamr@2: # define __GIVE_UP_WITH_STL(message) void give_up() \ williamr@2: { upgrade_the_compiler_to_use_STL;} williamr@2: williamr@2: /* distinguish real MSC from Metrowerks and Intel */ williamr@2: # if defined(_MSC_VER) && !defined(__MWERKS__) && !defined (__ICL) && !defined (__COMO__) williamr@2: # define _STLP_MSVC _MSC_VER williamr@2: # endif williamr@2: williamr@2: # if defined (__xlC__) || defined (__IBMC__) || defined ( __IBMCPP__ ) williamr@2: /* AIX xlC, Visual Age C++ , OS-390 C++ */ williamr@2: # include williamr@2: # elif defined (__INTEL_COMPILER) && defined(__unix__) williamr@2: /* Check intel before gcc, since newer versions define GNUC */ williamr@2: # include williamr@2: # elif !defined(__SYMBIAN32__) && defined (__GNUC__ ) williamr@2: # include williamr@2: # elif defined (__KCC) williamr@2: # include williamr@2: # elif defined(__sgi) williamr@2: # include williamr@2: # elif (defined(__OS400__)) williamr@2: /* AS/400 C++ */ williamr@2: # include williamr@2: # elif defined(_STLP_MSVC) williamr@2: /* Microsoft Visual C++ 4.0, 4.1, 4.2, 5.0 */ williamr@2: # include williamr@2: # elif defined ( __BORLANDC__ ) williamr@2: /* Borland C++ ( 4.x - 5.x ) */ williamr@2: # include williamr@2: # elif defined(__SUNPRO_CC) || defined (__SUNPRO_C) williamr@2: /* SUN CC 4.0.1-5.0 */ williamr@2: # include williamr@2: # elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__) williamr@2: /* Watcom C++ */ williamr@2: # include williamr@2: # elif defined(__COMO__) || defined (__COMO_VERSION_) williamr@2: # include williamr@2: # elif defined (__DMC__) williamr@2: /* Digital Mars C++ */ williamr@2: # include williamr@2: # elif defined (__SC__) && (__SC__ < 0x800) williamr@2: /* Symantec 7.5 */ williamr@2: # include williamr@2: # elif defined (__MRC__) || (defined (__SC__) && (__SC__ >= 0x882)) williamr@2: /* Apple MPW SCpp 8.8.2 williamr@2: * Apple MPW MrCpp 4.1.0 */ williamr@2: # include williamr@2: # elif defined(__SYMBIAN32__) && defined(EKA2) && defined (__GCCE__) williamr@2: # include williamr@2: # elif defined(__SYMBIAN32__) && defined(EKA2) && defined (__WINSCW__) williamr@2: /* Metrowerks CodeWarrior for Symbian EKA2 */ williamr@2: williamr@2: //# warning ********** USING METROWERKS COMPILER ********** williamr@2: # include williamr@2: //# warning ***************************************** williamr@2: williamr@2: #elif defined (__SYMBIAN32__) && defined(EKA2) && defined(__ARMCC__) williamr@2: /* ARM RVCT for Symbian EKA2 */ williamr@2: //# warning ********** USING RVCT COMPILER ********** williamr@2: # include williamr@2: williamr@2: #elif defined (__SYMBIAN32__) williamr@2: williamr@2: /* NO-OP: This is just for the Symbian build process, to silence williamr@2: the warning that no compiler config file is available during williamr@2: the include dependency check step. The warning is generated williamr@2: because the preprocesser is being used to process the files williamr@2: with no compiler flag set. williamr@2: */ williamr@2: williamr@2: # elif defined(__hpux) williamr@2: /* HP compilers */ williamr@2: # include williamr@2: # elif defined(__ICL) williamr@2: /* Intel reference compiler for Win */ williamr@2: # include williamr@2: /* SCO UDK 7 compiler (UnixWare 7x, OSR 5, UnixWare 2x) */ williamr@2: # elif defined(__USLC__) williamr@2: # include williamr@2: /* Apogee 4.x */ williamr@2: # elif defined (__APOGEE__) williamr@2: # include williamr@2: # elif defined (__DECCXX) || defined (__DECC) williamr@2: # ifdef __vms williamr@2: # include williamr@2: # else williamr@2: # include williamr@2: # endif williamr@2: # elif defined (__ISCPP__) williamr@2: # include williamr@2: # elif defined (__FCC_VERSION) williamr@2: /* Fujutsu Compiler, v4.0 assumed */ williamr@2: # include williamr@2: # elif defined(_CRAY) williamr@2: /* Cray C++ 3.4 or 3.5 */ williamr@2: # include williamr@2: # else williamr@2: /* Unable to identify the compiler, issue error diagnostic. williamr@2: * Edit to set STLport up for your compiler. */ williamr@2: # include williamr@2: # endif /* end of compiler choice */ williamr@2: # undef __GIVE_UP_WITH_STL williamr@2: #endif williamr@2: