93 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			93 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | //  (C) Copyright John Maddock 2003.  | ||
|  | //  Use, modification and distribution are subject to 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) | ||
|  | 
 | ||
|  | 
 | ||
|  | #ifndef BOOST_CONFIG_REQUIRES_THREADS_HPP | ||
|  | #define BOOST_CONFIG_REQUIRES_THREADS_HPP | ||
|  | 
 | ||
|  | #ifndef BOOST_CONFIG_HPP | ||
|  | #  include <boost/config.hpp> | ||
|  | #endif | ||
|  | 
 | ||
|  | #if defined(BOOST_DISABLE_THREADS) | ||
|  | 
 | ||
|  | // | ||
|  | // special case to handle versions of gcc which don't currently support threads: | ||
|  | // | ||
|  | #if defined(__GNUC__) && ((__GNUC__ < 3) || (__GNUC_MINOR__ <= 3) || !defined(BOOST_STRICT_CONFIG)) | ||
|  | // | ||
|  | // this is checked up to gcc 3.3: | ||
|  | // | ||
|  | #if defined(__sgi) || defined(__hpux) | ||
|  | #  error "Multi-threaded programs are not supported by gcc on HPUX or Irix (last checked with gcc 3.3)" | ||
|  | #endif | ||
|  | 
 | ||
|  | #endif | ||
|  | 
 | ||
|  | #  error "Threading support unavaliable: it has been explicitly disabled with BOOST_DISABLE_THREADS" | ||
|  | 
 | ||
|  | #elif !defined(BOOST_HAS_THREADS) | ||
|  | 
 | ||
|  | # if defined __COMO__ | ||
|  | //  Comeau C++ | ||
|  | #   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_MT (Windows) or -D_REENTRANT (Unix)" | ||
|  | 
 | ||
|  | #elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC) | ||
|  | //  Intel | ||
|  | #ifdef _WIN32 | ||
|  | #  error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" | ||
|  | #else | ||
|  | #   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -openmp" | ||
|  | #endif | ||
|  | 
 | ||
|  | # elif defined __GNUC__ | ||
|  | //  GNU C++: | ||
|  | #   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)" | ||
|  | 
 | ||
|  | #elif defined __sgi | ||
|  | //  SGI MIPSpro C++ | ||
|  | #   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -D_SGI_MP_SOURCE" | ||
|  | 
 | ||
|  | #elif defined __DECCXX | ||
|  | //  Compaq Tru64 Unix cxx | ||
|  | #   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread" | ||
|  | 
 | ||
|  | #elif defined __BORLANDC__ | ||
|  | //  Borland | ||
|  | #   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -tWM" | ||
|  | 
 | ||
|  | #elif defined  __MWERKS__ | ||
|  | //  Metrowerks CodeWarrior | ||
|  | #   error "Compiler threading support is not turned on. Please set the correct command line options for threading: either -runtime sm, -runtime smd, -runtime dm, or -runtime dmd" | ||
|  | 
 | ||
|  | #elif defined  __SUNPRO_CC | ||
|  | //  Sun Workshop Compiler C++ | ||
|  | #   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" | ||
|  | 
 | ||
|  | #elif defined __HP_aCC | ||
|  | //  HP aCC | ||
|  | #   error "Compiler threading support is not turned on. Please set the correct command line options for threading: -mt" | ||
|  | 
 | ||
|  | #elif defined(__IBMCPP__) | ||
|  | //  IBM Visual Age | ||
|  | #   error "Compiler threading support is not turned on. Please compile the code with the xlC_r compiler" | ||
|  | 
 | ||
|  | #elif defined _MSC_VER | ||
|  | //  Microsoft Visual C++ | ||
|  | // | ||
|  | //  Must remain the last #elif since some other vendors (Metrowerks, for | ||
|  | //  example) also #define _MSC_VER | ||
|  | #  error "Compiler threading support is not turned on. Please set the correct command line options for threading: either /MT /MTd /MD or /MDd" | ||
|  | 
 | ||
|  | #else | ||
|  | 
 | ||
|  | #  error "Compiler threading support is not turned on.  Please consult your compiler's documentation for the appropriate options to use" | ||
|  | 
 | ||
|  | #endif // compilers | ||
|  | 
 | ||
|  | #endif // BOOST_HAS_THREADS | ||
|  | 
 | ||
|  | #endif // BOOST_CONFIG_REQUIRES_THREADS_HPP |