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