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@101
|
159 # elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900)
|
Chris@16
|
160
|
Chris@16
|
161 // vc12:
|
Chris@16
|
162 # define BOOST_LIB_TOOLSET "vc120"
|
Chris@16
|
163
|
Chris@101
|
164 # elif defined(BOOST_MSVC)
|
Chris@101
|
165
|
Chris@101
|
166 // vc14:
|
Chris@101
|
167 # define BOOST_LIB_TOOLSET "vc140"
|
Chris@101
|
168
|
Chris@16
|
169 # elif defined(__BORLANDC__)
|
Chris@16
|
170
|
Chris@16
|
171 // CBuilder 6:
|
Chris@16
|
172 # define BOOST_LIB_TOOLSET "bcb"
|
Chris@16
|
173
|
Chris@16
|
174 # elif defined(__ICL)
|
Chris@16
|
175
|
Chris@16
|
176 // Intel C++, no version number:
|
Chris@16
|
177 # define BOOST_LIB_TOOLSET "iw"
|
Chris@16
|
178
|
Chris@16
|
179 # elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
|
Chris@16
|
180
|
Chris@16
|
181 // Metrowerks CodeWarrior 8.x
|
Chris@16
|
182 # define BOOST_LIB_TOOLSET "cw8"
|
Chris@16
|
183
|
Chris@16
|
184 # elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
|
Chris@16
|
185
|
Chris@16
|
186 // Metrowerks CodeWarrior 9.x
|
Chris@16
|
187 # define BOOST_LIB_TOOLSET "cw9"
|
Chris@16
|
188
|
Chris@16
|
189 # endif
|
Chris@16
|
190 #endif // BOOST_LIB_TOOLSET
|
Chris@16
|
191
|
Chris@16
|
192 //
|
Chris@16
|
193 // select thread opt:
|
Chris@16
|
194 //
|
Chris@16
|
195 #if defined(_MT) || defined(__MT__)
|
Chris@16
|
196 # define BOOST_LIB_THREAD_OPT "-mt"
|
Chris@16
|
197 #else
|
Chris@16
|
198 # define BOOST_LIB_THREAD_OPT
|
Chris@16
|
199 #endif
|
Chris@16
|
200
|
Chris@16
|
201 #if defined(_MSC_VER) || defined(__MWERKS__)
|
Chris@16
|
202
|
Chris@16
|
203 # ifdef _DLL
|
Chris@16
|
204
|
Chris@16
|
205 # if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
Chris@16
|
206
|
Chris@16
|
207 # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
Chris@16
|
208 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
209 # define BOOST_LIB_RT_OPT "-gydp"
|
Chris@16
|
210 # elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
Chris@16
|
211 # define BOOST_LIB_RT_OPT "-gdp"
|
Chris@16
|
212 # elif defined(_DEBUG)\
|
Chris@16
|
213 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
214 # define BOOST_LIB_RT_OPT "-gydp"
|
Chris@16
|
215 # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
Chris@16
|
216 # error "Build options aren't compatible with pre-built libraries"
|
Chris@16
|
217 # elif defined(_DEBUG)
|
Chris@16
|
218 # define BOOST_LIB_RT_OPT "-gdp"
|
Chris@16
|
219 # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
Chris@16
|
220 # error "Build options aren't compatible with pre-built libraries"
|
Chris@16
|
221 # else
|
Chris@16
|
222 # define BOOST_LIB_RT_OPT "-p"
|
Chris@16
|
223 # endif
|
Chris@16
|
224
|
Chris@16
|
225 # elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
Chris@16
|
226
|
Chris@16
|
227 # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
Chris@16
|
228 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
229 # define BOOST_LIB_RT_OPT "-gydpn"
|
Chris@16
|
230 # elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
Chris@16
|
231 # define BOOST_LIB_RT_OPT "-gdpn"
|
Chris@16
|
232 # elif defined(_DEBUG)\
|
Chris@16
|
233 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
234 # define BOOST_LIB_RT_OPT "-gydpn"
|
Chris@16
|
235 # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
Chris@16
|
236 # error "Build options aren't compatible with pre-built libraries"
|
Chris@16
|
237 # elif defined(_DEBUG)
|
Chris@16
|
238 # define BOOST_LIB_RT_OPT "-gdpn"
|
Chris@16
|
239 # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
Chris@16
|
240 # error "Build options aren't compatible with pre-built libraries"
|
Chris@16
|
241 # else
|
Chris@16
|
242 # define BOOST_LIB_RT_OPT "-pn"
|
Chris@16
|
243 # endif
|
Chris@16
|
244
|
Chris@16
|
245 # else
|
Chris@16
|
246
|
Chris@16
|
247 # if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
248 # define BOOST_LIB_RT_OPT "-gyd"
|
Chris@16
|
249 # elif defined(_DEBUG)
|
Chris@16
|
250 # define BOOST_LIB_RT_OPT "-gd"
|
Chris@16
|
251 # else
|
Chris@16
|
252 # define BOOST_LIB_RT_OPT
|
Chris@16
|
253 # endif
|
Chris@16
|
254
|
Chris@16
|
255 # endif
|
Chris@16
|
256
|
Chris@16
|
257 # else
|
Chris@16
|
258
|
Chris@16
|
259 # if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
Chris@16
|
260
|
Chris@16
|
261 # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
Chris@16
|
262 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
263 # define BOOST_LIB_RT_OPT "-sgydp"
|
Chris@16
|
264 # elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
Chris@16
|
265 # define BOOST_LIB_RT_OPT "-sgdp"
|
Chris@16
|
266 # elif defined(_DEBUG)\
|
Chris@16
|
267 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
268 # define BOOST_LIB_RT_OPT "-sgydp"
|
Chris@16
|
269 # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
Chris@16
|
270 # error "Build options aren't compatible with pre-built libraries"
|
Chris@16
|
271 # elif defined(_DEBUG)
|
Chris@16
|
272 # define BOOST_LIB_RT_OPT "-sgdp"
|
Chris@16
|
273 # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
Chris@16
|
274 # error "Build options aren't compatible with pre-built libraries"
|
Chris@16
|
275 # else
|
Chris@16
|
276 # define BOOST_LIB_RT_OPT "-sp"
|
Chris@16
|
277 # endif
|
Chris@16
|
278
|
Chris@16
|
279 # elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
Chris@16
|
280
|
Chris@16
|
281 # if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
Chris@16
|
282 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
283 # define BOOST_LIB_RT_OPT "-sgydpn"
|
Chris@16
|
284 # elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
Chris@16
|
285 # define BOOST_LIB_RT_OPT "-sgdpn"
|
Chris@16
|
286 # elif defined(_DEBUG)\
|
Chris@16
|
287 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
288 # define BOOST_LIB_RT_OPT "-sgydpn"
|
Chris@16
|
289 # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
Chris@16
|
290 # error "Build options aren't compatible with pre-built libraries"
|
Chris@16
|
291 # elif defined(_DEBUG)
|
Chris@16
|
292 # define BOOST_LIB_RT_OPT "-sgdpn"
|
Chris@16
|
293 # pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
Chris@16
|
294 # error "Build options aren't compatible with pre-built libraries"
|
Chris@16
|
295 # else
|
Chris@16
|
296 # define BOOST_LIB_RT_OPT "-spn"
|
Chris@16
|
297 # endif
|
Chris@16
|
298
|
Chris@16
|
299 # else
|
Chris@16
|
300
|
Chris@16
|
301 # if defined(_DEBUG)\
|
Chris@16
|
302 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
303 # define BOOST_LIB_RT_OPT "-sgyd"
|
Chris@16
|
304 # elif defined(_DEBUG)
|
Chris@16
|
305 # define BOOST_LIB_RT_OPT "-sgd"
|
Chris@16
|
306 # else
|
Chris@16
|
307 # define BOOST_LIB_RT_OPT "-s"
|
Chris@16
|
308 # endif
|
Chris@16
|
309
|
Chris@16
|
310 # endif
|
Chris@16
|
311
|
Chris@16
|
312 # endif
|
Chris@16
|
313
|
Chris@16
|
314 #elif defined(__BORLANDC__)
|
Chris@16
|
315
|
Chris@16
|
316 //
|
Chris@16
|
317 // figure out whether we want the debug builds or not:
|
Chris@16
|
318 //
|
Chris@16
|
319 #if __BORLANDC__ > 0x561
|
Chris@16
|
320 #pragma defineonoption BOOST_BORLAND_DEBUG -v
|
Chris@16
|
321 #endif
|
Chris@16
|
322 //
|
Chris@16
|
323 // sanity check:
|
Chris@16
|
324 //
|
Chris@16
|
325 #if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
|
Chris@16
|
326 #error "Pre-built versions of the Boost libraries are not provided in STLport-debug form"
|
Chris@16
|
327 #endif
|
Chris@16
|
328
|
Chris@16
|
329 # ifdef _RTLDLL
|
Chris@16
|
330
|
Chris@16
|
331 # if defined(BOOST_BORLAND_DEBUG)\
|
Chris@16
|
332 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
333 # define BOOST_LIB_RT_OPT "-yd"
|
Chris@16
|
334 # elif defined(BOOST_BORLAND_DEBUG)
|
Chris@16
|
335 # define BOOST_LIB_RT_OPT "-d"
|
Chris@16
|
336 # elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
337 # define BOOST_LIB_RT_OPT -y
|
Chris@16
|
338 # else
|
Chris@16
|
339 # define BOOST_LIB_RT_OPT
|
Chris@16
|
340 # endif
|
Chris@16
|
341
|
Chris@16
|
342 # else
|
Chris@16
|
343
|
Chris@16
|
344 # if defined(BOOST_BORLAND_DEBUG)\
|
Chris@16
|
345 && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
346 # define BOOST_LIB_RT_OPT "-syd"
|
Chris@16
|
347 # elif defined(BOOST_BORLAND_DEBUG)
|
Chris@16
|
348 # define BOOST_LIB_RT_OPT "-sd"
|
Chris@16
|
349 # elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
Chris@16
|
350 # define BOOST_LIB_RT_OPT "-sy"
|
Chris@16
|
351 # else
|
Chris@16
|
352 # define BOOST_LIB_RT_OPT "-s"
|
Chris@16
|
353 # endif
|
Chris@16
|
354
|
Chris@16
|
355 # endif
|
Chris@16
|
356
|
Chris@16
|
357 #endif
|
Chris@16
|
358
|
Chris@16
|
359 //
|
Chris@16
|
360 // select linkage opt:
|
Chris@16
|
361 //
|
Chris@16
|
362 #if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
|
Chris@16
|
363 # define BOOST_LIB_PREFIX
|
Chris@16
|
364 #elif defined(BOOST_DYN_LINK)
|
Chris@16
|
365 # error "Mixing a dll boost library with a static runtime is a really bad idea..."
|
Chris@16
|
366 #else
|
Chris@16
|
367 # define BOOST_LIB_PREFIX "lib"
|
Chris@16
|
368 #endif
|
Chris@16
|
369
|
Chris@16
|
370 //
|
Chris@16
|
371 // now include the lib:
|
Chris@16
|
372 //
|
Chris@16
|
373 #if defined(BOOST_LIB_NAME) \
|
Chris@16
|
374 && defined(BOOST_LIB_PREFIX) \
|
Chris@16
|
375 && defined(BOOST_LIB_TOOLSET) \
|
Chris@16
|
376 && defined(BOOST_LIB_THREAD_OPT) \
|
Chris@16
|
377 && defined(BOOST_LIB_RT_OPT) \
|
Chris@16
|
378 && defined(BOOST_LIB_VERSION)
|
Chris@16
|
379
|
Chris@16
|
380 #ifdef BOOST_AUTO_LINK_TAGGED
|
Chris@16
|
381 # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
|
Chris@16
|
382 # ifdef BOOST_LIB_DIAGNOSTIC
|
Chris@16
|
383 # 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
|
384 # endif
|
Chris@16
|
385 #elif defined(BOOST_AUTO_LINK_NOMANGLE)
|
Chris@16
|
386 # pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
|
Chris@16
|
387 # ifdef BOOST_LIB_DIAGNOSTIC
|
Chris@16
|
388 # pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
|
Chris@16
|
389 # endif
|
Chris@101
|
390 #elif defined(BOOST_LIB_BUILDID)
|
Chris@101
|
391 # 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")
|
Chris@101
|
392 # ifdef BOOST_LIB_DIAGNOSTIC
|
Chris@101
|
393 # 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")
|
Chris@101
|
394 # endif
|
Chris@16
|
395 #else
|
Chris@16
|
396 # 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
|
397 # ifdef BOOST_LIB_DIAGNOSTIC
|
Chris@16
|
398 # 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
|
399 # endif
|
Chris@16
|
400 #endif
|
Chris@16
|
401
|
Chris@16
|
402 #else
|
Chris@16
|
403 # error "some required macros where not defined (internal logic error)."
|
Chris@16
|
404 #endif
|
Chris@16
|
405
|
Chris@16
|
406
|
Chris@16
|
407 #endif // _MSC_VER || __BORLANDC__
|
Chris@16
|
408
|
Chris@16
|
409 //
|
Chris@16
|
410 // finally undef any macros we may have set:
|
Chris@16
|
411 //
|
Chris@16
|
412 #ifdef BOOST_LIB_PREFIX
|
Chris@16
|
413 # undef BOOST_LIB_PREFIX
|
Chris@16
|
414 #endif
|
Chris@16
|
415 #if defined(BOOST_LIB_NAME)
|
Chris@16
|
416 # undef BOOST_LIB_NAME
|
Chris@16
|
417 #endif
|
Chris@16
|
418 // Don't undef this one: it can be set by the user and should be the
|
Chris@16
|
419 // same for all libraries:
|
Chris@16
|
420 //#if defined(BOOST_LIB_TOOLSET)
|
Chris@16
|
421 //# undef BOOST_LIB_TOOLSET
|
Chris@16
|
422 //#endif
|
Chris@16
|
423 #if defined(BOOST_LIB_THREAD_OPT)
|
Chris@16
|
424 # undef BOOST_LIB_THREAD_OPT
|
Chris@16
|
425 #endif
|
Chris@16
|
426 #if defined(BOOST_LIB_RT_OPT)
|
Chris@16
|
427 # undef BOOST_LIB_RT_OPT
|
Chris@16
|
428 #endif
|
Chris@16
|
429 #if defined(BOOST_LIB_LINK_OPT)
|
Chris@16
|
430 # undef BOOST_LIB_LINK_OPT
|
Chris@16
|
431 #endif
|
Chris@16
|
432 #if defined(BOOST_LIB_DEBUG_OPT)
|
Chris@16
|
433 # undef BOOST_LIB_DEBUG_OPT
|
Chris@16
|
434 #endif
|
Chris@16
|
435 #if defined(BOOST_DYN_LINK)
|
Chris@16
|
436 # undef BOOST_DYN_LINK
|
Chris@16
|
437 #endif
|
Chris@16
|
438
|
Chris@16
|
439
|