github.com/searKing/golang/go@v1.2.74/runtime/cgosymbolizer/include/boost/config/auto_link.hpp (about)

     1  //  (C) Copyright John Maddock 2003.
     2  //  Use, modification and distribution are subject to the
     3  //  Boost Software License, Version 1.0. (See accompanying file
     4  //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
     5  
     6   /*
     7    *   LOCATION:    see http://www.boost.org for most recent version.
     8    *   FILE         auto_link.hpp
     9    *   VERSION      see <boost/version.hpp>
    10    *   DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
    11    */
    12  
    13  /*************************************************************************
    14  
    15  USAGE:
    16  ~~~~~~
    17  
    18  Before including this header you must define one or more of define the following macros:
    19  
    20  BOOST_LIB_NAME:           Required: A string containing the basename of the library,
    21                            for example boost_regex.
    22  BOOST_LIB_TOOLSET:        Optional: the base name of the toolset.
    23  BOOST_DYN_LINK:           Optional: when set link to dll rather than static library.
    24  BOOST_LIB_DIAGNOSTIC:     Optional: when set the header will print out the name
    25                            of the library selected (useful for debugging).
    26  BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
    27                            rather than a mangled-name version.
    28  BOOST_AUTO_LINK_TAGGED:   Specifies that we link to libraries built with the --layout=tagged option.
    29                            This is essentially the same as the default name-mangled version, but without
    30                            the compiler name and version, or the Boost version.  Just the build options.
    31  BOOST_AUTO_LINK_SYSTEM:   Specifies that we link to libraries built with the --layout=system option.
    32                            This is essentially the same as the non-name-mangled version, but with
    33                            the prefix to differentiate static and dll builds
    34  
    35  These macros will be undef'ed at the end of the header, further this header
    36  has no include guards - so be sure to include it only once from your library!
    37  
    38  Algorithm:
    39  ~~~~~~~~~~
    40  
    41  Libraries for Borland and Microsoft compilers are automatically
    42  selected here, the name of the lib is selected according to the following
    43  formula:
    44  
    45  BOOST_LIB_PREFIX
    46     + BOOST_LIB_NAME
    47     + "_"
    48     + BOOST_LIB_TOOLSET
    49     + BOOST_LIB_THREAD_OPT
    50     + BOOST_LIB_RT_OPT
    51     + BOOST_LIB_ARCH_AND_MODEL_OPT
    52     "-"
    53     + BOOST_LIB_VERSION
    54     + BOOST_LIB_SUFFIX
    55  
    56  These are defined as:
    57  
    58  BOOST_LIB_PREFIX:     "lib" for static libraries otherwise "".
    59  
    60  BOOST_LIB_NAME:       The base name of the lib ( for example boost_regex).
    61  
    62  BOOST_LIB_TOOLSET:    The compiler toolset name (vc6, vc7, bcb5 etc).
    63  
    64  BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
    65  
    66  BOOST_LIB_RT_OPT:     A suffix that indicates the runtime library used,
    67                        contains one or more of the following letters after
    68                        a hyphen:
    69  
    70                        s      static runtime (dynamic if not present).
    71                        g      debug/diagnostic runtime (release if not present).
    72                        y      Python debug/diagnostic runtime (release if not present).
    73                        d      debug build (release if not present).
    74                        p      STLport build.
    75                        n      STLport build without its IOStreams.
    76  
    77  BOOST_LIB_ARCH_AND_MODEL_OPT: The architecture and address model
    78                                (-x32 or -x64 for x86/32 and x86/64 respectively)
    79  
    80  BOOST_LIB_VERSION:    The Boost version, in the form x_y, for Boost version x.y.
    81  
    82  BOOST_LIB_SUFFIX:     Static/import libraries extension (".lib", ".a") for the compiler.
    83  
    84  ***************************************************************************/
    85  
    86  #ifdef __cplusplus
    87  #  ifndef BOOST_CONFIG_HPP
    88  #     include <boost/config.hpp>
    89  #  endif
    90  #elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
    91  //
    92  // C language compatability (no, honestly)
    93  //
    94  #  define BOOST_MSVC _MSC_VER
    95  #  define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
    96  #  define BOOST_DO_STRINGIZE(X) #X
    97  #endif
    98  //
    99  // Only include what follows for known and supported compilers:
   100  //
   101  #if defined(BOOST_MSVC) \
   102      || defined(BOOST_EMBTC_WINDOWS) \
   103      || defined(BOOST_BORLANDC) \
   104      || (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
   105      || (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \
   106      || (defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4))
   107  
   108  #ifndef BOOST_VERSION_HPP
   109  #  include <boost/version.hpp>
   110  #endif
   111  
   112  #ifndef BOOST_LIB_NAME
   113  #  error "Macro BOOST_LIB_NAME not set (internal error)"
   114  #endif
   115  
   116  //
   117  // error check:
   118  //
   119  #if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
   120  #  pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
   121  #  pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
   122  #  error "Incompatible build options"
   123  #endif
   124  //
   125  // select toolset if not defined already:
   126  //
   127  #ifndef BOOST_LIB_TOOLSET
   128  #  if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)
   129      // Note: no compilers before 1200 are supported
   130  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
   131  
   132  #    ifdef UNDER_CE
   133         // eVC4:
   134  #      define BOOST_LIB_TOOLSET "evc4"
   135  #    else
   136         // vc6:
   137  #      define BOOST_LIB_TOOLSET "vc6"
   138  #    endif
   139  
   140  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)
   141  
   142       // vc7:
   143  #    define BOOST_LIB_TOOLSET "vc7"
   144  
   145  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)
   146  
   147       // vc71:
   148  #    define BOOST_LIB_TOOLSET "vc71"
   149  
   150  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)
   151  
   152       // vc80:
   153  #    define BOOST_LIB_TOOLSET "vc80"
   154  
   155  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
   156  
   157       // vc90:
   158  #    define BOOST_LIB_TOOLSET "vc90"
   159  
   160  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)
   161  
   162       // vc10:
   163  #    define BOOST_LIB_TOOLSET "vc100"
   164  
   165  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
   166  
   167       // vc11:
   168  #    define BOOST_LIB_TOOLSET "vc110"
   169  
   170  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900)
   171  
   172       // vc12:
   173  #    define BOOST_LIB_TOOLSET "vc120"
   174  
   175  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910)
   176  
   177       // vc14:
   178  #    define BOOST_LIB_TOOLSET "vc140"
   179  
   180  #  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1920)
   181  
   182       // vc14.1:
   183  #    define BOOST_LIB_TOOLSET "vc141"
   184  
   185  #  elif defined(BOOST_MSVC)
   186  
   187       // vc14.2:
   188  #    define BOOST_LIB_TOOLSET "vc142"
   189  
   190  #  elif defined(BOOST_EMBTC_WINDOWS)
   191  
   192       // Embarcadero Clang based compilers:
   193  #    if defined(BOOST_EMBTC_WIN32C)
   194  #      define BOOST_LIB_TOOLSET "bcb32"
   195  #    elif defined(BOOST_EMBTC_WIN64)
   196  #      define BOOST_LIB_TOOLSET "bcb64"
   197  #    endif
   198  
   199  #  elif defined(BOOST_BORLANDC)
   200  
   201       // CBuilder 6:
   202  #    define BOOST_LIB_TOOLSET "bcb"
   203  
   204  #  elif defined(__ICL)
   205  
   206       // Intel C++, no version number:
   207  #    define BOOST_LIB_TOOLSET "iw"
   208  
   209  #  elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
   210  
   211       // Metrowerks CodeWarrior 8.x
   212  #    define BOOST_LIB_TOOLSET "cw8"
   213  
   214  #  elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
   215  
   216       // Metrowerks CodeWarrior 9.x
   217  #    define BOOST_LIB_TOOLSET "cw9"
   218  
   219  #  elif defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4)
   220  
   221       // Clang on Windows
   222  #    define BOOST_LIB_TOOLSET "clangw" BOOST_STRINGIZE(__clang_major__)
   223  
   224  #  endif
   225  #endif // BOOST_LIB_TOOLSET
   226  
   227  //
   228  // select thread opt:
   229  //
   230  #if defined(_MT) || defined(__MT__)
   231  #  define BOOST_LIB_THREAD_OPT "-mt"
   232  #else
   233  #  define BOOST_LIB_THREAD_OPT
   234  #endif
   235  
   236  #if defined(_MSC_VER) || defined(__MWERKS__)
   237  
   238  #  ifdef _DLL
   239  
   240  #     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
   241  
   242  #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
   243                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   244  #            define BOOST_LIB_RT_OPT "-gydp"
   245  #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
   246  #            define BOOST_LIB_RT_OPT "-gdp"
   247  #        elif defined(_DEBUG)\
   248                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   249  #            define BOOST_LIB_RT_OPT "-gydp"
   250  #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
   251  #            error "Build options aren't compatible with pre-built libraries"
   252  #        elif defined(_DEBUG)
   253  #            define BOOST_LIB_RT_OPT "-gdp"
   254  #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
   255  #            error "Build options aren't compatible with pre-built libraries"
   256  #        else
   257  #            define BOOST_LIB_RT_OPT "-p"
   258  #        endif
   259  
   260  #     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
   261  
   262  #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
   263                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   264  #            define BOOST_LIB_RT_OPT "-gydpn"
   265  #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
   266  #            define BOOST_LIB_RT_OPT "-gdpn"
   267  #        elif defined(_DEBUG)\
   268                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   269  #            define BOOST_LIB_RT_OPT "-gydpn"
   270  #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
   271  #            error "Build options aren't compatible with pre-built libraries"
   272  #        elif defined(_DEBUG)
   273  #            define BOOST_LIB_RT_OPT "-gdpn"
   274  #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
   275  #            error "Build options aren't compatible with pre-built libraries"
   276  #        else
   277  #            define BOOST_LIB_RT_OPT "-pn"
   278  #        endif
   279  
   280  #     else
   281  
   282  #        if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   283  #            define BOOST_LIB_RT_OPT "-gyd"
   284  #        elif defined(_DEBUG)
   285  #            define BOOST_LIB_RT_OPT "-gd"
   286  #        else
   287  #            define BOOST_LIB_RT_OPT
   288  #        endif
   289  
   290  #     endif
   291  
   292  #  else
   293  
   294  #     if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
   295  
   296  #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
   297                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   298  #            define BOOST_LIB_RT_OPT "-sgydp"
   299  #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
   300  #            define BOOST_LIB_RT_OPT "-sgdp"
   301  #        elif defined(_DEBUG)\
   302                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   303  #             define BOOST_LIB_RT_OPT "-sgydp"
   304  #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
   305  #            error "Build options aren't compatible with pre-built libraries"
   306  #        elif defined(_DEBUG)
   307  #             define BOOST_LIB_RT_OPT "-sgdp"
   308  #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
   309  #            error "Build options aren't compatible with pre-built libraries"
   310  #        else
   311  #            define BOOST_LIB_RT_OPT "-sp"
   312  #        endif
   313  
   314  #     elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
   315  
   316  #        if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
   317                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   318  #            define BOOST_LIB_RT_OPT "-sgydpn"
   319  #        elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
   320  #            define BOOST_LIB_RT_OPT "-sgdpn"
   321  #        elif defined(_DEBUG)\
   322                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   323  #             define BOOST_LIB_RT_OPT "-sgydpn"
   324  #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
   325  #            error "Build options aren't compatible with pre-built libraries"
   326  #        elif defined(_DEBUG)
   327  #             define BOOST_LIB_RT_OPT "-sgdpn"
   328  #            pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
   329  #            error "Build options aren't compatible with pre-built libraries"
   330  #        else
   331  #            define BOOST_LIB_RT_OPT "-spn"
   332  #        endif
   333  
   334  #     else
   335  
   336  #        if defined(_DEBUG)\
   337                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   338  #             define BOOST_LIB_RT_OPT "-sgyd"
   339  #        elif defined(_DEBUG)
   340  #             define BOOST_LIB_RT_OPT "-sgd"
   341  #        else
   342  #            define BOOST_LIB_RT_OPT "-s"
   343  #        endif
   344  
   345  #     endif
   346  
   347  #  endif
   348  
   349  #elif defined(BOOST_EMBTC_WINDOWS)
   350  
   351  #  ifdef _RTLDLL
   352  
   353  #     if defined(_DEBUG)
   354  #         define BOOST_LIB_RT_OPT "-d"
   355  #     else
   356  #         define BOOST_LIB_RT_OPT
   357  #     endif
   358  
   359  #  else
   360  
   361  #     if defined(_DEBUG)
   362  #         define BOOST_LIB_RT_OPT "-sd"
   363  #     else
   364  #         define BOOST_LIB_RT_OPT "-s"
   365  #     endif
   366  
   367  #  endif
   368  
   369  #elif defined(BOOST_BORLANDC)
   370  
   371  //
   372  // figure out whether we want the debug builds or not:
   373  //
   374  #if BOOST_BORLANDC > 0x561
   375  #pragma defineonoption BOOST_BORLAND_DEBUG -v
   376  #endif
   377  //
   378  // sanity check:
   379  //
   380  #if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
   381  #error "Pre-built versions of the Boost libraries are not provided in STLport-debug form"
   382  #endif
   383  
   384  #  ifdef _RTLDLL
   385  
   386  #     if defined(BOOST_BORLAND_DEBUG)\
   387                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   388  #         define BOOST_LIB_RT_OPT "-yd"
   389  #     elif defined(BOOST_BORLAND_DEBUG)
   390  #         define BOOST_LIB_RT_OPT "-d"
   391  #     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   392  #         define BOOST_LIB_RT_OPT "-y"
   393  #     else
   394  #         define BOOST_LIB_RT_OPT
   395  #     endif
   396  
   397  #  else
   398  
   399  #     if defined(BOOST_BORLAND_DEBUG)\
   400                 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   401  #         define BOOST_LIB_RT_OPT "-syd"
   402  #     elif defined(BOOST_BORLAND_DEBUG)
   403  #         define BOOST_LIB_RT_OPT "-sd"
   404  #     elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
   405  #         define BOOST_LIB_RT_OPT "-sy"
   406  #     else
   407  #         define BOOST_LIB_RT_OPT "-s"
   408  #     endif
   409  
   410  #  endif
   411  
   412  #endif
   413  
   414  //
   415  // BOOST_LIB_ARCH_AND_MODEL_OPT
   416  //
   417  
   418  #if defined( _M_IX86 )
   419  #  define BOOST_LIB_ARCH_AND_MODEL_OPT "-x32"
   420  #elif defined( _M_X64 )
   421  #  define BOOST_LIB_ARCH_AND_MODEL_OPT "-x64"
   422  #elif defined( _M_ARM )
   423  #  define BOOST_LIB_ARCH_AND_MODEL_OPT "-a32"
   424  #elif defined( _M_ARM64 )
   425  #  define BOOST_LIB_ARCH_AND_MODEL_OPT "-a64"
   426  #endif
   427  
   428  //
   429  // select linkage opt:
   430  //
   431  #if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
   432  #  define BOOST_LIB_PREFIX
   433  #elif defined(BOOST_DYN_LINK)
   434  #  error "Mixing a dll boost library with a static runtime is a really bad idea..."
   435  #else
   436  #  define BOOST_LIB_PREFIX "lib"
   437  #endif
   438  
   439  //
   440  // now include the lib:
   441  //
   442  #if defined(BOOST_LIB_NAME) \
   443        && defined(BOOST_LIB_PREFIX) \
   444        && defined(BOOST_LIB_TOOLSET) \
   445        && defined(BOOST_LIB_THREAD_OPT) \
   446        && defined(BOOST_LIB_RT_OPT) \
   447        && defined(BOOST_LIB_ARCH_AND_MODEL_OPT) \
   448        && defined(BOOST_LIB_VERSION)
   449  
   450  #if defined(BOOST_EMBTC_WIN64)
   451  #  define BOOST_LIB_SUFFIX ".a"
   452  #else
   453  #  define BOOST_LIB_SUFFIX ".lib"
   454  #endif
   455  
   456  #ifdef BOOST_AUTO_LINK_NOMANGLE
   457  #  pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
   458  #  ifdef BOOST_LIB_DIAGNOSTIC
   459  #     pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
   460  #  endif
   461  #elif defined(BOOST_AUTO_LINK_TAGGED)
   462  #  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)
   463  #  ifdef BOOST_LIB_DIAGNOSTIC
   464  #     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)
   465  #  endif
   466  #elif defined(BOOST_AUTO_LINK_SYSTEM)
   467  #  pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
   468  #  ifdef BOOST_LIB_DIAGNOSTIC
   469  #     pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
   470  #  endif
   471  #elif defined(BOOST_LIB_BUILDID)
   472  #  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)
   473  #  ifdef BOOST_LIB_DIAGNOSTIC
   474  #     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)
   475  #  endif
   476  #else
   477  #  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)
   478  #  ifdef BOOST_LIB_DIAGNOSTIC
   479  #     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)
   480  #  endif
   481  #endif
   482  
   483  #else
   484  #  error "some required macros where not defined (internal logic error)."
   485  #endif
   486  
   487  
   488  #endif // _MSC_VER || __BORLANDC__
   489  
   490  //
   491  // finally undef any macros we may have set:
   492  //
   493  #ifdef BOOST_LIB_PREFIX
   494  #  undef BOOST_LIB_PREFIX
   495  #endif
   496  #if defined(BOOST_LIB_NAME)
   497  #  undef BOOST_LIB_NAME
   498  #endif
   499  // Don't undef this one: it can be set by the user and should be the 
   500  // same for all libraries:
   501  //#if defined(BOOST_LIB_TOOLSET)
   502  //#  undef BOOST_LIB_TOOLSET
   503  //#endif
   504  #if defined(BOOST_LIB_THREAD_OPT)
   505  #  undef BOOST_LIB_THREAD_OPT
   506  #endif
   507  #if defined(BOOST_LIB_RT_OPT)
   508  #  undef BOOST_LIB_RT_OPT
   509  #endif
   510  #if defined(BOOST_LIB_ARCH_AND_MODEL_OPT)
   511  #  undef BOOST_LIB_ARCH_AND_MODEL_OPT
   512  #endif
   513  #if defined(BOOST_LIB_LINK_OPT)
   514  #  undef BOOST_LIB_LINK_OPT
   515  #endif
   516  #if defined(BOOST_LIB_DEBUG_OPT)
   517  #  undef BOOST_LIB_DEBUG_OPT
   518  #endif
   519  #if defined(BOOST_DYN_LINK)
   520  #  undef BOOST_DYN_LINK
   521  #endif
   522  #if defined(BOOST_LIB_SUFFIX)
   523  #  undef BOOST_LIB_SUFFIX
   524  #endif