Merge c:/dyninst/pc_bluegene/dyninst into dyn_pc_integration
[dyninst.git] / external / boost / mpl / aux_ / config / compiler.hpp
1
2 #ifndef BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
3 #define BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED
4
5 // Copyright Aleksey Gurtovoy 2001-2008
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/libs/mpl for documentation.
12
13 // $Id: compiler.hpp 49272 2008-10-11 06:50:46Z agurtovoy $
14 // $Date: 2008-10-11 02:50:46 -0400 (Sat, 11 Oct 2008) $
15 // $Revision: 49272 $
16
17 #if !defined(BOOST_MPL_CFG_COMPILER_DIR)
18
19 #   include <boost/mpl/aux_/config/dtp.hpp>
20 #   include <boost/mpl/aux_/config/ttp.hpp>
21 #   include <boost/mpl/aux_/config/ctps.hpp>
22 #   include <boost/mpl/aux_/config/msvc.hpp>
23 #   include <boost/mpl/aux_/config/gcc.hpp>
24 #   include <boost/mpl/aux_/config/workaround.hpp>
25
26 #   if BOOST_WORKAROUND(BOOST_MSVC, < 1300)
27 #       define BOOST_MPL_CFG_COMPILER_DIR msvc60
28
29 #   elif BOOST_WORKAROUND(BOOST_MSVC, == 1300)
30 #       define BOOST_MPL_CFG_COMPILER_DIR msvc70
31
32 #   elif BOOST_WORKAROUND(BOOST_MPL_CFG_GCC, BOOST_TESTED_AT(0x0304))
33 #       define BOOST_MPL_CFG_COMPILER_DIR gcc
34
35 #   elif BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610))
36 #       if !defined(BOOST_MPL_CFG_NO_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
37 #           define BOOST_MPL_CFG_COMPILER_DIR bcc551
38 #       elseif BOOST_WORKAROUND(__BORLANDC__, >= 0x590)
39 #           define BOOST_MPL_CFG_COMPILER_DIR bcc
40 #       else
41 #           define BOOST_MPL_CFG_COMPILER_DIR bcc_pre590
42 #       endif
43
44 #   elif BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x840))
45 #       define BOOST_MPL_CFG_COMPILER_DIR dmc
46
47 #   elif defined(__MWERKS__)
48 #       if defined(BOOST_MPL_CFG_BROKEN_DEFAULT_PARAMETERS_IN_NESTED_TEMPLATES)
49 #           define BOOST_MPL_CFG_COMPILER_DIR mwcw
50 #       else
51 #           define BOOST_MPL_CFG_COMPILER_DIR plain
52 #       endif
53
54 #   elif defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)
55 #       define BOOST_MPL_CFG_COMPILER_DIR no_ctps
56
57 #   elif defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS)
58 #       define BOOST_MPL_CFG_COMPILER_DIR no_ttp
59
60 #   else
61 #       define BOOST_MPL_CFG_COMPILER_DIR plain
62 #   endif
63
64 #endif // BOOST_MPL_CFG_COMPILER_DIR
65
66 #endif // BOOST_MPL_AUX_CONFIG_COMPILER_HPP_INCLUDED