summaryrefslogtreecommitdiff
path: root/src/mongo/tools/SConscript
blob: a085df0f9791a8988701b11bed25618b4170fa7c (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
# -*- mode: python; -*-

Import('env')
Import('get_option')

env = env.Clone()

yamlEnv = env.Clone()
yamlEnv.InjectThirdPartyIncludePaths(libraries=['yaml'])

mongobridge = env.Program(
    target="mongobridge",
    source=[
        "bridge.cpp",
        "bridge_commands.cpp",
        "mongobridge_options.cpp",
        env.Idlc("mongobridge_options.idl")[0],
        "mongobridge_options_init.cpp"
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/dbmessage',
        '$BUILD_DIR/mongo/rpc/rpc',
        '$BUILD_DIR/mongo/transport/message_compressor',
        '$BUILD_DIR/mongo/transport/service_entry_point',
        '$BUILD_DIR/mongo/transport/service_executor',
        '$BUILD_DIR/mongo/transport/transport_layer',
        '$BUILD_DIR/mongo/util/net/network',
        '$BUILD_DIR/mongo/util/options_parser/options_parser_init',
        '$BUILD_DIR/mongo/util/signal_handlers',
    ],
    INSTALL_ALIAS=[
        'tools'
    ],
)

mongoebench = yamlEnv.Program(
    target='mongoebench',
    source=[
        'mongoebench_main.cpp',
        'mongoebench_options.cpp',
        'mongoebench_options_init.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/dbdirectclient',
        '$BUILD_DIR/mongo/db/storage/storage_options',
        '$BUILD_DIR/mongo/embedded/embedded',
        '$BUILD_DIR/mongo/embedded/embedded_integration_helpers',
        '$BUILD_DIR/mongo/shell/benchrun',
        '$BUILD_DIR/mongo/util/signal_handlers',
    ],
    INSTALL_ALIAS=[
        'embedded-test',
        'tools',
    ],
)

hygienic = get_option('install-mode') == 'hygienic'
if not hygienic:
    env.Install("#/", mongobridge)
    env.Install("#/", mongoebench)

env.Alias('all', mongoebench)  # This ensures it compiles and links, but doesn't copy it anywhere.