1 /* 2 * Copyright (c) 1997 3 * Moscow Center for SPARC Technology 4 * 5 * Copyright (c) 1999 6 * Boris Fomitchev 7 * 8 * This material is provided "as is", with absolutely no warranty expressed 9 * or implied. Any use is at your own risk. 10 * 11 * Permission to use or copy this software for any purpose is hereby granted 12 * without fee, provided the above notices are retained on all copies. 13 * Permission to modify the code and to distribute modified code is granted, 14 * provided the above notices are retained, and a notice that the code was 15 * modified is included with the above copyright notice. 16 * 17 */ 18 19 /* 20 * Purpose of this file : 21 * 22 * To hold COMPILER-SPECIFIC portion of STLport settings. 23 * In general, user should not edit this file unless 24 * using the compiler not recognized below. 25 * 26 * If your compiler is not being recognized yet, 27 * please look for definitions of macros in stl_mycomp.h, 28 * copy stl_mycomp.h to stl_YOUR_COMPILER_NAME, 29 * adjust flags for your compiler, and add <include config/stl_YOUR_COMPILER_NAME> 30 * to the secton controlled by unique macro defined internaly by your compiler. 31 * 32 * To change user-definable settings, please edit <user_config.h> 33 * 34 */ 35 36 #ifndef __stl_config__system_h 37 #define __stl_config__system_h 38 39 #if defined (__REACTOS__) 40 # include <stl/config/_reactos.h> 41 #elif defined (__sun) 42 # include <stl/config/_solaris.h> 43 # if defined (__GNUC__) 44 # include <stl/config/_gcc.h> 45 # elif defined (__SUNPRO_CC) || defined (__SUNPRO_C) 46 # include <stl/config/_sunprocc.h> 47 /* 48 # ifdef __KCC 49 # include <stl/config/_kai.h> 50 # endif 51 */ 52 # elif defined (__APOGEE__) /* Apogee 4.x */ 53 # include <stl/config/_apcc.h> 54 # elif defined (__FCC_VERSION) /* Fujitsu Compiler, v4.0 assumed */ 55 # include <stl/config/_fujitsu.h> 56 # endif 57 #elif defined (__hpux) 58 # include <stl/config/_hpux.h> 59 # if defined (__GNUC__) 60 # include <stl/config/_gcc.h> 61 # elif defined (__HP_aCC) 62 # include <stl/config/_hpacc.h> 63 # endif 64 #elif defined (linux) || defined (__linux__) 65 # include <stl/config/_linux.h> 66 # if defined (__BORLANDC__) 67 # include <stl/config/_bc.h> /* Borland C++ 0x570 */ 68 /* Intel's icc define __GNUC__! */ 69 # elif defined (__INTEL_COMPILER) 70 # include <stl/config/_icc.h> 71 # elif defined (__GNUC__) 72 # include <stl/config/_gcc.h> 73 # endif 74 /* 75 # ifdef __KCC 76 # include <stl/config/_kai.h> 77 # endif 78 */ 79 #elif defined (__FreeBSD__) 80 # include <stl/config/_freebsd.h> 81 # if defined (__GNUC__) 82 # include <stl/config/_gcc.h> 83 # endif 84 #elif defined (__OpenBSD__) 85 # include <stl/config/_openbsd.h> 86 # if defined (__GNUC__) 87 # include <stl/config/_gcc.h> 88 # endif 89 #elif defined (__sgi) /* IRIX? */ 90 # define _STLP_PLATFORM "SGI Irix" 91 # if defined (__GNUC__) 92 # include <stl/config/_gcc.h> 93 # else 94 # include <stl/config/_sgi.h> 95 # endif 96 #elif defined (__OS400__) /* AS/400 C++ */ 97 # define _STLP_PLATFORM "OS 400" 98 # if defined (__GNUC__) 99 # include <stl/config/_gcc.h> 100 # else 101 # include <stl/config/_as400.h> 102 # endif 103 #elif defined (_AIX) 104 # include <stl/config/_aix.h> 105 # if defined (__xlC__) || defined (__IBMC__) || defined ( __IBMCPP__ ) 106 /* AIX xlC, Visual Age C++ , OS-390 C++ */ 107 # include <stl/config/_ibm.h> 108 # endif 109 #elif defined (_CRAY) /* Cray C++ 3.4 or 3.5 */ 110 # define _STLP_PLATFORM "Cray" 111 # include <config/_cray.h> 112 #elif defined (__DECCXX) || defined (__DECC) 113 # define _STLP_PLATFORM "DECC" 114 # ifdef __vms 115 # include <stl/config/_dec_vms.h> 116 # else 117 # include <stl/config/_dec.h> 118 # endif 119 #elif defined (macintosh) || defined (_MAC) 120 # include <stl/config/_mac.h> 121 # if defined (__MWERKS__) 122 # include <stl/config/_mwerks.h> 123 # endif 124 #elif defined (__APPLE__) 125 # include <stl/config/_macosx.h> 126 # ifdef __GNUC__ 127 # include <stl/config/_gcc.h> 128 # endif 129 #elif defined (__CYGWIN__) 130 # include <stl/config/_cygwin.h> 131 # if defined (__GNUC__) 132 # include <stl/config/_gcc.h> 133 # endif 134 #elif defined (__MINGW32__) 135 # define _STLP_PLATFORM "MinGW" 136 # if defined (__GNUC__) 137 # include <stl/config/_gcc.h> 138 # endif 139 # include <stl/config/_windows.h> 140 #elif defined (_WIN32) || defined (__WIN32) || defined (WIN32) || defined (__WIN32__) || \ 141 defined (__WIN16) || defined (WIN16) || defined (_WIN16) 142 # if defined ( __BORLANDC__ ) /* Borland C++ / CodeGear C++ */ 143 # include <stl/config/_bc.h> 144 # elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__) /* Watcom C++ */ 145 # include <stl/config/_watcom.h> 146 # elif defined (__COMO__) || defined (__COMO_VERSION_) 147 # include <stl/config/_como.h> 148 # elif defined (__DMC__) /* Digital Mars C++ */ 149 # include <stl/config/_dm.h> 150 # elif defined (__ICL) /* Intel reference compiler for Win */ 151 # include <stl/config/_intel.h> 152 # elif defined (__MWERKS__) 153 # include <stl/config/_mwerks.h> 154 # elif defined (_MSC_VER) && (_MSC_VER >= 1200) && defined (UNDER_CE) 155 /* Microsoft eMbedded Visual C++ 3.0, 4.0 (.NET) */ 156 # include <stl/config/_evc.h> 157 # elif defined (_MSC_VER) 158 /* Microsoft Visual C++ 6.0, 7.0, 7.1, 8.0 */ 159 # include <stl/config/_msvc.h> 160 # endif 161 162 # include <stl/config/_windows.h> 163 #else 164 # error Unknown platform !! 165 #endif 166 167 #if !defined (_STLP_COMPILER) 168 /* Unable to identify the compiler, issue error diagnostic. 169 * Edit <config/stl_mycomp.h> to set STLport up for your compiler. */ 170 # include <stl/config/stl_mycomp.h> 171 #endif 172 173 #endif /* __stl_config__system_h */ 174