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
525