# -*- mode: python -*- Import("env") env = env.Clone() env.Library( target='index_descriptor', source=[ 'index_descriptor.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/catalog/collection', '$BUILD_DIR/mongo/db/catalog/index_catalog', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/index_names', '$BUILD_DIR/mongo/db/namespace_string', ], ) env.Library( target='duplicate_key_tracker', source=[ 'duplicate_key_tracker.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/service_context', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/curop', '$BUILD_DIR/mongo/db/storage/index_entry_comparison', ], ) env.Library( target='key_generator', source=[ 'btree_key_generator.cpp', 'expression_keys_private.cpp', 'sort_key_generator.cpp', 'wildcard_key_generator.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/bson/dotted_path_support', '$BUILD_DIR/mongo/db/fts/base_fts', '$BUILD_DIR/mongo/db/geo/geoparser', '$BUILD_DIR/mongo/db/index_names', '$BUILD_DIR/mongo/db/mongohasher', '$BUILD_DIR/mongo/db/projection_exec_agg', '$BUILD_DIR/mongo/db/query/collation/collator_interface', '$BUILD_DIR/third_party/s2/s2', 'expression_params', 'index_descriptor', ], ) env.Library( target='expression_params', source=[ 'expression_params.cpp', 's2_common.cpp' ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/bson/util/bson_extract', '$BUILD_DIR/mongo/db/geo/geometry', '$BUILD_DIR/mongo/db/geo/geoparser', '$BUILD_DIR/mongo/db/mongohasher', '$BUILD_DIR/mongo/db/query/collation/collator_interface', '$BUILD_DIR/third_party/s2/s2', ] ) env.CppUnitTest( target='key_generator_test', source=[ '2d_key_generator_test.cpp', 'btree_key_generator_test.cpp', 'hash_key_generator_test.cpp', 's2_key_generator_test.cpp', 'sort_key_generator_test.cpp', 'wildcard_key_generator_test.cpp', ], LIBDEPS=[ 'key_generator', "$BUILD_DIR/mongo/db/matcher/expressions", '$BUILD_DIR/mongo/db/mongohasher', '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', ], ) serveronlyEnv = env.Clone() serveronlyEnv.InjectThirdParty(libraries=['snappy']) serveronlyEnv.Library( target="index_access_method", source=[ "index_access_method.cpp", ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/catalog/index_catalog_entry', '$BUILD_DIR/mongo/db/curop', '$BUILD_DIR/mongo/db/concurrency/write_conflict_exception', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/storage/encryption_hooks', '$BUILD_DIR/mongo/db/storage/index_entry_comparison', '$BUILD_DIR/mongo/db/storage/storage_options', '$BUILD_DIR/third_party/shim_snappy', 'index_descriptor', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/logical_clock', ], ) env.Library( target="index_access_methods", source=[ "2d_access_method.cpp", "btree_access_method.cpp", "fts_access_method.cpp", "hash_access_method.cpp", "haystack_access_method.cpp", "s2_access_method.cpp", "wildcard_access_method.cpp", ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/query_exec', 'index_access_method', 'key_generator', ], ) env.Library( target="index_build_interceptor", source=[ "index_build_interceptor.cpp", ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'duplicate_key_tracker', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/catalog/index_timestamp_helper', '$BUILD_DIR/mongo/db/multi_key_path_tracker', 'index_access_methods', ], )