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

env = env.Clone()

env.SConscript(
    dirs=[
        'throughput_probing',
    ],
    exports=[
        'env',
    ],
)

env.Library(
    target='simulation',
    source=[
        'event_queue.cpp',
        'simulation.cpp',
        'simulator_options.cpp',
        'simulator_options.idl',
        'simulator_options_init.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/db/server_options',
        '$BUILD_DIR/mongo/db/server_options_base',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/service_context_non_d',
        '$BUILD_DIR/mongo/db/shard_role_api',
        '$BUILD_DIR/mongo/util/options_parser/options_parser_init',
        '$BUILD_DIR/mongo/util/pcre_wrapper',
    ],
)

env.Library(
    target='simulator_main',
    source=[
        'simulator_main.cpp',
    ],
    LIBDEPS=[
        'simulation',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
    ],
)

env.Library(
    target='workload_characteristics',
    source=[
        'workload_characteristics.cpp',
    ],
    LIBDEPS_PRIVATE=[
        '$BUILD_DIR/mongo/base',
    ],
)

env.CppUnitTest(
    target='tools_workload_characteristics_test',
    source=[
        'workload_characteristics_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/unittest/unittest',
        'workload_characteristics',
    ],
)
