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