# -*- mode: python -*- Import('env') Import('get_option') env = env.Clone() env.Library( target='mongo_process_interface', source=[ 'mongo_process_interface.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], ) env.Library( target='common_process_interface', source=[ 'common_process_interface.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/auth/auth', '$BUILD_DIR/mongo/db/generic_cursor', '$BUILD_DIR/mongo/db/operation_time_tracker', '$BUILD_DIR/mongo/db/pipeline/field_path', '$BUILD_DIR/mongo/s/sharding_router_api', '$BUILD_DIR/mongo/util/diagnostic_info' if get_option('use-diagnostic-latches') == 'on' else [], '$BUILD_DIR/mongo/util/namespace_string_database_name_util', ], ) # This library is the basic mongod functionality, depended on by embedded so designed to exclude # large components like sharding and networking. env.Library( target='mongod_process_interfaces', source=[ 'common_mongod_process_interface.cpp', 'non_shardsvr_process_interface.cpp', 'replica_set_node_process_interface.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/ops/write_ops_exec', '$BUILD_DIR/mongo/db/pipeline/pipeline', '$BUILD_DIR/mongo/db/transaction/transaction', 'common_process_interface', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/catalog/catalog_helpers', '$BUILD_DIR/mongo/db/catalog/database_holder', '$BUILD_DIR/mongo/db/collection_index_usage_tracker', '$BUILD_DIR/mongo/db/concurrency/exception_util', '$BUILD_DIR/mongo/db/concurrency/flow_control_ticketholder', '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/index_builds_coordinator_mongod', '$BUILD_DIR/mongo/db/multitenancy', '$BUILD_DIR/mongo/db/operation_time_tracker', '$BUILD_DIR/mongo/db/ops/write_ops', '$BUILD_DIR/mongo/db/repl/primary_only_service', '$BUILD_DIR/mongo/db/s/query_analysis_writer', '$BUILD_DIR/mongo/db/server_feature_flags', '$BUILD_DIR/mongo/db/session/session_catalog', '$BUILD_DIR/mongo/db/stats/fill_locker_info', '$BUILD_DIR/mongo/db/storage/backup_cursor_hooks', '$BUILD_DIR/mongo/s/query_analysis_sampler', '$BUILD_DIR/mongo/scripting/scripting_common', ], ) env.Library( target='shardsvr_process_interface', source=[ 'shardsvr_process_interface.cpp', ], LIBDEPS=[ 'mongod_process_interfaces', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/query_exec', '$BUILD_DIR/mongo/db/shard_role_api', '$BUILD_DIR/mongo/s/sharding_api', ], ) env.Library( target='mongos_process_interface_factory', source=[ 'mongos_process_interface_factory.cpp', ], LIBDEPS=[ 'mongos_process_interface', ], ) env.Library( target='mongod_process_interface_factory', source=[ 'mongod_process_interface_factory.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/shard_role_api', '$BUILD_DIR/mongo/s/sharding_api', 'mongod_process_interfaces', 'shardsvr_process_interface', ], ) env.Library( target='mongos_process_interface', source=[ 'mongos_process_interface.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/pipeline/pipeline', '$BUILD_DIR/mongo/db/pipeline/sharded_agg_helpers', '$BUILD_DIR/mongo/s/query/async_results_merger', '$BUILD_DIR/mongo/s/query/cluster_query', 'common_process_interface', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/session/session_catalog', ], ) env.CppUnitTest( target='process_interface_test', source=[ 'mongos_process_interface_test.cpp', 'shardsvr_process_interface_test.cpp', 'standalone_process_interface_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/query/query_test_service_context', '$BUILD_DIR/mongo/db/service_context_test_fixture', '$BUILD_DIR/mongo/db/vector_clock_mongod', '$BUILD_DIR/mongo/s/sharding_router_test_fixture', 'mongos_process_interface', 'shardsvr_process_interface', ], )