diff --git a/bazel/mongo_src_rules.bzl b/bazel/mongo_src_rules.bzl index 8eeab0c0a8b..113a8b45941 100644 --- a/bazel/mongo_src_rules.bzl +++ b/bazel/mongo_src_rules.bzl @@ -1208,11 +1208,13 @@ MONGO_GLOBAL_INCLUDE_DIRECTORIES = [ "-Isrc/third_party/SafeInt", "-I$(GENDIR)/src/mongo/db/modules/enterprise/src", "-Isrc/mongo/db/modules/enterprise/src", + "-Isrc/third_party/valgrind/include", ] MONGO_GLOBAL_ACCESSIBLE_HEADERS = [ "//src/third_party/immer:headers", "//src/third_party/SafeInt:headers", + "//src/third_party/valgrind/include/valgrind:valgrind.h", ] + SASL_WINDOWS_INCLUDE_FILES MONGO_GLOBAL_SRC_DEPS = [ diff --git a/src/mongo/db/storage/wiredtiger/BUILD.bazel b/src/mongo/db/storage/wiredtiger/BUILD.bazel index b13ef883ff6..77b4fbdf523 100644 --- a/src/mongo/db/storage/wiredtiger/BUILD.bazel +++ b/src/mongo/db/storage/wiredtiger/BUILD.bazel @@ -9,6 +9,11 @@ exports_files( ]), ) +WIREDTIGER_TARGET_COMPATIBLE_WITH = select({ + "//bazel/config:use_wiredtiger_enabled": [], + "//conditions:default": ["@platforms//:incompatible"], +}) + mongo_cc_library( name = "storage_wiredtiger_customization_hooks", srcs = [ @@ -19,6 +24,7 @@ mongo_cc_library( "wiredtiger_customization_hooks.h", "wiredtiger_extensions.h", ], + target_compatible_with = WIREDTIGER_TARGET_COMPATIBLE_WITH, deps = [ "//src/mongo:base", "//src/mongo/db:service_context", @@ -39,3 +45,144 @@ idl_generator( name = "wiredtiger_global_options_gen", src = "wiredtiger_global_options.idl", ) + +# This is the smallest possible set of files that wraps WT +mongo_cc_library( + name = "storage_wiredtiger_core", + srcs = [ + "oplog_truncate_marker_parameters_gen", + "oplog_truncate_markers_server_status_section.cpp", + "wiredtiger_begin_transaction_block.cpp", + "wiredtiger_compiled_configuration.cpp", + "wiredtiger_cursor.cpp", + "wiredtiger_cursor_helpers.cpp", + "wiredtiger_error_util.cpp", + "wiredtiger_event_handler.cpp", + "wiredtiger_global_options.cpp", + "wiredtiger_index.cpp", + "wiredtiger_index_util.cpp", + "wiredtiger_kv_engine.cpp", + "wiredtiger_oplog_data.cpp", + "wiredtiger_oplog_manager.cpp", + "wiredtiger_oplog_truncate_markers.cpp", + "wiredtiger_parameters.cpp", + "wiredtiger_parameters_gen", + "wiredtiger_prepare_conflict.cpp", + "wiredtiger_record_store.cpp", + "wiredtiger_recovery_unit.cpp", + "wiredtiger_session_cache.cpp", + "wiredtiger_size_storer.cpp", + "wiredtiger_snapshot_manager.cpp", + "wiredtiger_stats.cpp", + "wiredtiger_util.cpp", + ], + hdrs = [ + "wiredtiger_begin_transaction_block.h", + "wiredtiger_compiled_configuration.h", + "wiredtiger_cursor.h", + "wiredtiger_cursor_helpers.h", + "wiredtiger_error_util.h", + "wiredtiger_event_handler.h", + "wiredtiger_global_options.h", + "wiredtiger_index.h", + "wiredtiger_index_cursor_generic.h", + "wiredtiger_index_util.h", + "wiredtiger_kv_engine.h", + "wiredtiger_oplog_data.h", + "wiredtiger_oplog_manager.h", + "wiredtiger_oplog_truncate_markers.h", + "wiredtiger_prepare_conflict.h", + "wiredtiger_record_store.h", + "wiredtiger_recovery_unit.h", + "wiredtiger_session_cache.h", + "wiredtiger_session_data.h", + "wiredtiger_size_storer.h", + "wiredtiger_snapshot_manager.h", + "wiredtiger_stats.h", + "wiredtiger_util.h", + "//src/mongo/db/catalog:health_log.h", + "//src/mongo/db/concurrency:deferred_writer.h", + "//src/mongo/db/storage:journal_listener.h", + "//src/mongo/db/storage:snapshot_manager.h", + ], + target_compatible_with = WIREDTIGER_TARGET_COMPATIBLE_WITH, + deps = [ + "storage_wiredtiger_customization_hooks", + "//src/mongo/db:commands", + "//src/mongo/db:global_settings", + "//src/mongo/db:mongod_options", + "//src/mongo/db:prepare_conflict_tracker", + "//src/mongo/db:record_id_helpers", + "//src/mongo/db:server_base", + "//src/mongo/db:server_feature_flags", + "//src/mongo/db:service_context", + "//src/mongo/db:snapshot_window_options", + "//src/mongo/db/catalog:collection_catalog", + "//src/mongo/db/catalog:collection_options", + "//src/mongo/db/catalog:health_log_interface", + "//src/mongo/db/commands:server_status_core", + "//src/mongo/db/concurrency:exception_util", + "//src/mongo/db/query/bson:dotted_path_support", + "//src/mongo/db/repl:repl_settings", + "//src/mongo/db/stats:resource_consumption_metrics", + "//src/mongo/db/storage:backup_block", + "//src/mongo/db/storage:capped_snapshots", + "//src/mongo/db/storage:index_entry_comparison", + "//src/mongo/db/storage:record_store_base", + "//src/mongo/db/storage:recovery_unit_base", + "//src/mongo/db/storage:storage_file_util", + "//src/mongo/db/storage:storage_options", + "//src/mongo/db/storage:storage_repair_observer", + "//src/mongo/db/storage/key_string", + "//src/mongo/util:elapsed_tracker", + "//src/mongo/util:log_and_backoff", + "//src/mongo/util:processinfo", + "//src/third_party/snappy", + "//src/third_party/wiredtiger", + "//src/third_party/zlib", + ], +) + +mongo_cc_library( + name = "storage_wiredtiger", + srcs = [ + "wiredtiger_global_options_gen", + "wiredtiger_init.cpp", + "wiredtiger_options_init.cpp", + "wiredtiger_server_status.cpp", + ], + hdrs = [ + "wiredtiger_server_status.h", + ], + target_compatible_with = WIREDTIGER_TARGET_COMPATIBLE_WITH, + deps = [ + "storage_wiredtiger_core", + "storage_wiredtiger_customization_hooks", + "//src/mongo/db/commands:server_status_core", + "//src/mongo/db/storage:storage_engine_common", + "//src/mongo/db/storage:storage_engine_impl", + "//src/mongo/db/storage:storage_engine_lock_file", + "//src/mongo/db/storage:storage_engine_metadata", + "//src/mongo/db/storage:storage_options", + "//src/mongo/util/options_parser", + ], +) + +mongo_cc_library( + name = "storage_wiredtiger_import", + srcs = [ + "wiredtiger_import.cpp", + ], + hdrs = [ + "wiredtiger_import.h", + ], + target_compatible_with = WIREDTIGER_TARGET_COMPATIBLE_WITH, + deps = [ + "storage_wiredtiger_core", + "//src/mongo/db:shard_role", + "//src/mongo/db/catalog:catalog_helpers", + "//src/mongo/db/repl:oplog", + "//src/mongo/db/repl:tenant_migration_access_blocker", + "//src/mongo/db/storage:bson_collection_catalog_entry", + ], +) diff --git a/src/mongo/db/storage/wiredtiger/SConscript b/src/mongo/db/storage/wiredtiger/SConscript index 7e12d99a44e..9f893ed7bbc 100644 --- a/src/mongo/db/storage/wiredtiger/SConscript +++ b/src/mongo/db/storage/wiredtiger/SConscript @@ -12,105 +12,6 @@ wtEnv.InjectThirdParty(libraries=["wiredtiger"]) wtEnv.InjectThirdParty(libraries=["zlib"]) wtEnv.InjectThirdParty(libraries=["valgrind"]) -# This is the smallest possible set of files that wraps WT -wtEnv.Library( - target="storage_wiredtiger_core", - source=[ - "oplog_truncate_marker_parameters_gen.cpp", - "oplog_truncate_markers_server_status_section.cpp", - "wiredtiger_begin_transaction_block.cpp", - "wiredtiger_compiled_configuration.cpp", - "wiredtiger_cursor.cpp", - "wiredtiger_cursor_helpers.cpp", - "wiredtiger_event_handler.cpp", - "wiredtiger_error_util.cpp", - "wiredtiger_global_options.cpp", - "wiredtiger_index.cpp", - "wiredtiger_index_util.cpp", - "wiredtiger_kv_engine.cpp", - "wiredtiger_stats.cpp", - "wiredtiger_oplog_data.cpp", - "wiredtiger_oplog_manager.cpp", - "wiredtiger_oplog_truncate_markers.cpp", - "wiredtiger_parameters.cpp", - "wiredtiger_prepare_conflict.cpp", - "wiredtiger_record_store.cpp", - "wiredtiger_recovery_unit.cpp", - "wiredtiger_session_cache.cpp", - "wiredtiger_snapshot_manager.cpp", - "wiredtiger_size_storer.cpp", - "wiredtiger_util.cpp", - "wiredtiger_parameters_gen.cpp", - ], - LIBDEPS=[ - "$BUILD_DIR/mongo/db/catalog/collection_options", - "$BUILD_DIR/mongo/db/global_settings", - "$BUILD_DIR/mongo/db/prepare_conflict_tracker", - "$BUILD_DIR/mongo/db/record_id_helpers", - "$BUILD_DIR/mongo/db/repl/repl_settings", - "$BUILD_DIR/mongo/db/service_context", - "$BUILD_DIR/mongo/db/storage/index_entry_comparison", - "$BUILD_DIR/mongo/db/storage/key_string/key_string", - "$BUILD_DIR/mongo/db/storage/record_store_base", - "$BUILD_DIR/mongo/db/storage/recovery_unit_base", - "$BUILD_DIR/mongo/db/storage/storage_file_util", - "$BUILD_DIR/mongo/util/elapsed_tracker", - "$BUILD_DIR/mongo/util/processinfo", - "$BUILD_DIR/third_party/snappy/snappy", - "$BUILD_DIR/third_party/wiredtiger/wiredtiger", - "$BUILD_DIR/third_party/zlib/zlib", - "storage_wiredtiger_customization_hooks", - ], - LIBDEPS_PRIVATE=[ - "$BUILD_DIR/mongo/db/catalog/collection_catalog", - "$BUILD_DIR/mongo/db/catalog/health_log_interface", - "$BUILD_DIR/mongo/db/commands", - "$BUILD_DIR/mongo/db/commands/server_status_core", - "$BUILD_DIR/mongo/db/concurrency/exception_util", - "$BUILD_DIR/mongo/db/mongod_options", - "$BUILD_DIR/mongo/db/query/bson/dotted_path_support", - "$BUILD_DIR/mongo/db/server_base", - "$BUILD_DIR/mongo/db/server_feature_flags", - "$BUILD_DIR/mongo/db/snapshot_window_options", - "$BUILD_DIR/mongo/db/stats/resource_consumption_metrics", - "$BUILD_DIR/mongo/db/storage/backup_block", - "$BUILD_DIR/mongo/db/storage/capped_snapshots", - "$BUILD_DIR/mongo/db/storage/storage_options", - "$BUILD_DIR/mongo/db/storage/storage_repair_observer", - "$BUILD_DIR/mongo/util/log_and_backoff", - ], -) - -wtEnv.Library( - target="storage_wiredtiger", - source=[ - "wiredtiger_init.cpp", - "wiredtiger_options_init.cpp", - "wiredtiger_server_status.cpp", - "wiredtiger_global_options_gen.cpp", - ], - LIBDEPS=[ - "$BUILD_DIR/mongo/db/storage/storage_engine_impl", - "$BUILD_DIR/mongo/db/storage/storage_engine_lock_file", - "$BUILD_DIR/mongo/db/storage/storage_engine_metadata", - "storage_wiredtiger_core", - "storage_wiredtiger_customization_hooks", - ], - LIBDEPS_PRIVATE=[ - "$BUILD_DIR/mongo/db/commands/server_status_core", - "$BUILD_DIR/mongo/db/storage/storage_engine_common", - "$BUILD_DIR/mongo/db/storage/storage_options", - "$BUILD_DIR/mongo/util/options_parser/options_parser", - ], - PROGDEPS_DEPENDENTS=[ - "$BUILD_DIR/mongo/dbtests/dbtest", - ], - LIBDEPS_TAGS=[ - "lint-allow-nonprivate-on-deps-dependents", - "lint-allow-bidirectional-edges", - ], -) - wtEnv.CppUnitTest( target="storage_wiredtiger_test", source=[ @@ -179,23 +80,6 @@ wtEnv.Library( ], ) -wtEnv.Library( - target="storage_wiredtiger_import", - source=[ - "wiredtiger_import.cpp", - ], - LIBDEPS=[ - "$BUILD_DIR/mongo/db/repl/oplog", - "$BUILD_DIR/mongo/db/repl/tenant_migration_access_blocker", - "$BUILD_DIR/mongo/db/shard_role", - "$BUILD_DIR/mongo/db/storage/bson_collection_catalog_entry", - "storage_wiredtiger_core", - ], - LIBDEPS_PRIVATE=[ - "$BUILD_DIR/mongo/db/catalog/catalog_helpers", - ], -) - wtEnv.CppUnitTest( target="storage_wiredtiger_record_store_and_index_test", source=[ diff --git a/src/third_party/valgrind/include/valgrind/BUILD.bazel b/src/third_party/valgrind/include/valgrind/BUILD.bazel new file mode 100644 index 00000000000..100a6d42d64 --- /dev/null +++ b/src/third_party/valgrind/include/valgrind/BUILD.bazel @@ -0,0 +1,5 @@ +package(default_visibility = ["//visibility:public"]) + +exports_files([ + "valgrind.h", +])