# -*- mode: python -*- Import("env") Import("wiredtiger") Import("get_option") env = env.Clone() env.Library( target=[ 'command_status', ], source=[ 'get_status_from_command_result.cpp', 'write_concern_error_detail.cpp', 'write_concern_error.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/bson/util/bson_extract', '$BUILD_DIR/mongo/db/common', '$BUILD_DIR/mongo/idl/basic_types', ], ) protoEnv = env.Clone() if wiredtiger: protoEnv.InjectThirdParty(libraries=['wiredtiger']) protoEnv.Library( target=[ 'message', ], source=[ 'message.cpp', 'op_msg.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/multitenancy', '$BUILD_DIR/mongo/db/wire_version', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/bson/util/bson_extract', '$BUILD_DIR/mongo/db/auth/security_token', '$BUILD_DIR/mongo/db/bson/dotted_path_support', '$BUILD_DIR/mongo/db/server_base', '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/third_party/wiredtiger/wiredtiger_checksum' if wiredtiger else [], ], ) env.Library( target='rpc', source=[ 'check_allowed_op_query_cmd.cpp', 'factory.cpp', 'legacy_reply.cpp', 'legacy_reply_builder.cpp', 'legacy_request.cpp', 'object_check.cpp', 'object_check.idl', 'reply_builder_interface.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/dbmessage', '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/db/stats/counters', '$BUILD_DIR/mongo/idl/basic_types', '$BUILD_DIR/mongo/s/common_s', '$BUILD_DIR/mongo/util/net/network', 'message', 'metadata', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/idl/server_parameter', 'rewrite_state_change_errors', ], ) env.Library( target='rewrite_state_change_errors', source=[ 'rewrite_state_change_errors.cpp', 'rewrite_state_change_errors_server_parameter.idl', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/bson/mutable/mutable_bson', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/s/is_mongos', '$BUILD_DIR/mongo/util/pcre_wrapper', 'message', ], ) env.CppLibfuzzerTest( target='protocol_fuzzer', source=[ 'protocol_fuzzer.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/ops/write_ops_parsers', '$BUILD_DIR/mongo/transport/message_compressor', 'message', 'rpc', ], ) env.Library( target='metadata', source=[ 'metadata.cpp', 'metadata/egress_metadata_hook_list.cpp', 'metadata/repl_set_metadata.cpp', 'metadata/oplog_query_metadata.cpp', 'metadata/tracking_metadata.cpp', 'topology_version.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/bson/util/bson_extract', '$BUILD_DIR/mongo/client/read_preference', '$BUILD_DIR/mongo/db/auth/security_token', '$BUILD_DIR/mongo/db/repl/optime', '$BUILD_DIR/mongo/db/signed_logical_time', '$BUILD_DIR/mongo/db/write_block_bypass', 'client_metadata', 'metadata_impersonated_user', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/multitenancy', '$BUILD_DIR/mongo/db/vector_clock', ], ) env.Library( target=[ 'metadata_impersonated_user', ], source=[ 'metadata/impersonated_user_metadata.cpp', 'metadata/impersonated_user_metadata.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/service_context', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/auth/auth', '$BUILD_DIR/mongo/db/server_options', ], ) env.Library( target='client_metadata', source=[ 'metadata/client_metadata.cpp', 'metadata/client_metadata.idl', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/s/is_mongos', '$BUILD_DIR/mongo/transport/transport_layer_common', "$BUILD_DIR/mongo/util/concurrency/spin_lock", '$BUILD_DIR/mongo/util/net/network', "$BUILD_DIR/mongo/util/processinfo", ], ) if wiredtiger: env.CppUnitTest( target='rpc_test', source=[ 'get_status_from_command_result_test.cpp', 'metadata/client_metadata_test.cpp', 'metadata/egress_metadata_hook_list_test.cpp', 'metadata/oplog_query_metadata_test.cpp', 'metadata/repl_set_metadata_test.cpp', 'metadata/security_token_metadata_test.cpp', 'metadata/tracking_metadata_test.cpp', 'metadata_test.cpp', 'object_check_test.cpp', 'op_msg_test.cpp', 'reply_builder_test.cpp', 'rewrite_state_change_errors_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/client/clientdriver_minimal', '$BUILD_DIR/mongo/db/auth/auth', '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/server_base', '$BUILD_DIR/mongo/db/service_context_test_fixture', '$BUILD_DIR/third_party/wiredtiger/wiredtiger_checksum', 'client_metadata', 'metadata', 'rewrite_state_change_errors', 'rpc', ], ) env.CppIntegrationTest( target='rpc_integration_test', source=[ 'op_msg_integration_test.cpp', 'op_legacy_integration_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/client/clientdriver_network', '$BUILD_DIR/mongo/transport/transport_layer_egress_init', '$BUILD_DIR/mongo/util/version_impl', 'message', ], )