Chris@16: /* Chris@101: Copyright Rene Rivera 2008-2013 Chris@16: Distributed under the Boost Software License, Version 1.0. Chris@16: (See accompanying file LICENSE_1_0.txt or copy at Chris@16: http://www.boost.org/LICENSE_1_0.txt) Chris@16: */ Chris@16: Chris@16: #ifndef BOOST_PREDEF_COMPILER_MINGW_H Chris@16: #define BOOST_PREDEF_COMPILER_MINGW_H Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: /*` Chris@16: [heading `BOOST_PLAT_MINGW`] Chris@16: Chris@16: [@http://en.wikipedia.org/wiki/MinGW MinGW] platform. Chris@16: Version number available as major, minor, and patch. Chris@16: Chris@16: [table Chris@16: [[__predef_symbol__] [__predef_version__]] Chris@16: Chris@16: [[`__MINGW32__`] [__predef_detection__]] Chris@16: [[`__MINGW64__`] [__predef_detection__]] Chris@16: Chris@16: [[`__MINGW64_VERSION_MAJOR`, `__MINGW64_VERSION_MINOR`] [V.R.0]] Chris@16: [[`__MINGW32_VERSION_MAJOR`, `__MINGW32_VERSION_MINOR`] [V.R.0]] Chris@16: ] Chris@16: */ Chris@16: Chris@16: #define BOOST_PLAT_MINGW BOOST_VERSION_NUMBER_NOT_AVAILABLE Chris@16: Chris@16: #if defined(__MINGW32__) || defined(__MINGW64__) Chris@16: # include <_mingw.h> Chris@101: # if !defined(BOOST_PLAT_MINGW_DETECTION) && (defined(__MINGW64_VERSION_MAJOR) && defined(__MINGW64_VERSION_MINOR)) Chris@101: # define BOOST_PLAT_MINGW_DETECTION \ Chris@16: BOOST_VERSION_NUMBER(__MINGW64_VERSION_MAJOR,__MINGW64_VERSION_MINOR,0) Chris@16: # endif Chris@101: # if !defined(BOOST_PLAT_MINGW_DETECTION) && (defined(__MINGW32_VERSION_MAJOR) && defined(__MINGW32_VERSION_MINOR)) Chris@101: # define BOOST_PLAT_MINGW_DETECTION \ Chris@16: BOOST_VERSION_NUMBER(__MINGW32_MAJOR_VERSION,__MINGW32_MINOR_VERSION,0) Chris@16: # endif Chris@101: # if !defined(BOOST_PLAT_MINGW_DETECTION) Chris@101: # define BOOST_PLAT_MINGW_DETECTION BOOST_VERSION_NUMBER_AVAILABLE Chris@16: # endif Chris@16: #endif Chris@16: Chris@101: #ifdef BOOST_PLAT_MINGW_DETECTION Chris@16: # define BOOST_PLAT_MINGW_AVAILABLE Chris@101: # if defined(BOOST_PREDEF_DETAIL_PLAT_DETECTED) Chris@101: # define BOOST_PLAT_MINGW_EMULATED BOOST_PLAT_MINGW_DETECTION Chris@101: # else Chris@101: # undef BOOST_PLAT_MINGW Chris@101: # define BOOST_PLAT_MINGW BOOST_PLAT_MINGW_DETECTION Chris@101: # endif Chris@101: # include Chris@16: #endif Chris@16: Chris@16: #define BOOST_PLAT_MINGW_NAME "MinGW" Chris@16: Chris@16: #include Chris@16: BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_MINGW,BOOST_PLAT_MINGW_NAME) Chris@16: Chris@101: #ifdef BOOST_PLAT_MINGW_EMULATED Chris@101: #include Chris@101: BOOST_PREDEF_DECLARE_TEST(BOOST_PLAT_MINGW_EMULATED,BOOST_PLAT_MINGW_NAME) Chris@101: #endif Chris@101: Chris@16: Chris@16: #endif