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
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |