diff --git a/WORKSPACE.bazel b/WORKSPACE.bazel index ae065a8fff1..7857aa0ebd7 100644 --- a/WORKSPACE.bazel +++ b/WORKSPACE.bazel @@ -4,16 +4,16 @@ load("//bazel/toolchains:mongo_toolchain.bzl", "toolchain_download") http_archive( name = "bazel_clang_tidy", - sha256 = "7845416626a6d715a314aa28d716274fe66f3e7169ae700a3d01ed8064a7d752", - strip_prefix = "bazel_clang_tidy-f3614c7d33235257e9f8e53591364c139344caf2", + sha256 = "2d4a9c91fe6694205c0de0990ef4b276ef4346dc441ee4046faff1947d97a29f", + strip_prefix = "bazel_clang_tidy-1.4", urls = [ # Implements retry by relisting each url multiple times to be used as a failover. # TODO(SERVER-86719): Re-implement http_archive to allow sleeping between retries - "https://github.com/mongodb-forks/bazel_clang_tidy/archive/f3614c7d33235257e9f8e53591364c139344caf2.tar.gz", - "https://github.com/mongodb-forks/bazel_clang_tidy/archive/f3614c7d33235257e9f8e53591364c139344caf2.tar.gz", - "https://github.com/mongodb-forks/bazel_clang_tidy/archive/f3614c7d33235257e9f8e53591364c139344caf2.tar.gz", - "https://github.com/mongodb-forks/bazel_clang_tidy/archive/f3614c7d33235257e9f8e53591364c139344caf2.tar.gz", - "https://github.com/mongodb-forks/bazel_clang_tidy/archive/f3614c7d33235257e9f8e53591364c139344caf2.tar.gz", + "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.4.tar.gz", + "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.4.tar.gz", + "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.4.tar.gz", + "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.4.tar.gz", + "https://github.com/mongodb-forks/bazel_clang_tidy/archive/refs/tags/v1.4.tar.gz", ], ) diff --git a/src/mongo/client/BUILD.bazel b/src/mongo/client/BUILD.bazel index 2a052f6e806..d1fdbecc189 100644 --- a/src/mongo/client/BUILD.bazel +++ b/src/mongo/client/BUILD.bazel @@ -9,44 +9,6 @@ exports_files( ]), ) -# Contains only the core ConnectionString functionality, *not* the ability to -# call connect() and return a DBClientBase* back. For that you need to link -# against the 'clientdriver_network' library. -mongo_cc_library( - name = "connection_string", - srcs = [ - "connection_string.cpp", - "mongo_uri.cpp", - "//src/mongo/db/auth:sasl_command_constants.h", - "//src/mongo/util:dns_name.h", - ], - hdrs = [ - "connection_string.h", - "mongo_uri.h", - ], - deps = [ - "//src/mongo/util:dns_query", - "//src/mongo/util/net:network", - "//src/mongo/util/options_parser", # TODO(SERVER-98376): Remove. - ], -) - -mongo_cc_library( - name = "internal_auth", - srcs = [ - "internal_auth.cpp", - ], - hdrs = [ - "internal_auth.h", - ], - deps = [ - ":connection_string", - "//src/mongo/bson/util:bson_extract", - "//src/mongo/db/auth", - "//src/mongo/util:md5", - ], -) - idl_generator( name = "sasl_aws_protocol_common_gen", src = "sasl_aws_protocol_common.idl", diff --git a/src/mongo/client/SConscript b/src/mongo/client/SConscript index 5fc3f772d7d..fd90fd0cf93 100644 --- a/src/mongo/client/SConscript +++ b/src/mongo/client/SConscript @@ -17,6 +17,23 @@ def shouldBuildGRPC(myEnv): return myEnv.TargetOSIs("linux") and myEnv["ENABLE_GRPC_BUILD"] +# Contains only the core ConnectionString functionality, *not* the ability to call connect() and +# return a DBClientBase* back. For that you need to link against the 'clientdriver_network' library. +env.Library( + target="connection_string", + source=[ + "connection_string.cpp", + "mongo_uri.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/util/net/network", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/util/dns_query", + "$BUILD_DIR/mongo/util/options_parser/options_parser", + ], +) + # Client-side SASL source necessary for native client SASL session. # Includes base types and OIDC, PLAIN, SCRAM, and AWS (only if TLS configured) # client mechs. @@ -112,6 +129,21 @@ env.Library( ], ) +env.Library( + target="internal_auth", + source=[ + "internal_auth.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/bson/util/bson_extract", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/auth/auth", + "$BUILD_DIR/mongo/util/md5", + "connection_string", + ], +) + clientDriverEnv = env.Clone() clientDriverEnv.InjectThirdParty("asio") if shouldBuildGRPC(env): diff --git a/src/mongo/crypto/BUILD.bazel b/src/mongo/crypto/BUILD.bazel index c904cb4d227..d90cd617413 100644 --- a/src/mongo/crypto/BUILD.bazel +++ b/src/mongo/crypto/BUILD.bazel @@ -9,30 +9,6 @@ exports_files( ]), ) -mongo_cc_library( - name = "aead_encryption", - srcs = [ - "aead_encryption.cpp", - ], - hdrs = [ - "aead_encryption.h", - ], - deps = [ - ":fle_fields", - ":symmetric_crypto", # TODO(SERVER-98376): Remove. - ] + select({ - "//bazel/config:mongo_crypto_{}".format(mongo_crypto): [ - ":sha_block_{}".format(mongo_crypto), - ] - for mongo_crypto in [ - "apple", - "openssl", - "tom", - "windows", - ] - }), -) - idl_generator( name = "encryption_fields_gen", src = "encryption_fields.idl", @@ -41,87 +17,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "encrypted_field_config", - srcs = [ - "encryption_fields_gen", - "encryption_fields_validation.cpp", - "fle_numeric.cpp", - ], - hdrs = [ - "encryption_fields_validation.h", - "fle_numeric.h", - ], - deps = [ - "//src/mongo/db:common", # TODO(SERVER-98376): Remove. - "//src/mongo/db:server_base", # TODO(SERVER-98376): Remove. - "//src/mongo/db:server_feature_flags", - "//src/mongo/db/pipeline:value_idl", - ], -) - -mongo_cc_library( - name = "fle_fields", - srcs = [ - "fle_field_schema_gen", - "fle_fields_util.cpp", - ], - hdrs = [ - "fle_fields_util.h", - ], - deps = [ - ":encrypted_field_config", - "//src/mongo/db:server_base", # TODO(SERVER-98376): Remove. - ], -) - -mongo_cc_library( - name = "fle_crypto", - srcs = [ - "encryption_fields_util.cpp", - "fle_crypto.cpp", - "fle_options_gen", - "fle_stats.cpp", - "fle_stats_gen", - "fle_tags.cpp", - "fle_tokens_gen", - ], - hdrs = [ - "encryption_fields_util.h", - "fle_crypto.h", - "fle_stats.h", - "fle_tags.h", - ], - deps = [ - # TODO(SERVER-98376): Remove many of these. - "//src/mongo/base:secure_allocator", - "//src/mongo/bson/util:bson_extract", - "//src/mongo/db/commands:server_status_core", - "//src/mongo/db/exec/document_value", - "//src/mongo/db/query:query_knobs", - "//src/mongo/db:common", - "//src/mongo/db:server_base", - "//src/mongo/db:server_feature_flags", - "//src/mongo/idl:cluster_server_parameter", - "//src/mongo/shell:kms_idl", - "//src/mongo/util:testing_options", - "//src/third_party/libmongocrypt:mongocrypt", - ":aead_encryption", - ":encrypted_field_config", - ":fle_fields", - ] + select({ - "//bazel/config:mongo_crypto_{}".format(mongo_crypto): [ - ":sha_block_{}".format(mongo_crypto), - ] - for mongo_crypto in [ - "apple", - "openssl", - "tom", - "windows", - ] - }), -) - idl_generator( name = "fle_options_gen", src = "fle_options.idl", diff --git a/src/mongo/crypto/SConscript b/src/mongo/crypto/SConscript index 0f4e283943b..4cb4ca44d8c 100644 --- a/src/mongo/crypto/SConscript +++ b/src/mongo/crypto/SConscript @@ -10,6 +10,96 @@ Import( env = env.Clone() +cryptoEnv = env.Clone() + +if "tom" in env["MONGO_CRYPTO"]: + cryptoEnv.InjectThirdParty(libraries=["tomcrypt"]) + cryptoEnv.Append( + CPPDEFINES=[ + "LTC_NO_PROTOTYPES", + ] + ) + +env.Library( + target="aead_encryption", + source=[ + "aead_encryption.cpp", + ], + LIBDEPS=[ + "fle_fields", + "sha_block_${MONGO_CRYPTO}", + "symmetric_crypto", + ], +) + +env.Library( + target="encrypted_field_config", + source=[ + "encryption_fields_gen.cpp", + "encryption_fields_validation.cpp", + "fle_numeric.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/db/pipeline/value_idl", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/common", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/server_feature_flags", + ], +) + +fleCryptoEnv = env.Clone() +fleCryptoEnv.InjectThirdParty(libraries=["libmongocrypt"]) +fleCryptoEnv.InjectThirdParty(libraries=["bson"]) + +fleCryptoEnv.Library( + target="fle_crypto", + source=[ + "encryption_fields_util.cpp", + "fle_crypto.cpp", + "fle_options_gen.cpp", + "fle_stats.cpp", + "fle_stats_gen.cpp", + "fle_tags.cpp", + "fle_tokens_gen.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base/secure_allocator", + "$BUILD_DIR/mongo/db/common", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/bson/util/bson_extract", + "$BUILD_DIR/mongo/db/commands/server_status_core", + "$BUILD_DIR/mongo/db/exec/document_value/document_value", + "$BUILD_DIR/mongo/db/query/query_knobs", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/server_feature_flags", + "$BUILD_DIR/mongo/idl/cluster_server_parameter", + "$BUILD_DIR/mongo/shell/kms_idl", + "$BUILD_DIR/mongo/util/testing_options", + "$BUILD_DIR/third_party/libmongocrypt/mongocrypt", + "aead_encryption", + "encrypted_field_config", + "fle_fields", + "sha_block_${MONGO_CRYPTO}", + ], +) + +env.Library( + target="fle_fields", + source=[ + "fle_field_schema_gen.cpp", + "fle_fields_util.cpp", + ], + LIBDEPS=[ + "encrypted_field_config", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/server_base", + ], +) + env.CppUnitTest( target="crypto_test", source=[ diff --git a/src/mongo/db/BUILD.bazel b/src/mongo/db/BUILD.bazel index 2d23f2e5aa2..e6a95d09e35 100644 --- a/src/mongo/db/BUILD.bazel +++ b/src/mongo/db/BUILD.bazel @@ -153,50 +153,11 @@ idl_generator( src = "server_options_helpers.idl", ) -mongo_cc_library( - name = "server_options", - srcs = [ - "server_options_helpers.cpp", - "server_options_helpers_gen", - ], - hdrs = [ - "server_options_helpers.h", - ], - deps = [ - ":server_base", - "//src/mongo/util:fail_point", # TODO(SERVER-98376): Remove. - "//src/mongo/util/cmdline_utils", - ], -) - idl_generator( name = "windows_options_gen", src = "windows_options.idl", ) -mongo_cc_library( - name = "server_options_base", - srcs = [ - "cluster_auth_mode_option_gen", - "keyfile_option_gen", - "mongod_options_general.h", - "server_options_base.cpp", - "server_options_base_gen", - "server_options_general_gen", - "server_options_nongeneral_gen", - "server_options_upgrade_downgrade_gen", - ], - hdrs = [ - "server_options_base.h", - ], - deps = [ - ":connection_health_metrics_parameter", # TODO(SERVER-98376): Remove. - ":server_base", - "//src/mongo/db/auth:cluster_auth_mode", - "//src/mongo/util/options_parser", - ], -) - idl_generator( name = "cluster_auth_mode_option_gen", src = "cluster_auth_mode_option.idl", @@ -237,17 +198,6 @@ idl_generator( src = "connection_health_metrics_parameter.idl", ) -mongo_cc_library( - name = "connection_health_metrics_parameter", - srcs = [ - "connection_health_metrics_parameter_gen", - ], - deps = [ - ":server_base", - "//src/mongo/util/options_parser", # TODO(SERVER-98376): Remove. - ], -) - idl_generator( name = "keypattern_gen", src = "keypattern.idl", @@ -444,19 +394,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "coll_mod_command_idl", - srcs = [ - "coll_mod_gen", - ], - deps = [ - ":server_base", - "//src/mongo/db/auth:authprivilege", - "//src/mongo/db/catalog:collection_options", - "//src/mongo/db/timeseries:timeseries_options", # TODO(SERVER-98376): Remove. - ], -) - idl_generator( name = "dbcommands_gen", src = "dbcommands.idl", @@ -560,18 +497,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "resumable_index_builds_idl", - srcs = [ - "resumable_index_builds_gen", - ], - deps = [ - "//src/mongo:base", - "//src/mongo/db/sorter:sorter_base", - "//src/mongo/idl:idl_parser", - ], -) - idl_generator( name = "cloner_gen", src = "cloner.idl", @@ -587,23 +512,6 @@ idl_generator( src = "ttl.idl", ) -mongo_cc_library( - name = "record_id_helpers", - srcs = [ - "record_id_helpers.cpp", - ], - hdrs = [ - "record_id_helpers.h", - ], - deps = [ - ":server_base", - "//src/mongo/bson:bson_validate", - "//src/mongo/db/catalog:collection_options", - "//src/mongo/db/query/collation:collator_interface", # TODO(SERVER-98376): Remove. - "//src/mongo/db/storage:key_string", # TODO(SERVER-98376): Remove. - ], -) - idl_generator( name = "create_indexes_gen", src = "create_indexes.idl", diff --git a/src/mongo/db/SConscript b/src/mongo/db/SConscript index 5ce0eff75ea..0bdd561b0eb 100644 --- a/src/mongo/db/SConscript +++ b/src/mongo/db/SConscript @@ -160,6 +160,21 @@ env.Library( ], ) +env.Library( + target="server_options", + source=[ + "server_options_helpers.cpp", + "server_options_helpers_gen.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/util/cmdline_utils/cmdline_utils", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/util/fail_point", + "server_base", + ], +) + if env.TargetOSIs("windows"): env.Library( target="windows_options", @@ -171,6 +186,25 @@ if env.TargetOSIs("windows"): ], ) +env.Library( + target="server_options_base", + source=[ + "server_options_base.cpp", + "cluster_auth_mode_option_gen.cpp", + "keyfile_option_gen.cpp", + "server_options_base_gen.cpp", + "server_options_general_gen.cpp", + "server_options_nongeneral_gen.cpp", + "server_options_upgrade_downgrade_gen.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/util/options_parser/options_parser", + "auth/cluster_auth_mode", + "connection_health_metrics_parameter", + "server_base", + ], +) + env.Clone().InjectModule("enterprise").Library( target="server_options_servers", source=[ @@ -218,6 +252,17 @@ env.Library( ], ) +env.Library( + target="connection_health_metrics_parameter", + source=[ + "connection_health_metrics_parameter_gen.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/util/options_parser/options_parser", + "server_base", + ], +) + env.Library( target="mongod_options", source=[ @@ -523,6 +568,21 @@ env.CppUnitTest( ], ) +env.Library( + target="coll_mod_command_idl", + source=[ + "coll_mod_gen.cpp", + ], + LIBDEPS=[ + "catalog/collection_options", + ], + LIBDEPS_PRIVATE=[ + "auth/authprivilege", + "server_base", + "timeseries/timeseries_options", + ], +) + env.Library( target="dbcommands_idl", source=[ @@ -905,6 +965,20 @@ env.Library( ], ) +env.Library( + target="resumable_index_builds_idl", + source=[ + "resumable_index_builds_gen.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/idl/idl_parser", + ], + LIBDEPS_PRIVATE=[ + "sorter/sorter_base", + ], +) + env.Library( target="index_builds_coordinator_mongod", source=[ @@ -1133,6 +1207,20 @@ env.Library( ], ) +env.Library( + target="record_id_helpers", + source=[ + "record_id_helpers.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/bson/bson_validate", + "catalog/collection_options", + "query/collation/collator_interface", + "server_base", + "storage/key_string", + ], +) + env.Library( target="shard_filterer", source=[ diff --git a/src/mongo/db/admission/BUILD.bazel b/src/mongo/db/admission/BUILD.bazel index 7d634e8bdfd..1abb364557b 100644 --- a/src/mongo/db/admission/BUILD.bazel +++ b/src/mongo/db/admission/BUILD.bazel @@ -82,10 +82,6 @@ mongo_cc_library( header_deps = [ "//src/mongo/db/pipeline/process_interface:mongo_process_interface", ], - deps = [ - "//src/mongo:base", - "//src/mongo/db:server_base", - ], ) mongo_cc_library( diff --git a/src/mongo/db/auth/BUILD.bazel b/src/mongo/db/auth/BUILD.bazel index 8c917c919da..46af9184e0e 100644 --- a/src/mongo/db/auth/BUILD.bazel +++ b/src/mongo/db/auth/BUILD.bazel @@ -104,19 +104,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "sasl_options_init", - srcs = [ - "sasl_options_gen", - "sasl_options_init.cpp", - ], - deps = [ - ":sasl_options", - "//src/mongo/util/net:network", - "//src/mongo/util/options_parser", - ], -) - idl_generator( name = "authorization_manager_impl_parameters_gen", src = "authorization_manager_impl_parameters.idl", @@ -152,20 +139,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "security_file", - srcs = [ - "security_file.cpp", - ], - hdrs = [ - "security_file.h", - ], - deps = [ - "//src/mongo:base", - "//src/third_party/yaml-cpp:yaml", - ], -) - idl_generator( name = "sasl_options_gen", src = "sasl_options.idl", @@ -324,28 +297,6 @@ mongo_cc_library( ], ) -mongo_cc_library( - name = "auth_umc", - srcs = [ - "impersonation_session.cpp", - "user_management_commands_parser.cpp", - ], - hdrs = [ - "impersonation_session.h", - "user_management_commands_parser.h", - ], - deps = [ - ":address_restriction", # TODO(SERVER-98376): Remove. - ":auth", - ":authprivilege", - "//src/mongo/bson/mutable:mutable_bson", # TODO(SERVER-98376): Remove. - "//src/mongo/bson/util:bson_extract", # TODO(SERVER-98376): Remove. - "//src/mongo/db:common", # TODO(SERVER-98376): Remove. - "//src/mongo/db:server_base", - "//src/mongo/rpc:metadata_impersonated_user", - ], -) - mongo_cc_library( name = "builtin_roles", srcs = [ @@ -456,66 +407,3 @@ mongo_cc_library( "//src/mongo/bson/util:bson_extract", ], ) - -mongo_cc_library( - name = "saslauth", - srcs = [ - "sasl_mechanism_registry.cpp", - "sasl_plain_server_conversation.cpp", - "sasl_scram_server_conversation.cpp", - "//src/mongo/crypto:mechanism_scram.h", - ], - hdrs = [ - "authentication_metrics.h", - "sasl_command_constants.h", - "sasl_mechanism_policies.h", - "sasl_mechanism_registry.h", - "sasl_plain_server_conversation.h", - "sasl_scram_server_conversation.h", - ], - deps = [ - ":auth", - ":authprivilege", # TODO(SERVER-98376): Remove. - ":cluster_auth_mode", # TODO(SERVER-98376): Remove. - ":sasl_options", # TODO(SERVER-98376): Remove. - ":user", - "//src/mongo/base:secure_allocator", - "//src/mongo/db:connection_health_metrics_parameter", - "//src/mongo/db:server_base", - "//src/mongo/db:service_context", # TODO(SERVER-98376): Remove. - "//src/mongo/db/commands:test_commands_enabled", # TODO(SERVER-98376): Remove. - "//src/mongo/util:icu", - "//src/mongo/util:md5", - "//src/mongo/util/net:network", # TODO(SERVER-98376): Remove. - ] + select({ - "//bazel/config:mongo_crypto_{}".format(mongo_crypto): [ - "//src/mongo/crypto:sha_block_{}".format(mongo_crypto), # TODO(SERVER-98376): Remove. - ] - for mongo_crypto in [ - "windows", - "apple", - "openssl", - "tom", - ] - } | { - "//conditions:default": [], - }), -) - -mongo_cc_library( - name = "authentication_session", - srcs = [ - "authentication_session.cpp", - ], - hdrs = [ - "authentication_session.h", - ], - deps = [ - ":auth", # TODO(SERVER-98376): Remove. - ":saslauth", - "//src/mongo/db:audit", - "//src/mongo/db:connection_health_metrics_parameter", # TODO(SERVER-98376): Remove. - "//src/mongo/db:service_context", - "//src/mongo/db/stats:counters", # TODO(SERVER-98376): Remove. - ], -) diff --git a/src/mongo/db/auth/SConscript b/src/mongo/db/auth/SConscript index e6268d7e3ae..4fa778ccb55 100644 --- a/src/mongo/db/auth/SConscript +++ b/src/mongo/db/auth/SConscript @@ -4,6 +4,23 @@ Import("env") env = env.Clone() +env.Library( + target="authentication_session", + source=[ + "authentication_session.cpp", + ], + LIBDEPS=[ + "auth", + "saslauth", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/audit", + "$BUILD_DIR/mongo/db/connection_health_metrics_parameter", + "$BUILD_DIR/mongo/db/service_context", + "$BUILD_DIR/mongo/db/stats/counters", + ], +) + env.Library( target="auth_impl_internal", source=[ @@ -146,6 +163,24 @@ env.Library( ], ) +env.Library( + target="auth_umc", + source=[ + "impersonation_session.cpp", + "user_management_commands_parser.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/bson/mutable/mutable_bson", + "$BUILD_DIR/mongo/bson/util/bson_extract", + "$BUILD_DIR/mongo/db/common", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/rpc/metadata_impersonated_user", + "address_restriction", + "auth", + "authprivilege", + ], +) + env.Library( target="authorization_manager_global", source=[ @@ -207,6 +242,63 @@ env.Library( ], ) +yamlEnv = env.Clone() +yamlEnv.InjectThirdParty(libraries=["yaml"]) +yamlEnv.Library( + target="security_file", + source=[ + "security_file.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/third_party/yaml-cpp/yaml", + ], +) + +env.Library( + target="sasl_options_init", + source=[ + "sasl_options_init.cpp", + "sasl_options_gen.cpp", + ], + LIBDEPS=[ + "sasl_options", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/util/net/network", + "$BUILD_DIR/mongo/util/options_parser/options_parser", + ], +) + +env.Library( + target="saslauth", + source=[ + "sasl_mechanism_registry.cpp", + "sasl_plain_server_conversation.cpp", + "sasl_scram_server_conversation.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base/secure_allocator", + "$BUILD_DIR/mongo/crypto/sha_block_${MONGO_CRYPTO}", + "$BUILD_DIR/mongo/db/commands/test_commands_enabled", + "$BUILD_DIR/mongo/util/icu", + "$BUILD_DIR/mongo/util/md5", + "$BUILD_DIR/mongo/util/net/network", + "auth", + "authprivilege", + "sasl_options", + "user", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/connection_health_metrics_parameter", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/service_context", + "cluster_auth_mode", + ], +) + env.Library( target="authmocks", source=[ diff --git a/src/mongo/db/catalog/BUILD.bazel b/src/mongo/db/catalog/BUILD.bazel index 9e77063e0a8..7582634cab1 100644 --- a/src/mongo/db/catalog/BUILD.bazel +++ b/src/mongo/db/catalog/BUILD.bazel @@ -43,35 +43,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "collection_options", - srcs = [ - "clustered_collection_options_gen", - "clustered_collection_util.cpp", - "collection_options.cpp", - "collection_options_gen", - "collection_options_validation.cpp", - "//src/mongo/db/commands:create_command_validation.h", - ], - hdrs = [ - "clustered_collection_util.h", - "collection_options.h", - "collection_options_validation.h", - ], - deps = [ - # TODO(SERVER-98376): Technically only requires `//src/mongo/db:common`. - "//src/mongo/crypto:encrypted_field_config", - "//src/mongo/db/pipeline:change_stream_pre_and_post_images_options", - "//src/mongo/db/query/query_shape", - "//src/mongo/db/commands:test_commands_enabled", - "//src/mongo/db:common", - "//src/mongo/db/query/collation:collator_interface", - "//src/mongo/db/query:query_knobs", - "//src/mongo/db:server_base", - "//src/mongo/db/timeseries:timeseries_options", - ], -) - idl_generator( name = "validate_gen", src = "validate.idl", @@ -139,23 +110,6 @@ mongo_cc_library( ], ) -mongo_cc_library( - name = "index_build_oplog_entry", - srcs = [ - "index_build_oplog_entry.cpp", - ], - hdrs = [ - "index_build_oplog_entry.h", - ], - deps = [ - ":commit_quorum_options", - "//src/mongo:base", - "//src/mongo/bson/util:bson_extract", - "//src/mongo/db/repl:oplog_entry", - "//src/mongo/rpc:command_status", # TODO(SERVER-98376): Remove. - ], -) - mongo_cc_library( name = "validate_idl", srcs = [ diff --git a/src/mongo/db/catalog/SConscript b/src/mongo/db/catalog/SConscript index 362e0b7ddfb..12ae799bb13 100644 --- a/src/mongo/db/catalog/SConscript +++ b/src/mongo/db/catalog/SConscript @@ -15,6 +15,30 @@ env.SConscript( ], ) +env.Library( + target="collection_options", + source=[ + "clustered_collection_options_gen.cpp", + "clustered_collection_util.cpp", + "collection_options.cpp", + "collection_options_gen.cpp", + "collection_options_validation.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/crypto/encrypted_field_config", + "$BUILD_DIR/mongo/db/pipeline/change_stream_pre_and_post_images_options", + "$BUILD_DIR/mongo/db/query/query_shape/query_shape", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/commands/test_commands_enabled", + "$BUILD_DIR/mongo/db/common", + "$BUILD_DIR/mongo/db/query/collation/collator_interface", + "$BUILD_DIR/mongo/db/query/query_knobs", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/timeseries/timeseries_options", + ], +) + env.Library( target="health_log", source=[ @@ -66,6 +90,20 @@ env.Library( ], ) +env.Library( + target="index_build_oplog_entry", + source=[ + "index_build_oplog_entry.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/bson/util/bson_extract", + "$BUILD_DIR/mongo/db/repl/oplog_entry", + "$BUILD_DIR/mongo/rpc/command_status", + "commit_quorum_options", + ], +) + env.Library( target="index_key_validate", source=[ diff --git a/src/mongo/db/commands/BUILD.bazel b/src/mongo/db/commands/BUILD.bazel index a55e4efe34d..c37ae0d331f 100644 --- a/src/mongo/db/commands/BUILD.bazel +++ b/src/mongo/db/commands/BUILD.bazel @@ -230,25 +230,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "create_command", - srcs = [ - "create_gen", - ], - hdrs = [ - "create_command_validation.h", - ], - deps = [ - "//src/mongo/crypto:encrypted_field_config", - "//src/mongo/db:server_base", - "//src/mongo/db:server_options", # TODO(SERVER-98376): Remove. - "//src/mongo/db/auth:authprivilege", - "//src/mongo/db/catalog:collection_options", - "//src/mongo/db/query:query_knobs", # TODO(SERVER-98376): Remove. - "//src/mongo/db/timeseries:timeseries_options", # TODO(SERVER-98376): Remove. - ], -) - idl_generator( name = "validate_db_metadata_gen", src = "validate_db_metadata.idl", diff --git a/src/mongo/db/commands/SConscript b/src/mongo/db/commands/SConscript index f8153b3bb7a..a70906b4267 100644 --- a/src/mongo/db/commands/SConscript +++ b/src/mongo/db/commands/SConscript @@ -239,6 +239,22 @@ env.Library( ], ) +env.Library( + target="create_command", + source=[ + "create_gen.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/crypto/encrypted_field_config", + "$BUILD_DIR/mongo/db/auth/authprivilege", + "$BUILD_DIR/mongo/db/catalog/collection_options", + "$BUILD_DIR/mongo/db/query/query_knobs", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/server_options", + "$BUILD_DIR/mongo/db/timeseries/timeseries_options", + ], +) + # Commands that are present in both mongod and embedded env.Library( target="standalone", diff --git a/src/mongo/db/exec/BUILD.bazel b/src/mongo/db/exec/BUILD.bazel index 66795ccf573..1ac792cc4a2 100644 --- a/src/mongo/db/exec/BUILD.bazel +++ b/src/mongo/db/exec/BUILD.bazel @@ -20,23 +20,6 @@ filegroup( ], ) -# WorkingSet target and associated test -mongo_cc_library( - name = "working_set", - srcs = [ - "working_set.cpp", - ], - hdrs = [ - "working_set.h", - ], - deps = [ - "//src/mongo:base", - "//src/mongo/db:service_context", # TODO(SERVER-98376): Remove. - "//src/mongo/db/exec/document_value", - "//src/mongo/db/query/bson:dotted_path_support", - ], -) - idl_generator( name = "batched_delete_stage_gen", src = "batched_delete_stage.idl", diff --git a/src/mongo/db/exec/SConscript b/src/mongo/db/exec/SConscript index ed824ca4b8b..a2a06684e2e 100644 --- a/src/mongo/db/exec/SConscript +++ b/src/mongo/db/exec/SConscript @@ -15,6 +15,20 @@ env.SConscript( ], ) +# WorkingSet target and associated test +env.Library( + target="working_set", + source=[ + "working_set.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/query/bson/dotted_path_support", + "$BUILD_DIR/mongo/db/service_context", + "document_value/document_value", + ], +) + env.Library( target="js_function", source=[ diff --git a/src/mongo/db/exec/document_value/BUILD.bazel b/src/mongo/db/exec/document_value/BUILD.bazel index 27ef8889de8..5ffe3e8fc2a 100644 --- a/src/mongo/db/exec/document_value/BUILD.bazel +++ b/src/mongo/db/exec/document_value/BUILD.bazel @@ -8,26 +8,3 @@ exports_files( "*.cpp", ]), ) - -mongo_cc_library( - name = "document_value", - srcs = [ - "document.cpp", - "document_comparator.cpp", - "document_metadata_fields.cpp", - "value.cpp", - "value_comparator.cpp", - ], - hdrs = [ - "document.h", - "document_comparator.h", - "document_metadata_fields.h", - "value.h", - "value_comparator.h", - ], - deps = [ - "//src/mongo:base", - "//src/mongo/db/pipeline:field_path", - "//src/mongo/db/query/datetime:date_time_support", # TODO(SERVER-98376): Remove. - ], -) diff --git a/src/mongo/db/exec/document_value/SConscript b/src/mongo/db/exec/document_value/SConscript index 6c4e209e503..98f585bb3c5 100644 --- a/src/mongo/db/exec/document_value/SConscript +++ b/src/mongo/db/exec/document_value/SConscript @@ -2,6 +2,22 @@ Import("env") +env.Library( + target="document_value", + source=[ + "document.cpp", + "document_comparator.cpp", + "document_metadata_fields.cpp", + "value.cpp", + "value_comparator.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/pipeline/field_path", + "$BUILD_DIR/mongo/db/query/datetime/date_time_support", + ], +) + env.Library( target="document_value_test_util", source=[ diff --git a/src/mongo/db/index/BUILD.bazel b/src/mongo/db/index/BUILD.bazel index e7dd8f7c5ea..6423f9e766c 100644 --- a/src/mongo/db/index/BUILD.bazel +++ b/src/mongo/db/index/BUILD.bazel @@ -39,26 +39,3 @@ idl_generator( "//src/mongo/db:basic_types_gen", ], ) - -mongo_cc_library( - name = "column_store_index", - srcs = [ - "column_cell.cpp", - "column_store_sorter.cpp", - ], - hdrs = [ - "column_cell.h", - "column_key_generator.h", - "column_store_sorter.h", - ], - deps = [ - "//src/mongo:base", - "//src/mongo/db:server_base", - "//src/mongo/db/sorter:sorter_base", - "//src/mongo/db/sorter:sorter_stats", # TODO(SERVER-98376): Remove. - "//src/mongo/db/storage:encryption_hooks", - "//src/mongo/db/storage:execution_context", - "//src/mongo/db/storage:storage_options", # TODO(SERVER-98376): Remove. - "//src/third_party/snappy", - ], -) diff --git a/src/mongo/db/index/SConscript b/src/mongo/db/index/SConscript index d572e2a4d50..f74286bff59 100644 --- a/src/mongo/db/index/SConscript +++ b/src/mongo/db/index/SConscript @@ -82,6 +82,23 @@ iamEnv.Library( ], ) +iamEnv.Library( + target="column_store_index", + source=[ + "column_cell.cpp", + "column_store_sorter.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/sorter/sorter_base", + "$BUILD_DIR/mongo/db/sorter/sorter_stats", + "$BUILD_DIR/mongo/db/storage/encryption_hooks", + "$BUILD_DIR/mongo/db/storage/storage_options", + "$BUILD_DIR/third_party/snappy/snappy", + ], +) + indexTestEnv = env.Clone() indexTestEnv.InjectThirdParty(libraries=["snappy"]) indexTestEnv.CppUnitTest( diff --git a/src/mongo/db/pipeline/BUILD.bazel b/src/mongo/db/pipeline/BUILD.bazel index 9c0d7d60bc1..3eb2b5ab362 100644 --- a/src/mongo/db/pipeline/BUILD.bazel +++ b/src/mongo/db/pipeline/BUILD.bazel @@ -9,50 +9,6 @@ exports_files( ]), ) -mongo_cc_library( - name = "field_path", - srcs = [ - "field_path.cpp", - ], - hdrs = [ - "field_path.h", - ], - deps = [ - "//src/mongo:base", - "//src/mongo/db:server_base", - "//src/mongo/db:server_options", # TODO(SERVER-98376): Remove. - "//src/mongo/db/query:query_knobs", # TODO(SERVER-98376): Remove. - ], -) - -mongo_cc_library( - name = "dependencies", - srcs = [ - "dependencies.cpp", - ], - hdrs = [ - "dependencies.h", - ], - deps = [ - ":field_path", - "//src/mongo/db/exec/document_value", # TODO(SERVER-98376): Remove. - ], -) - -mongo_cc_library( - name = "document_path_support", - srcs = [ - "document_path_support.cpp", - ], - hdrs = [ - "document_path_support.h", - ], - deps = [ - "//src/mongo/db:common", - "//src/mongo/db/exec/document_value", # TODO(SERVER-98376): Remove. - ], -) - idl_generator( name = "change_stream_pre_and_post_images_options_gen", src = "change_stream_pre_and_post_images_options.idl", @@ -99,17 +55,6 @@ idl_generator( src = "value.idl", ) -mongo_cc_library( - name = "value_idl", - srcs = [ - "value_gen", - ], - deps = [ - "//src/mongo/db/exec/document_value", # TODO(SERVER-98376): Remove. - "//src/mongo/idl:idl_parser", - ], -) - idl_generator( name = "change_stream_preimage_gen", src = "change_stream_preimage.idl", diff --git a/src/mongo/db/pipeline/SConscript b/src/mongo/db/pipeline/SConscript index 8aa0c8ba709..c22f779ca8c 100644 --- a/src/mongo/db/pipeline/SConscript +++ b/src/mongo/db/pipeline/SConscript @@ -27,6 +27,19 @@ env.Library( ], ) +env.Library( + target="field_path", + source=[ + "field_path.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/query/query_knobs", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/server_options", + ], +) + env.Library( target="aggregation_request_helper", source=[ @@ -53,6 +66,17 @@ env.Library( ], ) +env.Library( + target="dependencies", + source=[ + "dependencies.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/db/exec/document_value/document_value", + "field_path", + ], +) + env.Library( target="accumulator", source=[ @@ -164,6 +188,17 @@ env.Library( ], ) +env.Library( + target="document_path_support", + source=[ + "document_path_support.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/db/common", + "$BUILD_DIR/mongo/db/exec/document_value/document_value", + ], +) + env.Library( target="abt_utils", source=[ @@ -517,6 +552,17 @@ env.Library( ], ) +env.Library( + target="value_idl", + source=[ + "value_gen.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/db/exec/document_value/document_value", + "$BUILD_DIR/mongo/idl/idl_parser", + ], +) + env.Library( target="change_stream_expired_pre_image_remover", source=[ diff --git a/src/mongo/db/query/query_shape/BUILD.bazel b/src/mongo/db/query/query_shape/BUILD.bazel index 36d786f8dc2..55f2564d0a6 100644 --- a/src/mongo/db/query/query_shape/BUILD.bazel +++ b/src/mongo/db/query/query_shape/BUILD.bazel @@ -9,57 +9,6 @@ exports_files( ]), ) -idl_generator( - name = "query_shape_gen", - src = "query_shape.idl", - deps = [ - "//src/mongo/db:basic_types_gen", - ], -) - -mongo_cc_library( - name = "query_shape_common", - srcs = [ - "query_shape_gen", - "serialization_options.cpp", - ], - hdrs = [ - "serialization_options.h", - ], - deps = [ - "//src/mongo:base", - "//src/mongo/db/exec/document_value", - "//src/mongo/db/pipeline:field_path", # TODO(SERVER-98376): Remove. - ], -) - -mongo_cc_library( - name = "query_shape", - srcs = [ - "query_shape.cpp", - "shape_helpers.cpp", - "//src/mongo/db/pipeline:aggregation_request_helper.h", - "//src/mongo/db/pipeline:plan_executor_pipeline.h", - "//src/mongo/db/pipeline:plan_explainer_pipeline.h", - "//src/mongo/db/query:count_request.h", - "//src/mongo/db/query:projection_ast_util.h", - ], - hdrs = [ - "agg_cmd_shape.h", - "cmd_with_let_shape.h", - "find_cmd_shape.h", - "query_shape.h", - "shape_helpers.h", - ], - deps = [ - ":query_shape_common", - "//src/mongo:base", - "//src/mongo/db:server_base", # TODO(SERVER-98376): Remove. - "//src/mongo/db/exec/document_value", # TODO(SERVER-98376): Remove. - "//src/mongo/db/pipeline:field_path", # TODO(SERVER-98376): Remove. - ], -) - idl_generator( name = "query_shape_hash_gen", src = "query_shape_hash.idl", @@ -68,6 +17,14 @@ idl_generator( ], ) +idl_generator( + name = "query_shape_gen", + src = "query_shape.idl", + deps = [ + "//src/mongo/db:basic_types_gen", + ], +) + idl_generator( name = "query_shape_test_gen", src = "query_shape_test.idl", diff --git a/src/mongo/db/query/query_shape/SConscript b/src/mongo/db/query/query_shape/SConscript index 1d593ab23e6..5dc4cc3f968 100644 --- a/src/mongo/db/query/query_shape/SConscript +++ b/src/mongo/db/query/query_shape/SConscript @@ -9,6 +9,34 @@ Import( env = env.Clone() +env.Library( + target="query_shape", + source=[ + "query_shape.cpp", + "shape_helpers.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/exec/document_value/document_value", + "$BUILD_DIR/mongo/db/pipeline/field_path", + "$BUILD_DIR/mongo/db/server_base", + "query_shape_common", + ], +) + +env.Library( + target="query_shape_common", + source=[ + "query_shape_gen.cpp", + "serialization_options.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/exec/document_value/document_value", + "$BUILD_DIR/mongo/db/pipeline/field_path", + ], +) + env.CppUnitTest( target="db_query_query_shape_test", source=[ diff --git a/src/mongo/db/repl/BUILD.bazel b/src/mongo/db/repl/BUILD.bazel index 64bfd267101..9f5baeabcb6 100644 --- a/src/mongo/db/repl/BUILD.bazel +++ b/src/mongo/db/repl/BUILD.bazel @@ -114,29 +114,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "oplog_entry", - srcs = [ - "oplog_entry.cpp", - "oplog_entry_gen", - "oplog_entry_serialization.cpp", - "//src/mongo/db:global_index.h", - ], - hdrs = [ - "oplog_entry.h", - "oplog_entry_serialization.h", - ], - deps = [ - ":optime", # TODO(SERVER-98376): Remove. - "//src/mongo/db:multitenancy", # TODO(SERVER-98376): Remove. - "//src/mongo/db:server_base", - "//src/mongo/db:server_feature_flags", # TODO(SERVER-98376): Remove. - "//src/mongo/db/auth:security_token_auth", # TODO(SERVER-98376): Remove. - "//src/mongo/db/catalog:collection_options", - "//src/mongo/db/exec/document_value", # TODO(SERVER-98376): Remove. - ], -) - idl_generator( name = "topology_coordinator_gen", src = "topology_coordinator.idl", @@ -188,26 +165,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "cloner_utils", - srcs = [ - "cloner_utils.cpp", - "database_cloner_common.cpp", - "database_cloner_gen", - ], - hdrs = [ - "cloner_utils.h", - "database_cloner_common.h", - ], - deps = [ - ":read_concern_args", # TODO(SERVER-98376): Remove. - "//src/mongo/db:multitenancy", # TODO(SERVER-98376): Remove. - "//src/mongo/db:server_base", - "//src/mongo/db:server_feature_flags", # TODO(SERVER-98376): Remove. - "//src/mongo/db/catalog:collection_options", - ], -) - idl_generator( name = "hello_gen", src = "hello.idl", @@ -276,19 +233,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "image_collection_entry", - srcs = [ - "image_collection_entry_gen", - ], - deps = [ - ":oplog_entry", - "//src/mongo:base", - "//src/mongo/db/session:logical_session_id", # TODO(SERVER-98376): Remove. - "//src/mongo/idl:idl_parser", - ], -) - idl_generator( name = "read_concern_gen", src = "read_concern.idl", @@ -384,27 +328,6 @@ mongo_cc_library( ], ) -mongo_cc_library( - name = "oplog_write_interface", - srcs = [ - "oplog_applier_batcher.h", - "oplog_writer.cpp", - "oplog_writer_batcher.cpp", - "//src/mongo/util/concurrency:thread_pool.h", - ], - hdrs = [ - "oplog_writer.h", - "oplog_writer_batcher.h", - ], - deps = [ - ":oplog_entry", - ":repl_coordinator_interface", - ":repl_server_parameters", # TODO(SERVER-98376): Remove. - "//src/mongo/db:server_base", # TODO(SERVER-98376): Remove. - "//src/mongo/db:service_context", - ], -) - idl_generator( name = "repl_set_config_params_gen", src = "repl_set_config_params.idl", @@ -418,22 +341,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "apply_ops_command_info", - srcs = [ - "apply_ops_command_info.cpp", - "apply_ops_gen", - "multiapplier.h", - ], - hdrs = [ - "apply_ops_command_info.h", - ], - deps = [ - ":oplog_entry", - "//src/mongo:base", - ], -) - idl_generator( name = "repl_set_config_gen", src = "repl_set_config.idl", @@ -978,24 +885,6 @@ mongo_cc_library( ], ) -mongo_cc_library( - name = "roll_back_local_operations", - srcs = [ - "roll_back_local_operations.cpp", - "//src/mongo/db/repl:oplog_interface.h", - "//src/mongo/db/transaction:transaction_history_iterator.h", - ], - hdrs = [ - "roll_back_local_operations.h", - ], - deps = [ - ":oplog_entry", - ":optime", # TODO(SERVER-98376): Remove. - "//src/mongo:base", - "//src/mongo/util:fail_point", # TODO(SERVER-98376): Remove. - ], -) - mongo_cc_library( name = "replication_consistency_markers_idl", srcs = [ diff --git a/src/mongo/db/repl/SConscript b/src/mongo/db/repl/SConscript index ce84ab95dba..6f8f9036f83 100644 --- a/src/mongo/db/repl/SConscript +++ b/src/mongo/db/repl/SConscript @@ -5,6 +5,18 @@ Import("wiredtiger") env = env.Clone() +env.Library( + target="apply_ops_command_info", + source=[ + "apply_ops_command_info.cpp", + "apply_ops_gen.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/base", + "oplog_entry", + ], +) + env.Library( target="change_stream_oplog_notification", source=[ @@ -427,6 +439,26 @@ env.Library( ], ) +env.Library( + target="oplog_entry", + source=[ + "oplog_entry.cpp", + "oplog_entry_serialization.cpp", + "oplog_entry_gen.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/db/auth/security_token_auth", + "$BUILD_DIR/mongo/db/catalog/collection_options", + "$BUILD_DIR/mongo/db/exec/document_value/document_value", + "optime", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/multitenancy", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/server_feature_flags", + ], +) + env.Benchmark( target="oplog_entry_bm", source=[ @@ -439,6 +471,21 @@ env.Benchmark( ], ) +env.Library( + target="oplog_write_interface", + source=[ + "oplog_writer_batcher.cpp", + "oplog_writer.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/service_context", + "oplog_entry", + "repl_coordinator_interface", + "repl_server_parameters", + ], +) + env.Library( target="oplog_write", source=["oplog_writer_impl.cpp"], @@ -994,6 +1041,22 @@ env.Library( ], ) +env.Library( + target="cloner_utils", + source=[ + "cloner_utils.cpp", + "database_cloner_common.cpp", + "database_cloner_gen.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/catalog/collection_options", + "$BUILD_DIR/mongo/db/multitenancy", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/server_feature_flags", + "read_concern_args", + ], +) + env.Library( target="initial_syncer", source=[ @@ -1040,6 +1103,19 @@ env.Library( ], ) +env.Library( + target="roll_back_local_operations", + source=[ + "roll_back_local_operations.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/util/fail_point", + "oplog_entry", + "optime", + ], +) + env.Library( target="hello_command", source=[ @@ -1831,6 +1907,19 @@ env.Library( ], ) +env.Library( + target="image_collection_entry", + source=[ + "image_collection_entry_gen.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/session/logical_session_id", + "$BUILD_DIR/mongo/idl/idl_parser", + "oplog_entry", + ], +) + env.Library( target="delayable_timeout_callback", source=[ diff --git a/src/mongo/db/s/BUILD.bazel b/src/mongo/db/s/BUILD.bazel index 916d43254e5..627dae40ecd 100644 --- a/src/mongo/db/s/BUILD.bazel +++ b/src/mongo/db/s/BUILD.bazel @@ -167,26 +167,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "forwardable_operation_metadata", - srcs = [ - "forwardable_operation_metadata.cpp", - "forwardable_operation_metadata_gen", - ], - hdrs = [ - "forwardable_operation_metadata.h", - ], - deps = [ - "//src/mongo/db:server_base", - "//src/mongo/db:write_block_bypass", - "//src/mongo/db/auth", - "//src/mongo/db/auth:security_token", - "//src/mongo/db/auth:security_token_auth", - "//src/mongo/rpc:metadata_impersonated_user", - "//src/mongo/util/concurrency:spin_lock", # TODO(SERVER-98376): Remove. - ], -) - idl_generator( name = "add_shard_cmd_gen", src = "add_shard_cmd.idl", diff --git a/src/mongo/db/s/SConscript b/src/mongo/db/s/SConscript index 731223a534d..b7d84886437 100644 --- a/src/mongo/db/s/SConscript +++ b/src/mongo/db/s/SConscript @@ -299,6 +299,23 @@ env.Library( ], ) +env.Library( + target="forwardable_operation_metadata", + source=[ + "forwardable_operation_metadata.cpp", + "forwardable_operation_metadata_gen.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/auth/auth", + "$BUILD_DIR/mongo/db/auth/security_token", + "$BUILD_DIR/mongo/db/auth/security_token_auth", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/write_block_bypass", + "$BUILD_DIR/mongo/rpc/metadata_impersonated_user", + "$BUILD_DIR/mongo/util/concurrency/spin_lock", + ], +) + env.Library( target="sharding_catalog_manager", source=[ diff --git a/src/mongo/db/sorter/BUILD.bazel b/src/mongo/db/sorter/BUILD.bazel index b3438417b82..37bdcbce54a 100644 --- a/src/mongo/db/sorter/BUILD.bazel +++ b/src/mongo/db/sorter/BUILD.bazel @@ -38,8 +38,6 @@ mongo_cc_library( "sorter_gen", ], hdrs = [ - "sorter.cpp", # Intentionally in hdrs. - "sorter.h", "sorter_checksum_calculator.h", ], deps = [ diff --git a/src/mongo/db/storage/BUILD.bazel b/src/mongo/db/storage/BUILD.bazel index 52c0d55c882..9b50e1b9a78 100644 --- a/src/mongo/db/storage/BUILD.bazel +++ b/src/mongo/db/storage/BUILD.bazel @@ -9,24 +9,6 @@ exports_files( ]), ) -mongo_cc_library( - name = "bson_collection_catalog_entry", - srcs = [ - "bson_collection_catalog_entry.cpp", - ], - hdrs = [ - "bson_collection_catalog_entry.h", - ], - deps = [ - "//src/mongo/db:common", - "//src/mongo/db:multitenancy", # TODO(SERVER-93876): Remove. - "//src/mongo/db:server_base", # TODO(SERVER-93876): Remove. - "//src/mongo/db:server_options", # TODO(SERVER-93876): Remove. - "//src/mongo/db:service_context", # TODO(SERVER-93876): Remove. - "//src/mongo/db/catalog:collection_options", - ], -) - mongo_cc_library( name = "recovery_unit_base", srcs = [ @@ -383,7 +365,6 @@ mongo_cc_library( ":storage_parameters_gen", ], hdrs = [ - "storage_engine_interface.h", "storage_options.h", ], deps = [ @@ -391,26 +372,6 @@ mongo_cc_library( ], ) -mongo_cc_library( - name = "durable_catalog", - srcs = [ - "durable_catalog.cpp", - "//src/mongo/db/catalog:import_options.h", - "//src/mongo/db/storage/kv:kv_engine.h", - ], - hdrs = [ - "durable_catalog.h", - ], - deps = [ - ":bson_collection_catalog_entry", - ":record_store_base", - ":storage_options", # TODO(SERVER-93876): Remove. - "//src/mongo/db:multitenancy", - "//src/mongo/db:server_base", - "//src/mongo/db/concurrency:lock_manager", - ], -) - mongo_cc_library( name = "storage_init_d", srcs = [ diff --git a/src/mongo/db/storage/SConscript b/src/mongo/db/storage/SConscript index 42ff4f3453c..aed622e5f9b 100644 --- a/src/mongo/db/storage/SConscript +++ b/src/mongo/db/storage/SConscript @@ -31,6 +31,23 @@ ksdecode = env.Program( ], ) +env.Library( + target="bson_collection_catalog_entry", + source=[ + "bson_collection_catalog_entry.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/db/catalog/collection_options", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/common", + "$BUILD_DIR/mongo/db/multitenancy", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/server_options", + "$BUILD_DIR/mongo/db/service_context", + ], +) + env.Library( target="oplog_cap_maintainer_thread", source=[ @@ -302,6 +319,23 @@ env.CppUnitTest( ], ) +env.Library( + target="durable_catalog", + source=[ + "durable_catalog.cpp", + ], + LIBDEPS=[ + "bson_collection_catalog_entry", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/concurrency/lock_manager", + "$BUILD_DIR/mongo/db/multitenancy", + "$BUILD_DIR/mongo/db/server_base", + "record_store_base", + "storage_options", + ], +) + env.Library( target="storage_util", source=[ diff --git a/src/mongo/db/timeseries/BUILD.bazel b/src/mongo/db/timeseries/BUILD.bazel index b668df99295..eca4dfcf94e 100644 --- a/src/mongo/db/timeseries/BUILD.bazel +++ b/src/mongo/db/timeseries/BUILD.bazel @@ -17,42 +17,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "timeseries_options", - srcs = [ - "timeseries_gen", - "timeseries_global_options.cpp", - "timeseries_options.cpp", - ], - hdrs = [ - "timeseries_global_options.h", - "timeseries_options.h", - ], - deps = [ - "//src/mongo/db:server_base", - "//src/mongo/db/query/query_shape", # TODO(SERVER-98376): Remove. - "//src/mongo/db/storage:storage_options", - "//src/mongo/util:processinfo", - ], -) - -mongo_cc_library( - name = "timeseries_extended_range", - srcs = [ - "timeseries_constants.h", - "timeseries_extended_range.cpp", - "//src/mongo/db/commands:create_command_validation.h", - ], - hdrs = [ - "timeseries_extended_range.h", - ], - deps = [ - ":timeseries_options", # TODO(SERVER-98376): Remove. - "//src/mongo:base", - "//src/mongo/db/catalog:index_catalog", - ], -) - mongo_cc_library( name = "timeseries_metadata", srcs = [ diff --git a/src/mongo/db/timeseries/SConscript b/src/mongo/db/timeseries/SConscript index dd2b8d01586..a1c50a5584b 100644 --- a/src/mongo/db/timeseries/SConscript +++ b/src/mongo/db/timeseries/SConscript @@ -14,6 +14,21 @@ env.SConscript( ], ) +env.Library( + target="timeseries_options", + source=[ + "timeseries_gen.cpp", + "timeseries_global_options.cpp", + "timeseries_options.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/query/query_shape/query_shape", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/storage/storage_options", + "$BUILD_DIR/mongo/util/processinfo", + ], +) + env.Library( target="catalog_helper", source=[ @@ -95,6 +110,18 @@ env.Library( ], ) +env.Library( + target="timeseries_extended_range", + source=[ + "timeseries_extended_range.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/catalog/index_catalog", + "timeseries_options", + ], +) + env.CppUnitTest( target="db_timeseries_test", source=[ diff --git a/src/mongo/db/transaction/BUILD.bazel b/src/mongo/db/transaction/BUILD.bazel index a3451d5968e..575af6e54ab 100644 --- a/src/mongo/db/transaction/BUILD.bazel +++ b/src/mongo/db/transaction/BUILD.bazel @@ -9,21 +9,6 @@ exports_files( ]), ) -mongo_cc_library( - name = "transaction_operations", - srcs = [ - "transaction_operations.cpp", - ], - hdrs = [ - "transaction_operations.h", - ], - deps = [ - "//src/mongo:base", - "//src/mongo/db/repl:oplog_entry", - "//src/mongo/util:fail_point", # TODO(SERVER-98376): Remove. - ], -) - idl_generator( name = "transaction_participant_gen", src = "transaction_participant.idl", diff --git a/src/mongo/db/transaction/SConscript b/src/mongo/db/transaction/SConscript index 3e29733b95e..ebf7b4d67ff 100644 --- a/src/mongo/db/transaction/SConscript +++ b/src/mongo/db/transaction/SConscript @@ -51,6 +51,18 @@ env.Library( ], ) +env.Library( + target="transaction_operations", + source=[ + "transaction_operations.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/repl/oplog_entry", + "$BUILD_DIR/mongo/util/fail_point", + ], +) + env.Library( target="transaction_api", source=[ diff --git a/src/mongo/db/update/BUILD.bazel b/src/mongo/db/update/BUILD.bazel index d2cccb98272..d91a41537e3 100644 --- a/src/mongo/db/update/BUILD.bazel +++ b/src/mongo/db/update/BUILD.bazel @@ -9,23 +9,6 @@ exports_files( ]), ) -mongo_cc_library( - name = "pattern_cmp", - srcs = [ - "pattern_cmp.cpp", - ], - hdrs = [ - "pattern_cmp.h", - ], - deps = [ - "//src/mongo:base", - "//src/mongo/bson/mutable:mutable_bson", - "//src/mongo/db:common", - "//src/mongo/db/exec/document_value", - "//src/mongo/db/query/bson:dotted_path_support", - ], -) - mongo_cc_library( name = "update_document_diff", srcs = [ diff --git a/src/mongo/db/update/SConscript b/src/mongo/db/update/SConscript index 3883c862951..2515a170a99 100644 --- a/src/mongo/db/update/SConscript +++ b/src/mongo/db/update/SConscript @@ -4,6 +4,22 @@ Import("env") env = env.Clone() +env.Library( + target="pattern_cmp", + source=[ + "pattern_cmp.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/bson/mutable/mutable_bson", + "$BUILD_DIR/mongo/db/common", + "$BUILD_DIR/mongo/db/exec/document_value/document_value", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/db/query/bson/dotted_path_support", + ], +) + env.Library( target="update_common", source=[ diff --git a/src/mongo/rpc/BUILD.bazel b/src/mongo/rpc/BUILD.bazel index 13ba08454a5..13c87357629 100644 --- a/src/mongo/rpc/BUILD.bazel +++ b/src/mongo/rpc/BUILD.bazel @@ -9,32 +9,6 @@ exports_files( ]), ) -mongo_cc_library( - name = "message", - srcs = [ - "message.cpp", - "op_msg.cpp", - ], - hdrs = [ - "message.h", - "op_msg.h", - ], - deps = [ - "//src/mongo/bson:bson_validate", # TODO(SERVER-98376): Remove. - "//src/mongo/bson/util:bson_extract", # TODO(SERVER-98376): Remove. - "//src/mongo/db:multitenancy", - "//src/mongo/db:server_base", - "//src/mongo/db:wire_version", # TODO(SERVER-98376): Remove. - "//src/mongo/db/auth:security_token_auth", - "//src/mongo/db/query/bson:dotted_path_support", - ] + select({ - "//bazel/config:use_wiredtiger_enabled": [ - "//src/third_party/wiredtiger:wiredtiger_checksum", - ], - "//conditions:default": [], - }), -) - idl_generator( name = "topology_version_gen", src = "topology_version.idl", @@ -43,23 +17,6 @@ idl_generator( ], ) -mongo_cc_library( - name = "metadata_impersonated_user", - srcs = [ - "//src/mongo/rpc/metadata:impersonated_user_metadata.cpp", - ], - hdrs = [ - "//src/mongo/rpc/metadata:impersonated_user_metadata.h", - ], - deps = [ - "//src/mongo:base", - "//src/mongo/db:server_base", # TODO(SERVER-98376): Remove. - "//src/mongo/db:server_options", # TODO(SERVER-98376): Remove. - "//src/mongo/db:service_context", # TODO(SERVER-98376): Remove. - "//src/mongo/db/auth", - ], -) - idl_generator( name = "write_concern_error_gen", src = "write_concern_error.idl", @@ -78,26 +35,6 @@ idl_generator( src = "rewrite_state_change_errors_server_parameter.idl", ) -mongo_cc_library( - name = "rewrite_state_change_errors", - srcs = [ - "rewrite_state_change_errors.cpp", - "rewrite_state_change_errors_server_parameter_gen", - ], - hdrs = [ - "rewrite_state_change_errors.h", - ], - deps = [ - ":message", # TODO(SERVER-98376): Remove. - "//src/mongo:base", # TODO(SERVER-98376): Remove. - "//src/mongo/bson/mutable:mutable_bson", - "//src/mongo/bson/util:bson_extract", # TODO(SERVER-98376): Remove. - "//src/mongo/db:server_base", - "//src/mongo/db:service_context", # TODO(SERVER-98376): Remove. - "//src/mongo/util:pcre_wrapper", - ], -) - mongo_cc_library( name = "command_status", srcs = [ diff --git a/src/mongo/rpc/SConscript b/src/mongo/rpc/SConscript index 0dcd399150e..9dd202e9bb5 100644 --- a/src/mongo/rpc/SConscript +++ b/src/mongo/rpc/SConscript @@ -6,6 +6,32 @@ Import("get_option") env = env.Clone() +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/bson_validate", + "$BUILD_DIR/mongo/bson/util/bson_extract", + "$BUILD_DIR/mongo/db/auth/security_token_auth", + "$BUILD_DIR/mongo/db/query/bson/dotted_path_support", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/third_party/wiredtiger/wiredtiger_checksum" if wiredtiger else [], + ], +) + env.Library( target="rpc", source=[ @@ -33,6 +59,23 @@ env.Library( ], ) +env.Library( + target="rewrite_state_change_errors", + source=[ + "rewrite_state_change_errors.cpp", + "rewrite_state_change_errors_server_parameter_gen.cpp", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/bson/mutable/mutable_bson", + "$BUILD_DIR/mongo/bson/util/bson_extract", + "$BUILD_DIR/mongo/db/server_base", + "$BUILD_DIR/mongo/db/service_context", + "$BUILD_DIR/mongo/util/pcre_wrapper", + "message", + ], +) + env.CppLibfuzzerTest( target="protocol_fuzzer", source=[ @@ -76,6 +119,24 @@ env.Library( ], ) +env.Library( + target=[ + "metadata_impersonated_user", + ], + source=[ + "metadata/impersonated_user_metadata.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/db/server_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=[ diff --git a/src/mongo/unittest/BUILD.bazel b/src/mongo/unittest/BUILD.bazel index 1ff745cc9d0..e96e2db64a6 100644 --- a/src/mongo/unittest/BUILD.bazel +++ b/src/mongo/unittest/BUILD.bazel @@ -9,21 +9,6 @@ exports_files( ]), ) -mongo_cc_library( - name = "golden_test_base", - srcs = [ - "golden_test_base.cpp", - ], - hdrs = [ - "golden_test_base.h", - "test_info.h", - ], - deps = [ - "//src/mongo:base", - "//src/third_party/yaml-cpp:yaml", - ], -) - idl_generator( name = "unittest_options_gen", src = "unittest_options.idl", diff --git a/src/mongo/unittest/SConscript b/src/mongo/unittest/SConscript index e78a44e6562..a03e65117cc 100644 --- a/src/mongo/unittest/SConscript +++ b/src/mongo/unittest/SConscript @@ -4,6 +4,18 @@ Import("env") env = env.Clone() env.InjectThirdParty(libraries=["yaml"]) +env.Library( + target="golden_test_base", + source=[ + "golden_test_base.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/third_party/yaml-cpp/yaml", + ], +) utEnv = env.Clone() utEnv.InjectThirdParty(libraries=["yaml"]) diff --git a/src/mongo/util/SConscript b/src/mongo/util/SConscript index fc21d27dfb8..d66cfdd8b30 100644 --- a/src/mongo/util/SConscript +++ b/src/mongo/util/SConscript @@ -84,6 +84,7 @@ if env.TargetOSIs("windows"): env.SConscript( must_exist=1, dirs=[ + "cmdline_utils", "concurrency", "cryptd", "immutable", diff --git a/src/mongo/util/cmdline_utils/BUILD.bazel b/src/mongo/util/cmdline_utils/BUILD.bazel index 4c3c103b8c5..5ffe3e8fc2a 100644 --- a/src/mongo/util/cmdline_utils/BUILD.bazel +++ b/src/mongo/util/cmdline_utils/BUILD.bazel @@ -8,17 +8,3 @@ exports_files( "*.cpp", ]), ) - -mongo_cc_library( - name = "cmdline_utils", - srcs = [ - "censor_cmdline.cpp", - ], - hdrs = [ - "censor_cmdline.h", - ], - deps = [ - "//src/mongo:base", # TODO(SERVER-98376): Remove. - "//src/mongo/util/options_parser", - ], -) diff --git a/src/mongo/util/cmdline_utils/SConscript b/src/mongo/util/cmdline_utils/SConscript new file mode 100644 index 00000000000..5197a1d40bf --- /dev/null +++ b/src/mongo/util/cmdline_utils/SConscript @@ -0,0 +1,16 @@ +# -*- mode: python -*- + +Import("env") + +env = env.Clone() + +env.Library( + target="cmdline_utils", + source=[ + "censor_cmdline.cpp", + ], + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/mongo/util/options_parser/options_parser", + ], +) diff --git a/src/mongo/util/options_parser/BUILD.bazel b/src/mongo/util/options_parser/BUILD.bazel index a8fe9117a90..5ffe3e8fc2a 100644 --- a/src/mongo/util/options_parser/BUILD.bazel +++ b/src/mongo/util/options_parser/BUILD.bazel @@ -1,5 +1,4 @@ load("//bazel:mongo_src_rules.bzl", "mongo_cc_library") -load("@bazel_skylib//lib:selects.bzl", "selects") package(default_visibility = ["//visibility:public"]) @@ -9,68 +8,3 @@ exports_files( "*.cpp", ]), ) - -# TODO BUILD-16566 -# This warning cause false positives with the v4 toolchain gcc on Ubuntu 2022 -# ARM64 platforms, in short term we will disable the warning until we can figure -# out what the underlying issue is. Once the toolchain is updated, the -# workaround below should be removed. -selects.config_setting_group( - name = "options_parser_needs_no_missing_indentation_flag", - match_all = [ - "@platforms//cpu:aarch64", - "//bazel/config:compiler_type_gcc", - ], -) - -mongo_cc_library( - name = "options_parser", - srcs = [ - "constraints.cpp", - "environment.cpp", - "option_description.cpp", - "option_section.cpp", - "options_parser.cpp", - "startup_option_init.cpp", - "startup_options.cpp", - "value.cpp", - ], - hdrs = [ - "constraints.h", - "environment.h", - "option_description.h", - "option_section.h", - "options_parser.h", - "startup_option_init.h", - "startup_options.h", - "value.h", - ], - copts = select({ - ":options_parser_needs_no_missing_indentation_flag": [ - "-Wno-misleading-indentation", - ], - "//conditions:default": [], - }), - deps = [ - "//src/mongo:base", - "//src/mongo/util/net:http_client", - "//src/mongo/util/net:network", - "//src/third_party/boost:boost_filesystem", # TODO(SERVER-98376): Remove. - "//src/third_party/boost:boost_iostreams", # TODO(SERVER-98376): Remove. - "//src/third_party/boost:boost_log", # TODO(SERVER-98376): Remove. - "//src/third_party/boost:boost_program_options", # TODO(SERVER-98376): Remove. - "//src/third_party/yaml-cpp:yaml", - ] + select({ - "//bazel/config:mongo_crypto_{}".format(mongo_crypto): [ - "//src/mongo/crypto:sha_block_{}".format(mongo_crypto), # TODO(SERVER-98376): Remove. - ] - for mongo_crypto in [ - "windows", - "apple", - "openssl", - "tom", - ] - } | { - "//conditions:default": [], - }), -) diff --git a/src/mongo/util/options_parser/SConscript b/src/mongo/util/options_parser/SConscript index 3cf297fa643..c45f5a16abe 100644 --- a/src/mongo/util/options_parser/SConscript +++ b/src/mongo/util/options_parser/SConscript @@ -4,6 +4,47 @@ Import("env") env = env.Clone() +optsEnv = env.Clone() +optsEnv.InjectThirdParty(libraries=["yaml"]) + +# TODO BUILD-16566 +# This warning cause false positives with the v4 toolchain gcc on Ubuntu 2022 ARM64 +# platforms, in short term we will disable the warning until we can figure out what the +# underlying issue is. Once the toolchain is updated, the workaround below should be removed. +if env.ToolchainIs("gcc") and env["TARGET_ARCH"] == "aarch64": + no_misleading_indentation_flag = ["-Wno-misleading-indentation"] +else: + no_misleading_indentation_flag = [] + +optsEnv.Library( + target="options_parser", + source=[ + "constraints.cpp", + "environment.cpp", + "option_description.cpp", + "option_section.cpp", + "options_parser.cpp", + "startup_option_init.cpp", + "startup_options.cpp", + "value.cpp", + ], + CCFLAGS=no_misleading_indentation_flag + optsEnv.get("CCFLAGS", []), + LIBDEPS=[ + "$BUILD_DIR/mongo/base", + "$BUILD_DIR/third_party/yaml-cpp/yaml", + ], + LIBDEPS_PRIVATE=[ + "$BUILD_DIR/mongo/crypto/sha_block_${MONGO_CRYPTO}", + "$BUILD_DIR/mongo/util/net/http_client", + "$BUILD_DIR/mongo/util/net/network", + "$BUILD_DIR/third_party/boost/boost_filesystem", + "$BUILD_DIR/third_party/boost/boost_iostreams", + "$BUILD_DIR/third_party/boost/boost_log", + "$BUILD_DIR/third_party/boost/boost_program_options", + "$BUILD_DIR/third_party/boost/boost_system", + ], +) + # This library contains the initializers to run option parsing. This is separated into its own # library because some code that is shared between many different binaries needs to link against the # options_parser library, but not all these binaries need to actually run the option parsing. diff --git a/src/third_party/yaml-cpp/BUILD.bazel b/src/third_party/yaml-cpp/BUILD.bazel index c219b13556a..86b508e7995 100644 --- a/src/third_party/yaml-cpp/BUILD.bazel +++ b/src/third_party/yaml-cpp/BUILD.bazel @@ -71,13 +71,13 @@ mongo_cc_library( ], "//conditions:default": [], }), - defines = select({ + includes = [ + "yaml-cpp/include", + ], + local_defines = select({ "//bazel/config:compiler_type_msvc": [ "_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING", ], "//conditions:default": [], }), - includes = [ - "yaml-cpp/include", - ], )