Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 09:44:43

0001 //  (C) Copyright John Maddock 2003.
0002 //  Use, modification and distribution are subject to the
0003 //  Boost Software License, Version 1.0. (See accompanying file
0004 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0005 
0006  /*
0007   *   LOCATION:    see http://www.boost.org for most recent version.
0008   *   FILE         auto_link.hpp
0009   *   VERSION      see <boost/version.hpp>
0010   *   DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
0011   */
0012 
0013 /*************************************************************************
0014 
0015 USAGE:
0016 ~~~~~~
0017 
0018 Before including this header you must define one or more of define the following macros:
0019 
0020 BOOST_LIB_NAME:           Required: A string containing the basename of the library,
0021                           for example boost_regex.
0022 BOOST_LIB_TOOLSET:        Optional: the base name of the toolset.
0023 BOOST_DYN_LINK:           Optional: when set link to dll rather than static library.
0024 BOOST_LIB_DIAGNOSTIC:     Optional: when set the header will print out the name
0025                           of the library selected (useful for debugging).
0026 BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
0027                           rather than a mangled-name version.
0028 BOOST_AUTO_LINK_TAGGED:   Specifies that we link to libraries built with the --layout=tagged option.
0029                           This is essentially the same as the default name-mangled version, but without
0030                           the compiler name and version, or the Boost version.  Just the build options.
0031 BOOST_AUTO_LINK_SYSTEM:   Specifies that we link to libraries built with the --layout=system option.
0032                           This is essentially the same as the non-name-mangled version, but with
0033                           the prefix to differentiate static and dll builds
0034 
0035 These macros will be undef'ed at the end of the header, further this header
0036 has no include guards - so be sure to include it only once from your library!
0037 
0038 Algorithm:
0039 ~~~~~~~~~~
0040 
0041 Libraries for Borland and Microsoft compilers are automatically
0042 selected here, the name of the lib is selected according to the following
0043 formula:
0044 
0045 BOOST_LIB_PREFIX
0046    + BOOST_LIB_NAME
0047    + "_"
0048    + BOOST_LIB_TOOLSET
0049    + BOOST_LIB_THREAD_OPT
0050    + BOOST_LIB_RT_OPT
0051    + BOOST_LIB_ARCH_AND_MODEL_OPT
0052    "-"
0053    + BOOST_LIB_VERSION
0054    + BOOST_LIB_SUFFIX
0055 
0056 These are defined as:
0057 
0058 BOOST_LIB_PREFIX:     "lib" for static libraries otherwise "".
0059 
0060 BOOST_LIB_NAME:       The base name of the lib ( for example boost_regex).
0061 
0062 BOOST_LIB_TOOLSET:    The compiler toolset name (vc6, vc7, bcb5 etc).
0063 
0064 BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
0065 
0066 BOOST_LIB_RT_OPT:     A suffix that indicates the runtime library used,
0067                       contains one or more of the following letters after
0068                       a hyphen:
0069 
0070                       s      static runtime (dynamic if not present).
0071                       g      debug/diagnostic runtime (release if not present).
0072                       y      Python debug/diagnostic runtime (release if not present).
0073                       d      debug build (release if not present).
0074                       p      STLport build.
0075                       n      STLport build without its IOStreams.
0076 
0077 BOOST_LIB_ARCH_AND_MODEL_OPT: The architecture and address model
0078                               (-x32 or -x64 for x86/32 and x86/64 respectively)
0079 
0080 BOOST_LIB_VERSION:    The Boost version, in the form x_y, for Boost version x.y.
0081 
0082 BOOST_LIB_SUFFIX:     Static/import libraries extension (".lib", ".a") for the compiler.
0083 
0084 ***************************************************************************/
0085 
0086 #ifdef __cplusplus
0087 #  ifndef BOOST_CONFIG_HPP
0088 #     include <boost/config.hpp>
0089 #  endif
0090 #elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
0091 //
0092 // C language compatability (no, honestly)
0093 //
0094 #  define BOOST_MSVC _MSC_VER
0095 #  define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
0096 #  define BOOST_DO_STRINGIZE(X) #X
0097 #endif
0098 //
0099 // Only include what follows for known and supported compilers:
0100 //
0101 #if defined(BOOST_MSVC) \
0102     || defined(BOOST_EMBTC_WINDOWS) \
0103     || defined(BOOST_BORLANDC) \
0104     || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
0105     || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \
0106     || (defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4))
0107 
0108 #ifndef BOOST_VERSION_HPP
0109 #  include <boost/version.hpp>
0110 #endif
0111 
0112 #ifndef BOOST_LIB_NAME
0113 #  error "Macro BOOST_LIB_NAME not set (internal error)"
0114 #endif
0115 
0116 //
0117 // error check:
0118 //
0119 #if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
0120 #  pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
0121 #  pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
0122 #  error "Incompatible build options"
0123 #endif
0124 //
0125 // select toolset if not defined already:
0126 //
0127 #ifndef BOOST_LIB_TOOLSET
0128 #  if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)
0129     // Note: no compilers before 1200 are supported
0130 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
0131 
0132 #    ifdef UNDER_CE
0133        // eVC4:
0134 #      define BOOST_LIB_TOOLSET "evc4"
0135 #    else
0136        // vc6:
0137 #      define BOOST_LIB_TOOLSET "vc6"
0138 #    endif
0139 
0140 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)
0141 
0142      // vc7:
0143 #    define BOOST_LIB_TOOLSET "vc7"
0144 
0145 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)
0146 
0147      // vc71:
0148 #    define BOOST_LIB_TOOLSET "vc71"
0149 
0150 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)
0151 
0152      // vc80:
0153 #    define BOOST_LIB_TOOLSET "vc80"
0154 
0155 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
0156 
0157      // vc90:
0158 #    define BOOST_LIB_TOOLSET "vc90"
0159 
0160 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)
0161 
0162      // vc10:
0163 #    define BOOST_LIB_TOOLSET "vc100"
0164 
0165 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
0166 
0167      // vc11:
0168 #    define BOOST_LIB_TOOLSET "vc110"
0169 
0170 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900)
0171 
0172      // vc12:
0173 #    define BOOST_LIB_TOOLSET "vc120"
0174 
0175 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910)
0176 
0177      // vc14:
0178 #    define BOOST_LIB_TOOLSET "vc140"
0179 
0180 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1920)
0181 
0182      // vc14.1:
0183 #    define BOOST_LIB_TOOLSET "vc141"
0184 
0185 #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1930)
0186 
0187      // vc14.2:
0188 #    define BOOST_LIB_TOOLSET "vc142"
0189 
0190 #  elif defined(BOOST_MSVC)
0191 
0192      // vc14.3:
0193 #    define BOOST_LIB_TOOLSET "vc143"
0194 
0195 #  elif defined(BOOST_EMBTC_WINDOWS)
0196 
0197      // Embarcadero Clang based compilers:
0198 #    define BOOST_LIB_TOOLSET "embtc"
0199 
0200 #  elif defined(BOOST_BORLANDC)
0201 
0202      // CBuilder 6:
0203 #    define BOOST_LIB_TOOLSET "bcb"
0204 
0205 #  elif defined(__ICL)
0206 
0207      // Intel C++, no version number:
0208 #    define BOOST_LIB_TOOLSET "iw"
0209 
0210 #  elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
0211 
0212      // Metrowerks CodeWarrior 8.x
0213 #    define BOOST_LIB_TOOLSET "cw8"
0214 
0215 #  elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
0216 
0217      // Metrowerks CodeWarrior 9.x
0218 #    define BOOST_LIB_TOOLSET "cw9"
0219 
0220 #  elif defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4)
0221 
0222      // Clang on Windows
0223 #    define BOOST_LIB_TOOLSET "clangw" BOOST_STRINGIZE(__clang_major__)
0224 
0225 #  endif
0226 #endif // BOOST_LIB_TOOLSET
0227 
0228 //
0229 // select thread opt:
0230 //
0231 #if defined(_MT) || defined(__MT__)
0232 #  define BOOST_LIB_THREAD_OPT "-mt"
0233 #else
0234 #  define BOOST_LIB_THREAD_OPT
0235 #endif
0236 
0237 #if defined(_MSC_VER) || defined(__MWERKS__)
0238 
0239 #  ifdef _DLL
0240 
0241 #     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
0242 
0243 #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
0244                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0245 #            define BOOST_LIB_RT_OPT "-gydp"
0246 #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
0247 #            define BOOST_LIB_RT_OPT "-gdp"
0248 #        elif defined(_DEBUG)\
0249                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0250 #            define BOOST_LIB_RT_OPT "-gydp"
0251 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
0252 #            error "Build options aren't compatible with pre-built libraries"
0253 #        elif defined(_DEBUG)
0254 #            define BOOST_LIB_RT_OPT "-gdp"
0255 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
0256 #            error "Build options aren't compatible with pre-built libraries"
0257 #        else
0258 #            define BOOST_LIB_RT_OPT "-p"
0259 #        endif
0260 
0261 #     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
0262 
0263 #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
0264                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0265 #            define BOOST_LIB_RT_OPT "-gydpn"
0266 #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
0267 #            define BOOST_LIB_RT_OPT "-gdpn"
0268 #        elif defined(_DEBUG)\
0269                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0270 #            define BOOST_LIB_RT_OPT "-gydpn"
0271 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
0272 #            error "Build options aren't compatible with pre-built libraries"
0273 #        elif defined(_DEBUG)
0274 #            define BOOST_LIB_RT_OPT "-gdpn"
0275 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
0276 #            error "Build options aren't compatible with pre-built libraries"
0277 #        else
0278 #            define BOOST_LIB_RT_OPT "-pn"
0279 #        endif
0280 
0281 #     else
0282 
0283 #        if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0284 #            define BOOST_LIB_RT_OPT "-gyd"
0285 #        elif defined(_DEBUG)
0286 #            define BOOST_LIB_RT_OPT "-gd"
0287 #        else
0288 #            define BOOST_LIB_RT_OPT
0289 #        endif
0290 
0291 #     endif
0292 
0293 #  else
0294 
0295 #     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
0296 
0297 #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
0298                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0299 #            define BOOST_LIB_RT_OPT "-sgydp"
0300 #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
0301 #            define BOOST_LIB_RT_OPT "-sgdp"
0302 #        elif defined(_DEBUG)\
0303                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0304 #             define BOOST_LIB_RT_OPT "-sgydp"
0305 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
0306 #            error "Build options aren't compatible with pre-built libraries"
0307 #        elif defined(_DEBUG)
0308 #             define BOOST_LIB_RT_OPT "-sgdp"
0309 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
0310 #            error "Build options aren't compatible with pre-built libraries"
0311 #        else
0312 #            define BOOST_LIB_RT_OPT "-sp"
0313 #        endif
0314 
0315 #     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
0316 
0317 #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
0318                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0319 #            define BOOST_LIB_RT_OPT "-sgydpn"
0320 #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
0321 #            define BOOST_LIB_RT_OPT "-sgdpn"
0322 #        elif defined(_DEBUG)\
0323                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0324 #             define BOOST_LIB_RT_OPT "-sgydpn"
0325 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
0326 #            error "Build options aren't compatible with pre-built libraries"
0327 #        elif defined(_DEBUG)
0328 #             define BOOST_LIB_RT_OPT "-sgdpn"
0329 #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
0330 #            error "Build options aren't compatible with pre-built libraries"
0331 #        else
0332 #            define BOOST_LIB_RT_OPT "-spn"
0333 #        endif
0334 
0335 #     else
0336 
0337 #        if defined(_DEBUG)\
0338                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0339 #             define BOOST_LIB_RT_OPT "-sgyd"
0340 #        elif defined(_DEBUG)
0341 #             define BOOST_LIB_RT_OPT "-sgd"
0342 #        else
0343 #            define BOOST_LIB_RT_OPT "-s"
0344 #        endif
0345 
0346 #     endif
0347 
0348 #  endif
0349 
0350 #elif defined(BOOST_EMBTC_WINDOWS)
0351 
0352 #  ifdef _RTLDLL
0353 
0354 #     if defined(_DEBUG)
0355 #         define BOOST_LIB_RT_OPT "-d"
0356 #     else
0357 #         define BOOST_LIB_RT_OPT
0358 #     endif
0359 
0360 #  else
0361 
0362 #     if defined(_DEBUG)
0363 #         define BOOST_LIB_RT_OPT "-sd"
0364 #     else
0365 #         define BOOST_LIB_RT_OPT "-s"
0366 #     endif
0367 
0368 #  endif
0369 
0370 #elif defined(BOOST_BORLANDC)
0371 
0372 //
0373 // figure out whether we want the debug builds or not:
0374 //
0375 #if BOOST_BORLANDC > 0x561
0376 #pragma defineonoption BOOST_BORLAND_DEBUG -v
0377 #endif
0378 //
0379 // sanity check:
0380 //
0381 #if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
0382 #error "Pre-built versions of the Boost libraries are not provided in STLport-debug form"
0383 #endif
0384 
0385 #  ifdef _RTLDLL
0386 
0387 #     if defined(BOOST_BORLAND_DEBUG)\
0388                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0389 #         define BOOST_LIB_RT_OPT "-yd"
0390 #     elif defined(BOOST_BORLAND_DEBUG)
0391 #         define BOOST_LIB_RT_OPT "-d"
0392 #     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0393 #         define BOOST_LIB_RT_OPT "-y"
0394 #     else
0395 #         define BOOST_LIB_RT_OPT
0396 #     endif
0397 
0398 #  else
0399 
0400 #     if defined(BOOST_BORLAND_DEBUG)\
0401                && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0402 #         define BOOST_LIB_RT_OPT "-syd"
0403 #     elif defined(BOOST_BORLAND_DEBUG)
0404 #         define BOOST_LIB_RT_OPT "-sd"
0405 #     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
0406 #         define BOOST_LIB_RT_OPT "-sy"
0407 #     else
0408 #         define BOOST_LIB_RT_OPT "-s"
0409 #     endif
0410 
0411 #  endif
0412 
0413 #endif
0414 
0415 //
0416 // BOOST_LIB_ARCH_AND_MODEL_OPT
0417 //
0418 
0419 #if defined( _M_IX86 )
0420 #  define BOOST_LIB_ARCH_AND_MODEL_OPT "-x32"
0421 #elif defined( _M_X64 )
0422 #  define BOOST_LIB_ARCH_AND_MODEL_OPT "-x64"
0423 #elif defined( _M_ARM )
0424 #  define BOOST_LIB_ARCH_AND_MODEL_OPT "-a32"
0425 #elif defined( _M_ARM64 )
0426 #  define BOOST_LIB_ARCH_AND_MODEL_OPT "-a64"
0427 #endif
0428 
0429 //
0430 // select linkage opt:
0431 //
0432 #if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
0433 #  define BOOST_LIB_PREFIX
0434 #elif defined(BOOST_DYN_LINK)
0435 #  error "Mixing a dll boost library with a static runtime is a really bad idea..."
0436 #else
0437 #  define BOOST_LIB_PREFIX "lib"
0438 #endif
0439 
0440 //
0441 // now include the lib:
0442 //
0443 #if defined(BOOST_LIB_NAME) \
0444       && defined(BOOST_LIB_PREFIX) \
0445       && defined(BOOST_LIB_TOOLSET) \
0446       && defined(BOOST_LIB_THREAD_OPT) \
0447       && defined(BOOST_LIB_RT_OPT) \
0448       && defined(BOOST_LIB_ARCH_AND_MODEL_OPT) \
0449       && defined(BOOST_LIB_VERSION)
0450 
0451 #if defined(BOOST_EMBTC_WIN64)
0452 #  define BOOST_LIB_SUFFIX ".a"
0453 #else
0454 #  define BOOST_LIB_SUFFIX ".lib"
0455 #endif
0456 
0457 #ifdef BOOST_AUTO_LINK_NOMANGLE
0458 #  pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
0459 #  ifdef BOOST_LIB_DIAGNOSTIC
0460 #     pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
0461 #  endif
0462 #elif defined(BOOST_AUTO_LINK_TAGGED)
0463 #  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX)
0464 #  ifdef BOOST_LIB_DIAGNOSTIC
0465 #     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX)
0466 #  endif
0467 #elif defined(BOOST_AUTO_LINK_SYSTEM)
0468 #  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
0469 #  ifdef BOOST_LIB_DIAGNOSTIC
0470 #     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
0471 #  endif
0472 #elif defined(BOOST_LIB_BUILDID)
0473 #  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX)
0474 #  ifdef BOOST_LIB_DIAGNOSTIC
0475 #     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_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX)
0476 #  endif
0477 #else
0478 #  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX)
0479 #  ifdef BOOST_LIB_DIAGNOSTIC
0480 #     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_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX)
0481 #  endif
0482 #endif
0483 
0484 #else
0485 #  error "some required macros where not defined (internal logic error)."
0486 #endif
0487 
0488 
0489 #endif // _MSC_VER || __BORLANDC__
0490 
0491 //
0492 // finally undef any macros we may have set:
0493 //
0494 #ifdef BOOST_LIB_PREFIX
0495 #  undef BOOST_LIB_PREFIX
0496 #endif
0497 #if defined(BOOST_LIB_NAME)
0498 #  undef BOOST_LIB_NAME
0499 #endif
0500 // Don't undef this one: it can be set by the user and should be the 
0501 // same for all libraries:
0502 //#if defined(BOOST_LIB_TOOLSET)
0503 //#  undef BOOST_LIB_TOOLSET
0504 //#endif
0505 #if defined(BOOST_LIB_THREAD_OPT)
0506 #  undef BOOST_LIB_THREAD_OPT
0507 #endif
0508 #if defined(BOOST_LIB_RT_OPT)
0509 #  undef BOOST_LIB_RT_OPT
0510 #endif
0511 #if defined(BOOST_LIB_ARCH_AND_MODEL_OPT)
0512 #  undef BOOST_LIB_ARCH_AND_MODEL_OPT
0513 #endif
0514 #if defined(BOOST_LIB_LINK_OPT)
0515 #  undef BOOST_LIB_LINK_OPT
0516 #endif
0517 #if defined(BOOST_LIB_DEBUG_OPT)
0518 #  undef BOOST_LIB_DEBUG_OPT
0519 #endif
0520 #if defined(BOOST_DYN_LINK)
0521 #  undef BOOST_DYN_LINK
0522 #endif
0523 #if defined(BOOST_LIB_SUFFIX)
0524 #  undef BOOST_LIB_SUFFIX
0525 #endif