# -*- mode: python; -*-

Import("env")

env.Library('collection_options', ['collection_options.cpp'], LIBDEPS=['$BUILD_DIR/mongo/base'])

env.CppUnitTest('collection_options_test', ['collection_options_test.cpp'],
                LIBDEPS=['collection_options'])


env.Library(
    target='document_validation',
    source=[
        "document_validation.cpp",
    ],
    LIBDEPS=[
        "$BUILD_DIR/mongo/db/service_context",
    ],
)

env.Library(
    target='index_key_validate',
    source=[
        "index_key_validate.cpp",
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/common',
        '$BUILD_DIR/mongo/db/index/index_descriptor',
        '$BUILD_DIR/mongo/db/index_names',
        '$BUILD_DIR/mongo/db/query/collation/collator_factory_interface',
        '$BUILD_DIR/mongo/util/fail_point',
    ],
)

env.CppUnitTest(
    target='index_key_validate_test',
    source=[
        'index_key_validate_test.cpp',
        'index_spec_validate_test.cpp',
    ],
    LIBDEPS=[
        '$BUILD_DIR/mongo/db/query/query_test_service_context',
        'index_key_validate',
    ]
)

env.Library(
    target='catalog',
    source=[
        "apply_ops.cpp",
        "capped_utils.cpp",
        "coll_mod.cpp",
        "collection.cpp",
        "collection_compact.cpp",
        "collection_info_cache.cpp",
        "create_collection.cpp",
        "cursor_manager.cpp",
        "database.cpp",
        "database_holder.cpp",
        "drop_collection.cpp",
        "drop_database.cpp",
        "drop_indexes.cpp",
        "index_catalog.cpp",
        "index_catalog_entry.cpp",
        "index_create.cpp",
        "rename_collection.cpp",
    ],
    LIBDEPS=[
        'collection_options',
        '$BUILD_DIR/mongo/base',
        '$BUILD_DIR/mongo/db/concurrency/lock_manager',
        '$BUILD_DIR/mongo/db/curop',
        '$BUILD_DIR/mongo/db/query/query',
        '$BUILD_DIR/mongo/db/repl/serveronly',
        '$BUILD_DIR/mongo/db/server_options_core',
        '$BUILD_DIR/mongo/db/service_context',
        '$BUILD_DIR/mongo/db/storage/mmap_v1/storage_mmapv1',
        '$BUILD_DIR/mongo/db/storage/key_string',
    ],
    LIBDEPS_TAGS=[
        # TODO: Many missing libdeps above
        'incomplete'
    ],
)
