PageRenderTime 15ms CodeModel.GetById 12ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/thread/detail/config.hpp

http://hadesmem.googlecode.com/
C++ Header | 100 lines | 56 code | 11 blank | 33 comment | 8 complexity | 45529c2aa8b04582b761f6354d0e2027 MD5 | raw file
  1// Copyright (C) 2001-2003
  2// William E. Kempf
  3//
  4//  Distributed under the Boost Software License, Version 1.0. (See accompanying 
  5//  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6
  7#ifndef BOOST_THREAD_CONFIG_WEK01032003_HPP
  8#define BOOST_THREAD_CONFIG_WEK01032003_HPP
  9
 10#include <boost/config.hpp>
 11#include <boost/detail/workaround.hpp>
 12
 13#if BOOST_WORKAROUND(__BORLANDC__, < 0x600)
 14#  pragma warn -8008 // Condition always true/false
 15#  pragma warn -8080 // Identifier declared but never used
 16#  pragma warn -8057 // Parameter never used
 17#  pragma warn -8066 // Unreachable code
 18#endif
 19
 20#include "platform.hpp"
 21
 22// provided for backwards compatibility, since this
 23// macro was used for several releases by mistake.
 24#if defined(BOOST_THREAD_DYN_DLL)
 25# define BOOST_THREAD_DYN_LINK
 26#endif
 27
 28// compatibility with the rest of Boost's auto-linking code:
 29#if defined(BOOST_THREAD_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
 30# undef  BOOST_THREAD_USE_LIB
 31# define BOOST_THREAD_USE_DLL
 32#endif
 33
 34#if defined(BOOST_THREAD_BUILD_DLL)   //Build dll
 35#elif defined(BOOST_THREAD_BUILD_LIB) //Build lib
 36#elif defined(BOOST_THREAD_USE_DLL)   //Use dll
 37#elif defined(BOOST_THREAD_USE_LIB)   //Use lib
 38#else //Use default
 39#   if defined(BOOST_THREAD_PLATFORM_WIN32)
 40#       if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN)
 41            //For compilers supporting auto-tss cleanup
 42            //with Boost.Threads lib, use Boost.Threads lib
 43#           define BOOST_THREAD_USE_LIB
 44#       else
 45            //For compilers not yet supporting auto-tss cleanup
 46            //with Boost.Threads lib, use Boost.Threads dll
 47#           define BOOST_THREAD_USE_DLL
 48#       endif
 49#   else
 50#       define BOOST_THREAD_USE_LIB
 51#   endif
 52#endif
 53
 54#if defined(BOOST_HAS_DECLSPEC)
 55#   if defined(BOOST_THREAD_BUILD_DLL) //Build dll
 56#       define BOOST_THREAD_DECL __declspec(dllexport)
 57#   elif defined(BOOST_THREAD_USE_DLL) //Use dll
 58#       define BOOST_THREAD_DECL __declspec(dllimport)
 59#   else
 60#       define BOOST_THREAD_DECL
 61#   endif
 62#else
 63#   define BOOST_THREAD_DECL
 64#endif // BOOST_HAS_DECLSPEC
 65
 66//
 67// Automatically link to the correct build variant where possible.
 68//
 69#if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_THREAD_NO_LIB) && !defined(BOOST_THREAD_BUILD_DLL) && !defined(BOOST_THREAD_BUILD_LIB)
 70//
 71// Tell the autolink to link dynamically, this will get undef'ed by auto_link.hpp
 72// once it's done with it: 
 73//
 74#if defined(BOOST_THREAD_USE_DLL)
 75#   define BOOST_DYN_LINK
 76#endif
 77//
 78// Set the name of our library, this will get undef'ed by auto_link.hpp
 79// once it's done with it:
 80//
 81#if defined(BOOST_THREAD_LIB_NAME)
 82#    define BOOST_LIB_NAME BOOST_THREAD_LIB_NAME
 83#else
 84#    define BOOST_LIB_NAME boost_thread
 85#endif
 86//
 87// If we're importing code from a dll, then tell auto_link.hpp about it:
 88//
 89// And include the header that does the work:
 90//
 91#include <boost/config/auto_link.hpp>
 92#endif  // auto-linking disabled
 93
 94#endif // BOOST_THREAD_CONFIG_WEK1032003_HPP
 95
 96// Change Log:
 97//   22 Jan 05 Roland Schwarz (speedsnail)
 98//      Usage of BOOST_HAS_DECLSPEC macro.
 99//      Default again is static lib usage.
100//      BOOST_DYN_LINK only defined when autolink included.