Home | History | Annotate | Download | only in config
      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