440 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C++
		
	
	
	
		
		
			
		
	
	
			440 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			C++
		
	
	
	
|  | //  (C) Copyright John Maddock 2003.
 | ||
|  | //  Use, modification and distribution are subject to the
 | ||
|  | //  Boost Software License, Version 1.0. (See accompanying file
 | ||
|  | //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | ||
|  | 
 | ||
|  |  /*
 | ||
|  |   *   LOCATION:    see http://www.boost.org for most recent version.
 | ||
|  |   *   FILE         auto_link.hpp | ||
|  |   *   VERSION      see <boost/version.hpp> | ||
|  |   *   DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers. | ||
|  |   */ | ||
|  | 
 | ||
|  | /*************************************************************************
 | ||
|  | 
 | ||
|  | USAGE: | ||
|  | ~~~~~~ | ||
|  | 
 | ||
|  | Before including this header you must define one or more of define the following macros: | ||
|  | 
 | ||
|  | BOOST_LIB_NAME:           Required: A string containing the basename of the library, | ||
|  |                           for example boost_regex. | ||
|  | BOOST_LIB_TOOLSET:        Optional: the base name of the toolset. | ||
|  | BOOST_DYN_LINK:           Optional: when set link to dll rather than static library. | ||
|  | BOOST_LIB_DIAGNOSTIC:     Optional: when set the header will print out the name | ||
|  |                           of the library selected (useful for debugging). | ||
|  | BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib, | ||
|  |                           rather than a mangled-name version. | ||
|  | BOOST_AUTO_LINK_TAGGED:   Specifies that we link to libraries built with the --layout=tagged option. | ||
|  |                           This is essentially the same as the default name-mangled version, but without | ||
|  |                           the compiler name and version, or the Boost version.  Just the build options. | ||
|  | 
 | ||
|  | These macros will be undef'ed at the end of the header, further this header | ||
|  | has no include guards - so be sure to include it only once from your library! | ||
|  | 
 | ||
|  | Algorithm: | ||
|  | ~~~~~~~~~~ | ||
|  | 
 | ||
|  | Libraries for Borland and Microsoft compilers are automatically | ||
|  | selected here, the name of the lib is selected according to the following | ||
|  | formula: | ||
|  | 
 | ||
|  | BOOST_LIB_PREFIX | ||
|  |    + BOOST_LIB_NAME | ||
|  |    + "_" | ||
|  |    + BOOST_LIB_TOOLSET | ||
|  |    + BOOST_LIB_THREAD_OPT | ||
|  |    + BOOST_LIB_RT_OPT | ||
|  |    "-" | ||
|  |    + BOOST_LIB_VERSION | ||
|  | 
 | ||
|  | These are defined as: | ||
|  | 
 | ||
|  | BOOST_LIB_PREFIX:     "lib" for static libraries otherwise "". | ||
|  | 
 | ||
|  | BOOST_LIB_NAME:       The base name of the lib ( for example boost_regex). | ||
|  | 
 | ||
|  | BOOST_LIB_TOOLSET:    The compiler toolset name (vc6, vc7, bcb5 etc). | ||
|  | 
 | ||
|  | BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing. | ||
|  | 
 | ||
|  | BOOST_LIB_RT_OPT:     A suffix that indicates the runtime library used, | ||
|  |                       contains one or more of the following letters after | ||
|  |                       a hyphen: | ||
|  | 
 | ||
|  |                       s      static runtime (dynamic if not present). | ||
|  |                       g      debug/diagnostic runtime (release if not present). | ||
|  |                       y      Python debug/diagnostic runtime (release if not present). | ||
|  |                       d      debug build (release if not present). | ||
|  |                       p      STLport build. | ||
|  |                       n      STLport build without its IOStreams. | ||
|  | 
 | ||
|  | BOOST_LIB_VERSION:    The Boost version, in the form x_y, for Boost version x.y. | ||
|  | 
 | ||
|  | 
 | ||
|  | ***************************************************************************/ | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | #  ifndef BOOST_CONFIG_HPP
 | ||
|  | #     include <boost/config.hpp>
 | ||
|  | #  endif
 | ||
|  | #elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
 | ||
|  | //
 | ||
|  | // C language compatability (no, honestly)
 | ||
|  | //
 | ||
|  | #  define BOOST_MSVC _MSC_VER
 | ||
|  | #  define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
 | ||
|  | #  define BOOST_DO_STRINGIZE(X) #X
 | ||
|  | #endif
 | ||
|  | //
 | ||
|  | // Only include what follows for known and supported compilers:
 | ||
|  | //
 | ||
|  | #if defined(BOOST_MSVC) \
 | ||
|  |     || defined(__BORLANDC__) \ | ||
|  |     || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \ | ||
|  |     || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) | ||
|  | 
 | ||
|  | #ifndef BOOST_VERSION_HPP
 | ||
|  | #  include <boost/version.hpp>
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifndef BOOST_LIB_NAME
 | ||
|  | #  error "Macro BOOST_LIB_NAME not set (internal error)"
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | //
 | ||
|  | // error check:
 | ||
|  | //
 | ||
|  | #if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
 | ||
|  | #  pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
 | ||
|  | #  pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
 | ||
|  | #  error "Incompatible build options"
 | ||
|  | #endif
 | ||
|  | //
 | ||
|  | // select toolset if not defined already:
 | ||
|  | //
 | ||
|  | #ifndef BOOST_LIB_TOOLSET
 | ||
|  | #  if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)
 | ||
|  |     // Note: no compilers before 1200 are supported
 | ||
|  | #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
 | ||
|  | 
 | ||
|  | #    ifdef UNDER_CE
 | ||
|  |        // eVC4:
 | ||
|  | #      define BOOST_LIB_TOOLSET "evc4"
 | ||
|  | #    else
 | ||
|  |        // vc6:
 | ||
|  | #      define BOOST_LIB_TOOLSET "vc6"
 | ||
|  | #    endif
 | ||
|  | 
 | ||
|  | #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)
 | ||
|  | 
 | ||
|  |      // vc7:
 | ||
|  | #    define BOOST_LIB_TOOLSET "vc7"
 | ||
|  | 
 | ||
|  | #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)
 | ||
|  | 
 | ||
|  |      // vc71:
 | ||
|  | #    define BOOST_LIB_TOOLSET "vc71"
 | ||
|  | 
 | ||
|  | #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)
 | ||
|  | 
 | ||
|  |      // vc80:
 | ||
|  | #    define BOOST_LIB_TOOLSET "vc80"
 | ||
|  | 
 | ||
|  | #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
 | ||
|  | 
 | ||
|  |      // vc90:
 | ||
|  | #    define BOOST_LIB_TOOLSET "vc90"
 | ||
|  | 
 | ||
|  | #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)
 | ||
|  | 
 | ||
|  |      // vc10:
 | ||
|  | #    define BOOST_LIB_TOOLSET "vc100"
 | ||
|  | 
 | ||
|  | #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
 | ||
|  | 
 | ||
|  |      // vc11:
 | ||
|  | #    define BOOST_LIB_TOOLSET "vc110"
 | ||
|  | 
 | ||
|  | #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900)
 | ||
|  | 
 | ||
|  |      // vc12:
 | ||
|  | #    define BOOST_LIB_TOOLSET "vc120"
 | ||
|  | 
 | ||
|  | # elif defined(BOOST_MSVC)
 | ||
|  | 
 | ||
|  |    // vc14:
 | ||
|  | #  define BOOST_LIB_TOOLSET "vc140"
 | ||
|  | 
 | ||
|  | #  elif defined(__BORLANDC__)
 | ||
|  | 
 | ||
|  |      // CBuilder 6:
 | ||
|  | #    define BOOST_LIB_TOOLSET "bcb"
 | ||
|  | 
 | ||
|  | #  elif defined(__ICL)
 | ||
|  | 
 | ||
|  |      // Intel C++, no version number:
 | ||
|  | #    define BOOST_LIB_TOOLSET "iw"
 | ||
|  | 
 | ||
|  | #  elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
 | ||
|  | 
 | ||
|  |      // Metrowerks CodeWarrior 8.x
 | ||
|  | #    define BOOST_LIB_TOOLSET "cw8"
 | ||
|  | 
 | ||
|  | #  elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
 | ||
|  | 
 | ||
|  |      // Metrowerks CodeWarrior 9.x
 | ||
|  | #    define BOOST_LIB_TOOLSET "cw9"
 | ||
|  | 
 | ||
|  | #  endif
 | ||
|  | #endif // BOOST_LIB_TOOLSET
 | ||
|  | 
 | ||
|  | //
 | ||
|  | // select thread opt:
 | ||
|  | //
 | ||
|  | #if defined(_MT) || defined(__MT__)
 | ||
|  | #  define BOOST_LIB_THREAD_OPT "-mt"
 | ||
|  | #else
 | ||
|  | #  define BOOST_LIB_THREAD_OPT
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #if defined(_MSC_VER) || defined(__MWERKS__)
 | ||
|  | 
 | ||
|  | #  ifdef _DLL
 | ||
|  | 
 | ||
|  | #     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
 | ||
|  | 
 | ||
|  | #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #            define BOOST_LIB_RT_OPT "-gydp"
 | ||
|  | #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
 | ||
|  | #            define BOOST_LIB_RT_OPT "-gdp"
 | ||
|  | #        elif defined(_DEBUG)\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #            define BOOST_LIB_RT_OPT "-gydp"
 | ||
|  | #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 | ||
|  | #            error "Build options aren't compatible with pre-built libraries"
 | ||
|  | #        elif defined(_DEBUG)
 | ||
|  | #            define BOOST_LIB_RT_OPT "-gdp"
 | ||
|  | #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 | ||
|  | #            error "Build options aren't compatible with pre-built libraries"
 | ||
|  | #        else
 | ||
|  | #            define BOOST_LIB_RT_OPT "-p"
 | ||
|  | #        endif
 | ||
|  | 
 | ||
|  | #     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
 | ||
|  | 
 | ||
|  | #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #            define BOOST_LIB_RT_OPT "-gydpn"
 | ||
|  | #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
 | ||
|  | #            define BOOST_LIB_RT_OPT "-gdpn"
 | ||
|  | #        elif defined(_DEBUG)\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #            define BOOST_LIB_RT_OPT "-gydpn"
 | ||
|  | #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 | ||
|  | #            error "Build options aren't compatible with pre-built libraries"
 | ||
|  | #        elif defined(_DEBUG)
 | ||
|  | #            define BOOST_LIB_RT_OPT "-gdpn"
 | ||
|  | #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 | ||
|  | #            error "Build options aren't compatible with pre-built libraries"
 | ||
|  | #        else
 | ||
|  | #            define BOOST_LIB_RT_OPT "-pn"
 | ||
|  | #        endif
 | ||
|  | 
 | ||
|  | #     else
 | ||
|  | 
 | ||
|  | #        if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
 | ||
|  | #            define BOOST_LIB_RT_OPT "-gyd"
 | ||
|  | #        elif defined(_DEBUG)
 | ||
|  | #            define BOOST_LIB_RT_OPT "-gd"
 | ||
|  | #        else
 | ||
|  | #            define BOOST_LIB_RT_OPT
 | ||
|  | #        endif
 | ||
|  | 
 | ||
|  | #     endif
 | ||
|  | 
 | ||
|  | #  else
 | ||
|  | 
 | ||
|  | #     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
 | ||
|  | 
 | ||
|  | #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #            define BOOST_LIB_RT_OPT "-sgydp"
 | ||
|  | #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
 | ||
|  | #            define BOOST_LIB_RT_OPT "-sgdp"
 | ||
|  | #        elif defined(_DEBUG)\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #             define BOOST_LIB_RT_OPT "-sgydp"
 | ||
|  | #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 | ||
|  | #            error "Build options aren't compatible with pre-built libraries"
 | ||
|  | #        elif defined(_DEBUG)
 | ||
|  | #             define BOOST_LIB_RT_OPT "-sgdp"
 | ||
|  | #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 | ||
|  | #            error "Build options aren't compatible with pre-built libraries"
 | ||
|  | #        else
 | ||
|  | #            define BOOST_LIB_RT_OPT "-sp"
 | ||
|  | #        endif
 | ||
|  | 
 | ||
|  | #     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
 | ||
|  | 
 | ||
|  | #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #            define BOOST_LIB_RT_OPT "-sgydpn"
 | ||
|  | #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
 | ||
|  | #            define BOOST_LIB_RT_OPT "-sgdpn"
 | ||
|  | #        elif defined(_DEBUG)\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #             define BOOST_LIB_RT_OPT "-sgydpn"
 | ||
|  | #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 | ||
|  | #            error "Build options aren't compatible with pre-built libraries"
 | ||
|  | #        elif defined(_DEBUG)
 | ||
|  | #             define BOOST_LIB_RT_OPT "-sgdpn"
 | ||
|  | #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
 | ||
|  | #            error "Build options aren't compatible with pre-built libraries"
 | ||
|  | #        else
 | ||
|  | #            define BOOST_LIB_RT_OPT "-spn"
 | ||
|  | #        endif
 | ||
|  | 
 | ||
|  | #     else
 | ||
|  | 
 | ||
|  | #        if defined(_DEBUG)\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #             define BOOST_LIB_RT_OPT "-sgyd"
 | ||
|  | #        elif defined(_DEBUG)
 | ||
|  | #             define BOOST_LIB_RT_OPT "-sgd"
 | ||
|  | #        else
 | ||
|  | #            define BOOST_LIB_RT_OPT "-s"
 | ||
|  | #        endif
 | ||
|  | 
 | ||
|  | #     endif
 | ||
|  | 
 | ||
|  | #  endif
 | ||
|  | 
 | ||
|  | #elif defined(__BORLANDC__)
 | ||
|  | 
 | ||
|  | //
 | ||
|  | // figure out whether we want the debug builds or not:
 | ||
|  | //
 | ||
|  | #if __BORLANDC__ > 0x561
 | ||
|  | #pragma defineonoption BOOST_BORLAND_DEBUG -v
 | ||
|  | #endif
 | ||
|  | //
 | ||
|  | // sanity check:
 | ||
|  | //
 | ||
|  | #if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
 | ||
|  | #error "Pre-built versions of the Boost libraries are not provided in STLport-debug form"
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #  ifdef _RTLDLL
 | ||
|  | 
 | ||
|  | #     if defined(BOOST_BORLAND_DEBUG)\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #         define BOOST_LIB_RT_OPT "-yd"
 | ||
|  | #     elif defined(BOOST_BORLAND_DEBUG)
 | ||
|  | #         define BOOST_LIB_RT_OPT "-d"
 | ||
|  | #     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
 | ||
|  | #         define BOOST_LIB_RT_OPT -y
 | ||
|  | #     else
 | ||
|  | #         define BOOST_LIB_RT_OPT
 | ||
|  | #     endif
 | ||
|  | 
 | ||
|  | #  else
 | ||
|  | 
 | ||
|  | #     if defined(BOOST_BORLAND_DEBUG)\
 | ||
|  |                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON) | ||
|  | #         define BOOST_LIB_RT_OPT "-syd"
 | ||
|  | #     elif defined(BOOST_BORLAND_DEBUG)
 | ||
|  | #         define BOOST_LIB_RT_OPT "-sd"
 | ||
|  | #     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
 | ||
|  | #         define BOOST_LIB_RT_OPT "-sy"
 | ||
|  | #     else
 | ||
|  | #         define BOOST_LIB_RT_OPT "-s"
 | ||
|  | #     endif
 | ||
|  | 
 | ||
|  | #  endif
 | ||
|  | 
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | //
 | ||
|  | // select linkage opt:
 | ||
|  | //
 | ||
|  | #if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
 | ||
|  | #  define BOOST_LIB_PREFIX
 | ||
|  | #elif defined(BOOST_DYN_LINK)
 | ||
|  | #  error "Mixing a dll boost library with a static runtime is a really bad idea..."
 | ||
|  | #else
 | ||
|  | #  define BOOST_LIB_PREFIX "lib"
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | //
 | ||
|  | // now include the lib:
 | ||
|  | //
 | ||
|  | #if defined(BOOST_LIB_NAME) \
 | ||
|  |       && defined(BOOST_LIB_PREFIX) \ | ||
|  |       && defined(BOOST_LIB_TOOLSET) \ | ||
|  |       && defined(BOOST_LIB_THREAD_OPT) \ | ||
|  |       && defined(BOOST_LIB_RT_OPT) \ | ||
|  |       && defined(BOOST_LIB_VERSION) | ||
|  | 
 | ||
|  | #ifdef BOOST_AUTO_LINK_TAGGED
 | ||
|  | #  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
 | ||
|  | #  ifdef BOOST_LIB_DIAGNOSTIC
 | ||
|  | #     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
 | ||
|  | #  endif
 | ||
|  | #elif defined(BOOST_AUTO_LINK_NOMANGLE)
 | ||
|  | #  pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
 | ||
|  | #  ifdef BOOST_LIB_DIAGNOSTIC
 | ||
|  | #     pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
 | ||
|  | #  endif
 | ||
|  | #elif defined(BOOST_LIB_BUILDID)
 | ||
|  | #  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
 | ||
|  | #  ifdef BOOST_LIB_DIAGNOSTIC
 | ||
|  | #     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib")
 | ||
|  | #  endif
 | ||
|  | #else
 | ||
|  | #  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
 | ||
|  | #  ifdef BOOST_LIB_DIAGNOSTIC
 | ||
|  | #     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib")
 | ||
|  | #  endif
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #else
 | ||
|  | #  error "some required macros where not defined (internal logic error)."
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | 
 | ||
|  | #endif // _MSC_VER || __BORLANDC__
 | ||
|  | 
 | ||
|  | //
 | ||
|  | // finally undef any macros we may have set:
 | ||
|  | //
 | ||
|  | #ifdef BOOST_LIB_PREFIX
 | ||
|  | #  undef BOOST_LIB_PREFIX
 | ||
|  | #endif
 | ||
|  | #if defined(BOOST_LIB_NAME)
 | ||
|  | #  undef BOOST_LIB_NAME
 | ||
|  | #endif
 | ||
|  | // Don't undef this one: it can be set by the user and should be the 
 | ||
|  | // same for all libraries:
 | ||
|  | //#if defined(BOOST_LIB_TOOLSET)
 | ||
|  | //#  undef BOOST_LIB_TOOLSET
 | ||
|  | //#endif
 | ||
|  | #if defined(BOOST_LIB_THREAD_OPT)
 | ||
|  | #  undef BOOST_LIB_THREAD_OPT
 | ||
|  | #endif
 | ||
|  | #if defined(BOOST_LIB_RT_OPT)
 | ||
|  | #  undef BOOST_LIB_RT_OPT
 | ||
|  | #endif
 | ||
|  | #if defined(BOOST_LIB_LINK_OPT)
 | ||
|  | #  undef BOOST_LIB_LINK_OPT
 | ||
|  | #endif
 | ||
|  | #if defined(BOOST_LIB_DEBUG_OPT)
 | ||
|  | #  undef BOOST_LIB_DEBUG_OPT
 | ||
|  | #endif
 | ||
|  | #if defined(BOOST_DYN_LINK)
 | ||
|  | #  undef BOOST_DYN_LINK
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | 
 |