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 (__sun) 40 # include <stl/config/_solaris.h> 41 # if defined (__GNUC__) 42 # include <stl/config/_gcc.h> 43 # elif defined (__SUNPRO_CC) || defined (__SUNPRO_C) 44 # include <stl/config/_sunprocc.h> 45 /* 46 # ifdef __KCC 47 # include <stl/config/_kai.h> 48 # endif 49 */ 50 # elif defined (__APOGEE__) /* Apogee 4.x */ 51 # include <stl/config/_apcc.h> 52 # elif defined (__FCC_VERSION) /* Fujitsu Compiler, v4.0 assumed */ 53 # include <stl/config/_fujitsu.h> 54 # endif 55 #elif defined (__hpux) 56 # include <stl/config/_hpux.h> 57 # if defined (__GNUC__) 58 # include <stl/config/_gcc.h> 59 # elif defined (__HP_aCC) 60 # include <stl/config/_hpacc.h> 61 # endif 62 #elif defined (__ANDROID__) 63 /* Android mobile phone platform. Somewhat but not entirely GNU/Linux-like */ 64 # include <stl/config/_android.h> 65 #elif defined (linux) || defined (__linux__) 66 # include <stl/config/_linux.h> 67 # if defined (__BORLANDC__) 68 # include <stl/config/_bc.h> /* Borland C++ 0x570 */ 69 /* Intel's icc define __GNUC__! */ 70 # elif defined (__INTEL_COMPILER) 71 # include <stl/config/_icc.h> 72 # elif defined (__GNUC__) 73 # include <stl/config/_gcc.h> 74 # endif 75 /* 76 # ifdef __KCC 77 # include <stl/config/_kai.h> 78 # endif 79 */ 80 #elif defined (__FreeBSD__) 81 # include <stl/config/_freebsd.h> 82 # if defined (__GNUC__) 83 # include <stl/config/_gcc.h> 84 # endif 85 #elif defined (__OpenBSD__) 86 # include <stl/config/_openbsd.h> 87 # if defined (__GNUC__) 88 # include <stl/config/_gcc.h> 89 # endif 90 #elif defined (__sgi) /* IRIX? */ 91 # define _STLP_PLATFORM "SGI Irix" 92 # if defined (__GNUC__) 93 # include <stl/config/_gcc.h> 94 # else 95 # include <stl/config/_sgi.h> 96 # endif 97 #elif defined (__OS400__) /* AS/400 C++ */ 98 # define _STLP_PLATFORM "OS 400" 99 # if defined (__GNUC__) 100 # include <stl/config/_gcc.h> 101 # else 102 # include <stl/config/_as400.h> 103 # endif 104 #elif defined (_AIX) 105 # include <stl/config/_aix.h> 106 # if defined (__xlC__) || defined (__IBMC__) || defined ( __IBMCPP__ ) 107 /* AIX xlC, Visual Age C++ , OS-390 C++ */ 108 # include <stl/config/_ibm.h> 109 # endif 110 #elif defined (_CRAY) /* Cray C++ 3.4 or 3.5 */ 111 # define _STLP_PLATFORM "Cray" 112 # include <config/_cray.h> 113 #elif defined (__DECCXX) || defined (__DECC) 114 # define _STLP_PLATFORM "DECC" 115 # ifdef __vms 116 # include <stl/config/_dec_vms.h> 117 # else 118 # include <stl/config/_dec.h> 119 # endif 120 #elif defined (macintosh) || defined (_MAC) 121 # include <stl/config/_mac.h> 122 # if defined (__MWERKS__) 123 # include <stl/config/_mwerks.h> 124 # endif 125 #elif defined (__APPLE__) 126 # include <stl/config/_macosx.h> 127 # ifdef __GNUC__ 128 # include <stl/config/_gcc.h> 129 # endif 130 #elif defined (__CYGWIN__) 131 # include <stl/config/_cygwin.h> 132 # if defined (__GNUC__) 133 # include <stl/config/_gcc.h> 134 # endif 135 #elif defined (__MINGW32__) 136 # define _STLP_PLATFORM "MinGW" 137 # if defined (__GNUC__) 138 # include <stl/config/_gcc.h> 139 # endif 140 # include <stl/config/_windows.h> 141 #elif defined (_WIN32) || defined (__WIN32) || defined (WIN32) || defined (__WIN32__) || \ 142 defined (__WIN16) || defined (WIN16) || defined (_WIN16) 143 # if defined ( __BORLANDC__ ) /* Borland C++ / CodeGear C++ */ 144 # include <stl/config/_bc.h> 145 # elif defined (__WATCOM_CPLUSPLUS__) || defined (__WATCOMC__) /* Watcom C++ */ 146 # include <stl/config/_watcom.h> 147 # elif defined (__COMO__) || defined (__COMO_VERSION_) 148 # include <stl/config/_como.h> 149 # elif defined (__DMC__) /* Digital Mars C++ */ 150 # include <stl/config/_dm.h> 151 # elif defined (__ICL) /* Intel reference compiler for Win */ 152 # include <stl/config/_intel.h> 153 # elif defined (__MWERKS__) 154 # include <stl/config/_mwerks.h> 155 # elif defined (_MSC_VER) && (_MSC_VER >= 1200) && defined (UNDER_CE) 156 /* Microsoft eMbedded Visual C++ 3.0, 4.0 (.NET) */ 157 # include <stl/config/_evc.h> 158 # elif defined (_MSC_VER) 159 /* Microsoft Visual C++ 6.0, 7.0, 7.1, 8.0 */ 160 # include <stl/config/_msvc.h> 161 # endif 162 163 # include <stl/config/_windows.h> 164 #else 165 # error Unknown platform !! 166 #endif 167 168 #if !defined (_STLP_COMPILER) 169 /* Unable to identify the compiler, issue error diagnostic. 170 * Edit <config/stl_mycomp.h> to set STLport up for your compiler. */ 171 # include <stl/config/stl_mycomp.h> 172 #endif 173 174 #endif /* __stl_config__system_h */ 175