1
// Boost compiler configuration selection header file
3
// (C) Copyright John Maddock 2001 - 2003.
4
// (C) Copyright Martin Wille 2003.
5
// (C) Copyright Guillaume Melquiond 2003.
7
// Distributed under the Boost Software License, Version 1.0.
8
// (See accompanying file LICENSE_1_0.txt or copy at
9
// http://www.boost.org/LICENSE_1_0.txt)
11
// See http://www.boost.org/ for most recent version.
14
// one identification macro for each of the
15
// compilers we support:
17
# define BOOST_CXX_GCCXML 0
18
# define BOOST_CXX_COMO 0
19
# define BOOST_CXX_DMC 0
20
# define BOOST_CXX_INTEL 0
21
# define BOOST_CXX_GNUC 0
22
# define BOOST_CXX_KCC 0
23
# define BOOST_CXX_SGI 0
24
# define BOOST_CXX_TRU64 0
25
# define BOOST_CXX_GHS 0
26
# define BOOST_CXX_BORLAND 0
27
# define BOOST_CXX_CW 0
28
# define BOOST_CXX_SUNPRO 0
29
# define BOOST_CXX_HPACC 0
30
# define BOOST_CXX_MPW 0
31
# define BOOST_CXX_IBMCPP 0
32
# define BOOST_CXX_MSVC 0
33
# define BOOST_CXX_PGI 0
36
// locate which compiler we are using and define
37
// BOOST_COMPILER_CONFIG as needed:
39
#if defined(__GCCXML__)
40
// GCC-XML emulates other compilers, it has to appear first here!
41
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp"
43
#elif defined __COMO__
45
# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
49
# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"
51
#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
53
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
55
# elif defined __GNUC__
57
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
61
# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp"
65
# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp"
67
#elif defined __DECCXX
68
// Compaq Tru64 Unix cxx
69
# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp"
73
# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp"
75
#elif defined __CODEGEARC__
76
// CodeGear - must be checked for before Borland
77
# define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp"
79
#elif defined __BORLANDC__
81
# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp"
83
#elif defined __MWERKS__
84
// Metrowerks CodeWarrior
85
# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp"
87
#elif defined __SUNPRO_CC
88
// Sun Workshop Compiler C++
89
# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp"
91
#elif defined __HP_aCC
93
# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp"
95
#elif defined(__MRC__) || defined(__SC__)
97
# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp"
99
#elif defined(__IBMCPP__)
101
# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"
104
// Portland Group Inc.
105
# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp"
107
#elif defined _MSC_VER
108
// Microsoft Visual C++
110
// Must remain the last #elif since some other vendors (Metrowerks, for
111
// example) also #define _MSC_VER
112
# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp"
114
#elif defined (BOOST_ASSERT_CONFIG)
115
// this must come last - generate an error if we don't
116
// recognise the compiler:
117
# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)"