63 lines
3.1 KiB
Plaintext
63 lines
3.1 KiB
Plaintext
|
/*=============================================================================
|
||
|
Copyright (c) 2001-2003 Joel de Guzman
|
||
|
http://spirit.sourceforge.net/
|
||
|
|
||
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||
|
=============================================================================*/
|
||
|
#if !defined(BOOST_SPIRIT_CONFIG_HPP)
|
||
|
#define BOOST_SPIRIT_CONFIG_HPP
|
||
|
|
||
|
#include <boost/config.hpp>
|
||
|
|
||
|
///////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Compiler check:
|
||
|
//
|
||
|
// Historically, Spirit supported a lot of compilers, including (to some
|
||
|
// extent) poorly conforming compilers such as VC6. Spirit v1.6.x will be
|
||
|
// the last release that will support older poorly conforming compilers.
|
||
|
// Starting from Spirit v1.8.0, ill conforming compilers will not be
|
||
|
// supported. If you are still using one of these older compilers, you can
|
||
|
// still use Spirit v1.6.x.
|
||
|
//
|
||
|
// The reason why Spirit v1.6.x worked on old non-conforming compilers is
|
||
|
// that the authors laboriously took the trouble of searching for
|
||
|
// workarounds to make these compilers happy. The process takes a lot of
|
||
|
// time and energy, especially when one encounters the dreaded ICE or
|
||
|
// "Internal Compiler Error". Sometimes searching for a single workaround
|
||
|
// takes days or even weeks. Sometimes, there are no known workarounds. This
|
||
|
// stifles progress a lot. And, as the library gets more progressive and
|
||
|
// takes on more advanced C++ techniques, the difficulty is escalated to
|
||
|
// even new heights.
|
||
|
//
|
||
|
// Spirit v1.6.x will still be supported. Maintenance and bug fixes will
|
||
|
// still be applied. There will still be active development for the back-
|
||
|
// porting of new features introduced in Spirit v1.8.0 (and Spirit 1.9.0)
|
||
|
// to lesser able compilers; hopefully, fueled by contributions from the
|
||
|
// community. For instance, there is already a working AST tree back-port
|
||
|
// for VC6 and VC7 by Peder Holt.
|
||
|
//
|
||
|
// If you got here somehow, your compiler is known to be poorly conforming
|
||
|
// WRT ANSI/ISO C++ standard. Library implementers get a bad reputation when
|
||
|
// someone attempts to compile the code on a non-conforming compiler. She'll
|
||
|
// be confronted with tons of compiler errors when she tries to compile the
|
||
|
// library. Such errors will somehow make less informed users conclude that
|
||
|
// the code is poorly written. It's better for the user to see a message
|
||
|
// "sorry, this code has not been ported to your compiler yet", than to see
|
||
|
// pages and pages of compiler error messages.
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////////
|
||
|
#if (defined(BOOST_MSVC) && (BOOST_MSVC < 1310)) \
|
||
|
|| (defined(__BORLANDC__) && (__BORLANDC__ <= 0x570)) \
|
||
|
|| (defined(__GNUC__) && (__GNUC__ < 3)) \
|
||
|
|| (defined(__GNUC__) && (__GNUC__ == 3) && (__GNUC_MINOR__ < 1))
|
||
|
# error "Compiler not supported. See note in <boost/spirit/core/config.hpp>"
|
||
|
#else
|
||
|
// Pass... Compiler supported.
|
||
|
#endif
|
||
|
|
||
|
#endif
|
||
|
|
||
|
|