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$
14// $Date$
15// $Revision$
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(BOOST_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# elif BOOST_WORKAROUND(BOOST_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
67

source code of include/boost/mpl/aux_/config/compiler.hpp