# -*- mode: python; -*- Import('env') Import("get_option") Import('http_client') Import('ssl_provider') env = env.Clone() env.Library( target='network', source=[ "cidr.cpp", "hostandport.cpp", "hostname_canonicalization.cpp", "sockaddr.cpp", "socket_exception.cpp", "socket_utils.cpp", env.Idlc('hostandport.idl')[0], ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/util/concurrency/spin_lock', '$BUILD_DIR/mongo/util/winutil', ], ) env.Library( target='ssl_options', source=[ "ssl_options.cpp", ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/util/options_parser/options_parser', ] ) env.Library( target='ssl_options_client', source=[ 'ssl_options_client.cpp', env.Idlc('ssl_options_client.idl')[0], ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'ssl_options', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/util/options_parser/options_parser', ] ) env.Library( target='ssl_options_server', source=[ 'ssl_options_server.cpp', env.Idlc('ssl_options_server.idl')[0], ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'ssl_options', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/util/options_parser/options_parser', ] ) env.Library( target='socket', source=[ "private/socket_poll.cpp", "sock.cpp", ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/util/fail_point', 'network', ] ) env.Library( target='ssl_types', source=[ "ssl_types.cpp", ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/transport/transport_layer_common', 'ssl_options', ] ) if not get_option('ssl') == 'off': env.Library( target='ssl_manager', source=[ "private/ssl_expiration.cpp", "ssl_manager.cpp", "ssl_parameters.cpp", "ssl_manager_%s.cpp" % (ssl_provider), "ssl_stream.cpp", env.Idlc('ssl_parameters.idl')[0], ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/auth/auth', '$BUILD_DIR/third_party/shim_asio', 'network', 'socket', 'ssl_options', 'ssl_types', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base/secure_allocator', '$BUILD_DIR/mongo/client/authentication', '$BUILD_DIR/mongo/crypto/sha_block_${MONGO_CRYPTO}', '$BUILD_DIR/mongo/db/commands/server_status', '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/idl/server_parameter', '$BUILD_DIR/mongo/util/background_job', '$BUILD_DIR/mongo/util/icu', '$BUILD_DIR/mongo/util/winutil', ], ) else: env.Library( target='ssl_manager', source=[ "ssl_manager_none.cpp", ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'ssl_options', ], ) if http_client == "off": env.Library( target='http_client', source=[ 'http_client_none.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], ) else: env.Library( target='http_client', source=[ 'http_client_winhttp.cpp' if env.TargetOSIs('windows') else 'http_client_curl.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], SYSLIBDEPS=[ 'winhttp' if env.TargetOSIs('windows') else 'curl', ], ) env.CppUnitTest( target='network_test', source=[ 'cidr_test.cpp', 'hostandport_test.cpp', ], LIBDEPS=[ 'network', ], ) if get_option('ssl') == 'on': env.CppUnitTest( target='ssl_manager_test', source=[ 'ssl_manager_test.cpp', 'ssl_options_test.cpp', 'sock_test.cpp', ], LIBDEPS=[ 'network', 'socket', 'ssl_manager', 'ssl_options_server', '$BUILD_DIR/mongo/db/server_options_servers', '$BUILD_DIR/mongo/util/cmdline_utils/cmdline_utils', '$BUILD_DIR/mongo/util/fail_point', ], )