sl@0: // Copyright (C) 2001-2003 sl@0: // William E. Kempf sl@0: // sl@0: // Distributed under the Boost Software License, Version 1.0. (See accompanying sl@0: // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) sl@0: sl@0: #ifndef BOOST_THREAD_CONFIG_WEK01032003_HPP sl@0: #define BOOST_THREAD_CONFIG_WEK01032003_HPP sl@0: sl@0: #include sl@0: #include sl@0: sl@0: #if BOOST_WORKAROUND(__BORLANDC__, < 0x600) sl@0: # pragma warn -8008 // Condition always true/false sl@0: # pragma warn -8080 // Identifier declared but never used sl@0: # pragma warn -8057 // Parameter never used sl@0: # pragma warn -8066 // Unreachable code sl@0: #endif sl@0: sl@0: // insist on threading support being available: sl@0: #include sl@0: sl@0: // compatibility with the rest of Boost's auto-linking code: sl@0: #if defined(BOOST_THREAD_DYN_DLL) || defined(BOOST_ALL_DYN_LINK) sl@0: # undef BOOST_THREAD_USE_LIB sl@0: # define BOOST_THREAD_USE_DLL sl@0: #endif sl@0: sl@0: #if defined(BOOST_THREAD_BUILD_DLL) //Build dll sl@0: #elif defined(BOOST_THREAD_BUILD_LIB) //Build lib sl@0: #elif defined(BOOST_THREAD_USE_DLL) //Use dll sl@0: #elif defined(BOOST_THREAD_USE_LIB) //Use lib sl@0: #else //Use default sl@0: # if defined(BOOST_HAS_WINTHREADS) sl@0: # if defined(BOOST_MSVC) || defined(BOOST_INTEL_WIN) sl@0: //For compilers supporting auto-tss cleanup sl@0: //with Boost.Threads lib, use Boost.Threads lib sl@0: # define BOOST_THREAD_USE_LIB sl@0: # else sl@0: //For compilers not yet supporting auto-tss cleanup sl@0: //with Boost.Threads lib, use Boost.Threads dll sl@0: # define BOOST_THREAD_USE_DLL sl@0: # endif sl@0: # else sl@0: # define BOOST_THREAD_USE_LIB sl@0: # endif sl@0: #endif sl@0: sl@0: #if defined(BOOST_HAS_DECLSPEC) sl@0: # if defined(BOOST_THREAD_BUILD_DLL) //Build dll sl@0: # define BOOST_THREAD_DECL __declspec(dllexport) sl@0: # elif defined(BOOST_THREAD_USE_DLL) //Use dll sl@0: # define BOOST_THREAD_DECL __declspec(dllimport) sl@0: # else sl@0: # define BOOST_THREAD_DECL sl@0: # endif sl@0: #else sl@0: # define BOOST_THREAD_DECL sl@0: #endif // BOOST_HAS_DECLSPEC sl@0: sl@0: // sl@0: // Automatically link to the correct build variant where possible. sl@0: // sl@0: #if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_THREAD_NO_LIB) && !defined(BOOST_THREAD_BUILD_DLL) && !defined(BOOST_THREAD_BUILD_LIB) sl@0: // sl@0: // Tell the autolink to link dynamically, this will get undef'ed by auto_link.hpp sl@0: // once it's done with it: sl@0: // sl@0: #if defined(BOOST_THREAD_USE_DLL) sl@0: # define BOOST_DYN_LINK sl@0: #endif sl@0: // sl@0: // Set the name of our library, this will get undef'ed by auto_link.hpp sl@0: // once it's done with it: sl@0: // sl@0: #if defined(BOOST_THREAD_LIB_NAME) sl@0: # define BOOST_LIB_NAME BOOST_THREAD_LIB_NAME sl@0: #else sl@0: # define BOOST_LIB_NAME boost_thread sl@0: #endif sl@0: // sl@0: // If we're importing code from a dll, then tell auto_link.hpp about it: sl@0: // sl@0: // And include the header that does the work: sl@0: // sl@0: #include sl@0: #endif // auto-linking disabled sl@0: sl@0: #endif // BOOST_THREAD_CONFIG_WEK1032003_HPP sl@0: sl@0: // Change Log: sl@0: // 22 Jan 05 Roland Schwarz (speedsnail) sl@0: // Usage of BOOST_HAS_DECLSPEC macro. sl@0: // Default again is static lib usage. sl@0: // BOOST_DYN_LINK only defined when autolink included.