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