1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
# -*- mode: python -*-
Import("env")
# Contains only the core ConnectionString functionality, *not* the ability to call connect()
# and return a DBClientBase* back. For that you need to link against the 'clientdriver' library.
env.Library('connectionstring',
["connection_string.cpp"],
LIBDEPS=[])
env.Library('clientdriver', [
"connection_string_connect.cpp",
"connpool.cpp",
"dbclient.cpp",
"dbclient_rs.cpp",
"dbclientcursor.cpp",
'native_sasl_client_session.cpp',
"replica_set_monitor.cpp",
'sasl_client_authenticate.cpp',
"sasl_client_authenticate_impl.cpp",
'sasl_client_conversation.cpp',
'sasl_client_session.cpp',
'sasl_plain_client_conversation.cpp',
'sasl_scramsha1_client_conversation.cpp',
"syncclusterconnection.cpp",
"$BUILD_DIR/mongo/db/dbmessage.cpp"
],
LIBDEPS=['connectionstring',
'cyrus_sasl_client_session',
'$BUILD_DIR/mongo/bson/util/bson_extract',
'$BUILD_DIR/mongo/db/auth/authcommon',
'$BUILD_DIR/mongo/crypto/scramauth',
'$BUILD_DIR/mongo/rpc/command_status',
'$BUILD_DIR/mongo/util/net/network',
])
env.Library(
target='connection_pool',
source=[
'connection_pool.cpp',
],
LIBDEPS=[
'clientdriver',
'$BUILD_DIR/mongo/db/auth/authorization_manager_global',
]
)
env.Library(
target='remote_command_executor',
source=[
'remote_command_executor.cpp',
'remote_command_executor_impl.cpp',
],
LIBDEPS=[
'connection_pool',
'$BUILD_DIR/mongo/db/query/getmore_request',
'$BUILD_DIR/mongo/db/query/lite_parsed_query',
]
)
env.CppUnitTest("replica_set_monitor_test",
["replica_set_monitor_test.cpp"],
LIBDEPS=["clientdriver"])
env.CppUnitTest("dbclient_rs_test",
["dbclient_rs_test.cpp"],
LIBDEPS=['clientdriver', '$BUILD_DIR/mongo/dbtests/mocklib'])
if env['MONGO_BUILD_SASL_CLIENT']:
saslLibs = ['sasl2']
if env.TargetOSIs('windows'):
saslLibs.extend(["secur32"])
env.Library(
target='cyrus_sasl_client_session',
source=[
'cyrus_sasl_client_session.cpp',
'sasl_sspi.cpp',
],
LIBDEPS=[
'$BUILD_DIR/mongo/util/foundation',
'$BUILD_DIR/mongo/util/signal_handlers_synchronous',
],
SYSLIBDEPS=saslLibs,
)
else:
# Create a dummy sasl client library so that other targets can unconditionally
# link to it, without needing to first test MONGO_BUILD_SASL_CLIENT.
env.Library(
target='cyrus_sasl_client_session',
source=[],
LIBDEPS=[]
)
env.CppUnitTest(
target="scoped_db_conn_test",
source=[
"scoped_db_conn_test.cpp",
],
LIBDEPS=[
"$BUILD_DIR/mongo/db/coredb",
"$BUILD_DIR/mongo/db/auth/authorization_manager_mock_init",
"$BUILD_DIR/mongo/util/net/message_server_port",
"$BUILD_DIR/mongo/s/coreshard",
"$BUILD_DIR/mongo/s/mongoscore",
"$BUILD_DIR/mongo/util/ntservice_mock",
],
NO_CRUTCH=True,
)
env.Library(
target="parallel",
source=[
'parallel.cpp',
],
LIBDEPS=[
],
)
|