Chris@16: // Boost compiler configuration selection header file Chris@16: Chris@16: // (C) Copyright John Maddock 2001 - 2003. Chris@16: // (C) Copyright Jens Maurer 2001 - 2002. Chris@16: // Use, modification and distribution are subject to the Chris@16: // Boost Software License, Version 1.0. (See accompanying file Chris@16: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: Chris@16: // See http://www.boost.org for most recent version. Chris@16: Chris@16: // locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed: Chris@16: Chris@16: // First include to determine if some version of STLport is in use as the std lib Chris@16: // (do not rely on this header being included since users can short-circuit this header Chris@16: // if they know whose std lib they are using.) Chris@16: #ifdef __cplusplus Chris@16: # include Chris@16: #else Chris@16: # include Chris@16: #endif Chris@16: Chris@16: #if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION) Chris@16: // STLPort library; this _must_ come first, otherwise since Chris@16: // STLport typically sits on top of some other library, we Chris@16: // can end up detecting that first rather than STLport: Chris@16: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp" Chris@16: Chris@16: #else Chris@16: Chris@16: // If our std lib was not some version of STLport, then include as it is about Chris@16: // the smallest of the std lib headers that includes real C++ stuff. (Some std libs do not Chris@16: // include their C++-related macros in so this additional include makes sure Chris@16: // we get those definitions) Chris@16: // (again do not rely on this header being included since users can short-circuit this Chris@16: // header if they know whose std lib they are using.) Chris@16: #include Chris@16: Chris@16: #if defined(__LIBCOMO__) Chris@16: // Comeau STL: Chris@16: #define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp" Chris@16: Chris@16: #elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER) Chris@16: // Rogue Wave library: Chris@16: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp" Chris@16: Chris@16: #elif defined(_LIBCPP_VERSION) Chris@16: // libc++ Chris@16: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp" Chris@16: Chris@16: #elif defined(__GLIBCPP__) || defined(__GLIBCXX__) Chris@16: // GNU libstdc++ 3 Chris@16: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp" Chris@16: Chris@16: #elif defined(__STL_CONFIG_H) Chris@16: // generic SGI STL Chris@16: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp" Chris@16: Chris@16: #elif defined(__MSL_CPP__) Chris@16: // MSL standard lib: Chris@16: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp" Chris@16: Chris@16: #elif defined(__IBMCPP__) Chris@16: // take the default VACPP std lib Chris@16: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp" Chris@16: Chris@16: #elif defined(MSIPL_COMPILE_H) Chris@16: // Modena C++ standard library Chris@16: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp" Chris@16: Chris@16: #elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER) Chris@16: // Dinkumware Library (this has to appear after any possible replacement libraries): Chris@16: # define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp" Chris@16: Chris@16: #elif defined (BOOST_ASSERT_CONFIG) Chris@16: // this must come last - generate an error if we don't Chris@16: // recognise the library: Chris@16: # error "Unknown standard library - please configure and report the results to boost.org" Chris@16: Chris@16: #endif Chris@16: Chris@16: #endif Chris@16: Chris@16: Chris@16: