# -*- mode: python -*-

Import("env")

env = env.Clone()

env.Library(
    target='sharding_client',
    source=[
        'shard_remote.cpp',
        'num_hosts_targeted_metrics.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/client/fetcher',
        '$BUILD_DIR/mongo/db/commands',
        '$BUILD_DIR/mongo/db/lasterror',
        '$BUILD_DIR/mongo/executor/task_executor_pool',
        '$BUILD_DIR/mongo/s/grid',
        'shard_interface',
    ],
)

env.CppUnitTest(
    target='shard_remote_test',
    source=[
        'shard_remote_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/s/sharding_router_test_fixture',
        '$BUILD_DIR/mongo/s/query/async_results_merger',
        'sharding_client',
    ],
)

env.CppUnitTest(
    target='shard_registry_test',
    source=[
        'shard_registry_data_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/s/coreshard',
        '$BUILD_DIR/mongo/s/sharding_router_test_fixture',
    ],
)

env.Library(
    target='shard_interface',
    source=[
        'shard.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/client/remote_command_retry_scheduler',
        '$BUILD_DIR/mongo/s/common_s',
        '$BUILD_DIR/mongo/s/write_ops/batch_write_types',
    ],
)

env.Library(
    target='rs_local_client',
    source=[
        'rs_local_client.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/client/clientdriver_minimal',
        '$BUILD_DIR/mongo/db/dbdirectclient',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
    ],
)

env.Library(
    target='shard_local',
    source=[
        'shard_local.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/client/clientdriver_minimal',
        '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface',
        'rs_local_client',
        'shard_interface',
    ],
)

env.CppUnitTest(
    target='shard_local_test',
    source=[
        'shard_local_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/auth/authmocks',
        '$BUILD_DIR/mongo/db/repl/replmocks',
        '$BUILD_DIR/mongo/db/service_context_d_test_fixture',
        'shard_local',
    ],
)
