Merge c:/dyninst/pc_bluegene/dyninst into dyn_pc_integration
[dyninst.git] / external / boost / config / select_compiler_config.hpp
1 //  Boost compiler configuration selection header file
2
3 //  (C) Copyright John Maddock 2001 - 2003. 
4 //  (C) Copyright Martin Wille 2003.
5 //  (C) Copyright Guillaume Melquiond 2003.
6 //
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)
10
11 //  See http://www.boost.org/ for most recent version.
12
13
14 // one identification macro for each of the
15 // compilers we support:
16
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
34
35
36 // locate which compiler we are using and define
37 // BOOST_COMPILER_CONFIG as needed: 
38
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"
42
43 #elif defined __COMO__
44 //  Comeau C++
45 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
46
47 #elif defined __DMC__
48 //  Digital Mars C++
49 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"
50
51 #elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
52 //  Intel
53 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
54
55 # elif defined __GNUC__
56 //  GNU C++:
57 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
58
59 #elif defined __KCC
60 //  Kai C++
61 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp"
62
63 #elif defined __sgi
64 //  SGI MIPSpro C++
65 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp"
66
67 #elif defined __DECCXX
68 //  Compaq Tru64 Unix cxx
69 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp"
70
71 #elif defined __ghs
72 //  Greenhills C++
73 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp"
74
75 #elif defined __CODEGEARC__
76 //  CodeGear - must be checked for before Borland
77 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp"
78
79 #elif defined __BORLANDC__
80 //  Borland
81 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp"
82
83 #elif defined  __MWERKS__
84 //  Metrowerks CodeWarrior
85 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp"
86
87 #elif defined  __SUNPRO_CC
88 //  Sun Workshop Compiler C++
89 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp"
90
91 #elif defined __HP_aCC
92 //  HP aCC
93 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp"
94
95 #elif defined(__MRC__) || defined(__SC__)
96 //  MPW MrCpp or SCpp
97 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp"
98
99 #elif defined(__IBMCPP__)
100 //  IBM Visual Age
101 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"
102
103 #elif defined(__PGI)
104 //  Portland Group Inc.
105 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp"
106
107 #elif defined _MSC_VER
108 //  Microsoft Visual C++
109 //
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"
113
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)"
118
119 #endif