# -*- mode: python -*- Import('env') env = env.Clone() env.Library( target='transport_layer_common', source=[ 'ismaster_metrics.cpp', 'service_entry_point_utils.cpp', 'session.cpp', 'transport_layer.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/util/net/ssl_manager', ], ) env.Library( target='transport_layer_mock', source=[ 'transport_layer_mock.cpp', ], LIBDEPS=[ 'transport_layer_common', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/util/net/network', ], ) tlEnv = env.Clone() tlEnv.InjectThirdParty(libraries=['asio']) tlEnv.Library( target='transport_layer_manager', source=[ 'transport_layer_manager.cpp', ], LIBDEPS=[ 'transport_layer', ], LIBDEPS_PRIVATE=[ 'service_executor', '$BUILD_DIR/third_party/shim_asio', ], ) tlEnv.Library( target='transport_layer', source=[ 'transport_layer_asio.cpp', env.Idlc('transport_options.idl')[0], ], LIBDEPS=[ 'transport_layer_common', '$BUILD_DIR/mongo/base/system_error', '$BUILD_DIR/mongo/db/auth/authentication_restriction', '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/stats/counters', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/idl/server_parameter', '$BUILD_DIR/mongo/util/net/ssl_manager', '$BUILD_DIR/mongo/util/options_parser/options_parser', '$BUILD_DIR/third_party/shim_asio', ], ) # This library will initialize an egress transport layer in a mongo initializer # for C++ tests that require networking. env.Library( target='transport_layer_egress_init', source=[ 'transport_layer_egress_init.cpp', ], LIBDEPS_PRIVATE=[ 'transport_layer', ] ) tlEnv.Library( target='service_executor', source=[ 'service_executor_fixed.cpp', 'service_executor_reserved.cpp', 'service_executor_synchronous.cpp', env.Idlc('service_executor.idl')[0], ], LIBDEPS=[ '$BUILD_DIR/mongo/db/service_context', ], LIBDEPS_PRIVATE=[ "$BUILD_DIR/mongo/idl/server_parameter", "$BUILD_DIR/mongo/util/concurrency/thread_pool", "$BUILD_DIR/mongo/util/processinfo", '$BUILD_DIR/third_party/shim_asio', 'transport_layer_common', ], ) env.Library( target='service_entry_point', source=[ 'service_entry_point_impl.cpp', 'service_state_machine.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/auth/authentication_restriction', '$BUILD_DIR/mongo/db/dbmessage', '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/stats/counters', '$BUILD_DIR/mongo/rpc/protocol', '$BUILD_DIR/mongo/util/processinfo', 'service_executor', 'transport_layer_common', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/traffic_recorder', '$BUILD_DIR/mongo/transport/message_compressor', '$BUILD_DIR/mongo/util/net/ssl_manager', ], ) zlibEnv = env.Clone() zlibEnv.InjectThirdParty(libraries=['zlib', 'zstd', 'snappy']) zlibEnv.Library( target='message_compressor', source=[ 'message_compressor_manager.cpp', 'message_compressor_metrics.cpp', 'message_compressor_registry.cpp', 'message_compressor_snappy.cpp', 'message_compressor_zlib.cpp', 'message_compressor_zstd.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/util/options_parser/options_parser', '$BUILD_DIR/third_party/shim_snappy', '$BUILD_DIR/third_party/shim_zlib', '$BUILD_DIR/third_party/shim_zstd', ] ) env.Library( target='message_compressor_options_client', source=[ env.Idlc('message_compressor_options_client.idl')[0], ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'message_compressor', ], ) env.Library( target='message_compressor_options_server', source=[ env.Idlc('message_compressor_options_server.idl')[0], ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'message_compressor', ], ) tlEnv.CppUnitTest( target='transport_test', source=[ 'message_compressor_manager_test.cpp', 'message_compressor_registry_test.cpp', 'transport_layer_asio_test.cpp', 'service_executor_test.cpp', 'max_conns_override_test.cpp', 'service_state_machine_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/dbmessage', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/rpc/protocol', '$BUILD_DIR/mongo/rpc/rpc', '$BUILD_DIR/mongo/unittest/unittest', '$BUILD_DIR/mongo/util/clock_source_mock', '$BUILD_DIR/mongo/util/net/socket', '$BUILD_DIR/third_party/shim_asio', 'message_compressor', 'message_compressor_options_server', 'service_entry_point', 'service_executor', 'transport_layer', 'transport_layer_common', 'transport_layer_mock', ], ) tlEnv.CppIntegrationTest( target='transport_integration_test', source=[ 'transport_layer_asio_integration_test.cpp', ], LIBDEPS=[ 'transport_layer_egress_init', '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/client/async_client', '$BUILD_DIR/mongo/executor/task_executor_interface', '$BUILD_DIR/mongo/util/net/network', '$BUILD_DIR/mongo/util/version_impl', '$BUILD_DIR/third_party/shim_asio', ], )