# -*- mode: python -*- Import('env') 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/pipeline/field_path', '$BUILD_DIR/mongo/s/sharding_router_api', ], ) # 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', '$BUILD_DIR/mongo/db/write_ops', '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/repl/primary_only_service', '$BUILD_DIR/mongo/db/session_catalog', '$BUILD_DIR/mongo/db/stats/fill_locker_info', '$BUILD_DIR/mongo/db/storage/backup_cursor_hooks', '$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/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/s/sharding_router_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_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/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', ] )