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