# -*- mode: python -*- Import("env") env = env.Clone() env.Library( target='index_descriptor', source=[ 'index_descriptor.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/catalog/index_catalog', '$BUILD_DIR/mongo/db/index_names', '$BUILD_DIR/mongo/db/matcher/expressions', '$BUILD_DIR/mongo/db/namespace_string', '$BUILD_DIR/mongo/db/query/collation/collator_factory_interface', ], ) env.Library( target='key_generator', source=[ 'btree_key_generator.cpp', 'column_key_generator.cpp', 'expression_keys_private.cpp', 'sort_key_generator.cpp', 'wildcard_key_generator.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/bson/dotted_path_support', '$BUILD_DIR/mongo/db/exec/projection_executor', '$BUILD_DIR/mongo/db/exec/working_set', '$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/pipeline/document_path_support', '$BUILD_DIR/mongo/db/query/collation/collator_interface', '$BUILD_DIR/mongo/db/query/projection_ast', '$BUILD_DIR/mongo/db/query/sort_pattern', '$BUILD_DIR/mongo/db/record_id_helpers', '$BUILD_DIR/mongo/db/timeseries/timeseries_conversion_util', '$BUILD_DIR/third_party/s2/s2', 'expression_params', 'index_descriptor', ], ) env.Benchmark( target='key_gen_bm', source='key_gen_bm.cpp', LIBDEPS=[ '$BUILD_DIR/mongo/base', 'key_generator', ], ) env.Library( target='expression_params', source=[ 'expression_params.cpp', 's2_common.cpp' ], LIBDEPS_PRIVATE=[ '$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/mongo/db/storage/key_string', '$BUILD_DIR/third_party/s2/s2', ] ) env.Library( target='index_access_method_factory', source=[ 'index_access_method_factory.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/index_names', ], ) serveronlyEnv = env.Clone() serveronlyEnv.InjectThirdParty(libraries=['snappy']) serveronlyEnv.Library( target="index_access_method", source=[ 'duplicate_key_tracker.cpp', 'index_access_method.cpp', 'index_build_interceptor.cpp', 'index_build_interceptor.idl', 'skipped_record_tracker.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/catalog/index_catalog_entry', '$BUILD_DIR/mongo/db/concurrency/write_conflict_exception', '$BUILD_DIR/mongo/db/curop', '$BUILD_DIR/mongo/db/multi_key_path_tracker', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/resumable_index_builds_idl', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/sorter/sorter_idl', '$BUILD_DIR/mongo/db/storage/encryption_hooks', '$BUILD_DIR/mongo/db/storage/execution_context', '$BUILD_DIR/mongo/db/storage/index_entry_comparison', '$BUILD_DIR/mongo/db/storage/key_string', '$BUILD_DIR/mongo/db/storage/record_store_base', '$BUILD_DIR/mongo/db/storage/storage_options', '$BUILD_DIR/mongo/db/vector_clock', '$BUILD_DIR/mongo/idl/server_parameter', '$BUILD_DIR/mongo/util/progress_meter', '$BUILD_DIR/third_party/shim_snappy', 'index_descriptor', ], ) env.Library( target="index_access_methods", source=[ "2d_access_method.cpp", "columns_access_method.cpp", "btree_access_method.cpp", "fts_access_method.cpp", "hash_access_method.cpp", "index_access_method_factory_impl.cpp", "s2_access_method.cpp", "s2_bucket_access_method.cpp", "wildcard_access_method.cpp", ], LIBDEPS=[ 'index_access_method', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/fts/base_fts', '$BUILD_DIR/mongo/db/index_names', 'expression_params', 'key_generator', ] ) env.CppUnitTest( target='db_index_test', source=[ '2d_key_generator_test.cpp', 'btree_key_generator_test.cpp', 'column_key_generator_test.cpp', 'hash_key_generator_test.cpp', 's2_key_generator_test.cpp', 's2_bucket_key_generator_test.cpp', 'sort_key_generator_test.cpp', 'wildcard_key_generator_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/exec/document_value/document_value_test_util', '$BUILD_DIR/mongo/db/exec/working_set', '$BUILD_DIR/mongo/db/matcher/expressions', '$BUILD_DIR/mongo/db/mongohasher', '$BUILD_DIR/mongo/db/query/collation/collator_interface_mock', '$BUILD_DIR/mongo/db/query/query_test_service_context', '$BUILD_DIR/mongo/db/query/sort_pattern', '$BUILD_DIR/mongo/db/record_id_helpers', 'expression_params', 'key_generator', ], )