summaryrefslogtreecommitdiff
path: root/src/mongo/client/SConscript
blob: d82ec7e909b52d516e481aba6bdb1464e1e9a1e8 (plain)
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=[
    ],
)