MongoDB C++ Driver
legacy-1.0.4
Loading...
Searching...
No Matches
src
mongo
client
autolib.h
1
/* Copyright 2014 MongoDB Inc.
2
*
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at
6
*
7
* http://www.apache.org/licenses/LICENSE-2.0
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
16
#pragma once
17
18
#if defined(_MSC_VER) && !defined(LIBMONGOCLIENT_NO_AUTOLIB)
19
#
20
# pragma push_macro("LIBMONGOCLIENT_LIB_PREFIX"
)
21
# undef LIBMONGOCLIENT_LIB_PREFIX
22
#
23
# pragma push_macro("LIBMONGOCLIENT_ABI_ADORNMENT"
)
24
# undef LIBMONGOCLIENT_ABI_ADORNMENT
25
#
26
# pragma push_macro("LIBMONGOCLIENT_LIB_SUFFIX"
)
27
# undef LIBMONGOCLIENT_LIB_SUFFIX
28
#
29
# if defined(STATIC_LIBMONGOCLIENT)
30
#
// Our static libraries start with an extra 'lib' to separate from DLLs.
31
# define LIBMONGOCLIENT_LIB_PREFIX "lib"
32
# if defined(_DEBUG)
33
# if defined(_DLL)
34
#
// This is a static client lib linking to the debug DLL runtime
35
# define LIBMONGOCLIENT_ABI_ADORNMENT "-gd"
36
# else
37
#
// This is a static client lib linking to the debug static runtime
38
# define LIBMONGOCLIENT_ABI_ADORNMENT "-sgd"
39
# endif
40
# else
41
# if defined(_DLL)
42
#
// This is a static client lib linking to the retail DLL runtime
43
# define LIBMONGOCLIENT_ABI_ADORNMENT ""
44
# else
45
#
// This is a static client lib linking to the retail static runtime
46
# define LIBMONGOCLIENT_ABI_ADORNMENT "-s"
47
# endif
48
# endif
49
# else
50
#
// Our DLL doesn't have a 'lib' prefix, unlike our static lib
51
# define LIBMONGOCLIENT_LIB_PREFIX ""
52
# if defined(_DEBUG)
53
#
// This is a DLL libmongoclient linking to the debug DLL runtime
54
# define LIBMONGOCLIENT_ABI_ADORNMENT "-gd"
55
# else
56
#
// This is a DLL libmongoclient linking to the retail DLL runtime
57
# define LIBMONGOCLIENT_ABI_ADORNMENT ""
58
# endif
59
# endif
60
#
61
#
// We always link to either the static library, or the stub for DLLs.
62
# define LIBMONGOCLIENT_LIB_SUFFIX ".lib"
63
#
64
#
// Tack together the pieces in the right order
65
# pragma comment(lib, LIBMONGOCLIENT_LIB_PREFIX "mongoclient"
LIBMONGOCLIENT_ABI_ADORNMENT LIBMONGOCLIENT_LIB_SUFFIX )
66
#
67
# pragma pop_macro("LIBMONGOCLIENT_LIB_PREFIX"
)
68
# pragma pop_macro("LIBMONGOCLIENT_ABI_ADORNMENT"
)
69
# pragma pop_macro("LIBMONGOCLIENT_LIB_SUFFIX"
)
70
#
71
#endif
Generated by
1.9.7