# -*- mode: python -*- Import("env") env = env.Clone() env.SConscript( dirs=[ 'devnull', 'ephemeral_for_test', 'kv', 'wiredtiger', ], exports=[ 'env' ], ) env.Library( target='index_entry_comparison', source=[ 'index_entry_comparison.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/namespace_string', 'duplicate_key_error_info', 'key_string', ], ) env.Library( target='snapshot_helper', source=[ 'snapshot_helper.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/namespace_string', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/repl/read_concern_args', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', 'recovery_unit_base', ], ) env.Library( target='duplicate_key_error_info', source=[ 'duplicate_key_error_info.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], ) env.Library( target='recovery_unit_base', source=[ 'recovery_unit.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/util/fail_point', ], ) env.Library( target='key_string', source=[ 'key_string.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], ) env.Library( target='execution_context', source=[ 'execution_context.cpp', ], LIBDEPS=[ 'key_string', 'storage_options', ], ) env.Library( target='bson_collection_catalog_entry', source=[ 'bson_collection_catalog_entry.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/catalog/collection_options', '$BUILD_DIR/mongo/db/common', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/storage/kv/kv_prefix', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/server_options', ], ) env.Library( target='oplog_hack', source=[ 'oplog_hack.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], ) env.Library( target='storage_control', source=[ 'control/storage_control.cpp', ], LIBDEPS=[ 'checkpointer', 'journal_flusher', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/service_context', 'storage_options', ], ) env.Library( target='oplog_cap_maintainer_thread', source=[ 'oplog_cap_maintainer_thread.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/namespace_string', '$BUILD_DIR/mongo/util/background_job', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/catalog/collection', '$BUILD_DIR/mongo/db/catalog/collection_catalog', '$BUILD_DIR/mongo/db/catalog/database_holder', '$BUILD_DIR/mongo/db/catalog_raii', '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/service_context', ], ) env.Library( target='journal_flusher', source=[ 'control/journal_flusher.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/util/background_job', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/service_context', 'storage_options', ], ) env.Library( target='storage_options', source=[ 'storage_options.cpp', env.Idlc('storage_parameters.idl')[0], ], LIBDEPS=[ '$BUILD_DIR/mongo/base', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/idl/server_parameter', ], ) env.Library( target='encryption_hooks', source=[ 'encryption_hooks.cpp', ], LIBDEPS= [ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/service_context' ], LIBDEPS_DEPENDENTS=[ '$BUILD_DIR/mongo/db/mongod_initializers', '$BUILD_DIR/mongo/s/mongos_initializers', ], LIBDEPS_TAGS=[ 'lint-allow-nonprivate-on-deps-dependents', 'lint-allow-bidirectional-edges', ]) env.Library( target='backup_cursor_hooks', source=[ 'backup_cursor_hooks.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/service_context', ], LIBDEPS_DEPENDENTS=[ '$BUILD_DIR/mongo/db/mongod_initializers', ], LIBDEPS_TAGS=[ 'lint-allow-nonprivate-on-deps-dependents', 'lint-allow-bidirectional-edges', ] ) env.Library( target='sorted_data_interface_test_harness', source=[ 'sorted_data_interface_test_bulkbuilder.cpp', 'sorted_data_interface_test_cursor.cpp', 'sorted_data_interface_test_cursor_advanceto.cpp', 'sorted_data_interface_test_cursor_end_position.cpp', 'sorted_data_interface_test_cursor_locate.cpp', 'sorted_data_interface_test_cursor_saverestore.cpp', 'sorted_data_interface_test_cursor_seek_exact.cpp', 'sorted_data_interface_test_dupkeycheck.cpp', 'sorted_data_interface_test_fullvalidate.cpp', 'sorted_data_interface_test_harness.cpp', 'sorted_data_interface_test_insert.cpp', 'sorted_data_interface_test_isempty.cpp', 'sorted_data_interface_test_rollback.cpp', 'sorted_data_interface_test_spaceused.cpp', 'sorted_data_interface_test_unindex.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/storage/storage_options', '$BUILD_DIR/mongo/unittest/unittest', 'index_entry_comparison', 'key_string', ], ) env.Library( target='record_store_test_harness', source=[ 'record_store_test_capped_delete.cpp', 'record_store_test_capped_visibility.cpp', 'record_store_test_datafor.cpp', 'record_store_test_datasize.cpp', 'record_store_test_deleterecord.cpp', 'record_store_test_harness.cpp', 'record_store_test_insertrecord.cpp', 'record_store_test_oplog.cpp', 'record_store_test_randomiter.cpp', 'record_store_test_recorditer.cpp', 'record_store_test_recordstore.cpp', 'record_store_test_storagesize.cpp', 'record_store_test_truncate.cpp', 'record_store_test_updaterecord.cpp', 'record_store_test_updatewithdamages.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/storage/storage_options', '$BUILD_DIR/mongo/unittest/unittest', ], ) env.Library( target='recovery_unit_test_harness', source=[ 'recovery_unit_test_harness.cpp' ], LIBDEPS=[ '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/unittest/unittest', ], ) env.Library( target='storage_debug_util', source=[ 'storage_debug_util.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/catalog/validate_results', '$BUILD_DIR/mongo/db/db_raii', ], ) env.Library( target='storage_engine_lock_file', source=[ 'storage_engine_lock_file.cpp', 'storage_engine_lock_file_${TARGET_OS_FAMILY}.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/service_context', ], ) env.Library( target='storage_engine_common', source=[ 'storage_engine_init.cpp' ], LIBDEPS=[ ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/service_context', 'storage_control', 'storage_engine_lock_file', 'storage_engine_metadata', 'storage_options', 'storage_repair_observer', ], ) env.Library( target="storage_init_d", source=[ "storage_init.cpp", ], LIBDEPS=[ "storage_options", ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/commands/server_status', '$BUILD_DIR/mongo/db/server_options_core', 'backup_cursor_hooks' ] ) env.Library( target="write_unit_of_work", source=[ "write_unit_of_work.cpp", ], LIBDEPS_PRIVATE=[ "$BUILD_DIR/mongo/base", "$BUILD_DIR/mongo/db/storage/storage_options", '$BUILD_DIR/mongo/util/fail_point', 'recovery_unit_base', ], ) env.Library( target='storage_engine_metadata', source=[ 'storage_engine_metadata.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/bson/dotted_path_support', '$BUILD_DIR/mongo/db/server_options_core', ], ) env.Library( target='storage_file_util', source=[ 'storage_file_util.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', ], ) env.Library( target='storage_repair_observer', source=[ 'storage_repair_observer.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/repl/replica_set_messages', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/db/storage/journal_flusher', 'storage_file_util', ], ) env.Benchmark( target='storage_key_string_bm', source=[ 'key_string_bm.cpp' ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'key_string', ], ) env.Library( target='remove_saver', source=[ 'remove_saver.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', 'encryption_hooks', 'storage_options', ] ) env.Library( target='flow_control_parameters', source=[ env.Idlc('flow_control_parameters.idl')[0], ], LIBDEPS=[ '$BUILD_DIR/mongo/idl/server_parameter', ], ) env.Library( target='flow_control', source=[ 'flow_control.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/db/commands/server_status', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/concurrency/flow_control_ticketholder', '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/util/background_job', '$BUILD_DIR/mongo/util/fail_point', 'flow_control_parameters', ], ) env.CppUnitTest( target='db_storage_test', source=[ 'flow_control_test.cpp', 'index_entry_comparison_test.cpp', 'key_string_test.cpp', 'kv/durable_catalog_test.cpp', 'kv/kv_drop_pending_ident_reaper_test.cpp', 'kv/storage_engine_test.cpp', 'storage_engine_lock_file_test.cpp', 'storage_engine_metadata_test.cpp', 'storage_repair_observer_test.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/auth/authmocks', '$BUILD_DIR/mongo/db/catalog/collection_options', '$BUILD_DIR/mongo/db/catalog_raii', '$BUILD_DIR/mongo/db/concurrency/flow_control_ticketholder', '$BUILD_DIR/mongo/db/dbhelpers', '$BUILD_DIR/mongo/db/namespace_string', '$BUILD_DIR/mongo/db/repl/replmocks', '$BUILD_DIR/mongo/db/repl/topology_coordinator', '$BUILD_DIR/mongo/db/service_context_d_test_fixture', '$BUILD_DIR/mongo/db/service_context_test_fixture', '$BUILD_DIR/mongo/db/storage/devnull/storage_devnull_core', '$BUILD_DIR/mongo/db/storage/durable_catalog_impl', '$BUILD_DIR/mongo/db/storage/storage_engine_impl', '$BUILD_DIR/mongo/db/storage/storage_repair_observer', '$BUILD_DIR/mongo/executor/network_interface_factory', '$BUILD_DIR/mongo/executor/network_interface_mock', 'flow_control', 'flow_control_parameters', 'key_string', 'kv/kv_drop_pending_ident_reaper', 'storage_engine_lock_file', 'storage_engine_metadata', ], ) env.Library( target='durable_catalog_impl', source=[ 'durable_catalog_impl.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/bson/util/bson_extract', '$BUILD_DIR/mongo/db/catalog/collection_catalog', '$BUILD_DIR/mongo/db/concurrency/lock_manager', '$BUILD_DIR/mongo/db/index/index_descriptor', '$BUILD_DIR/mongo/db/index_names', '$BUILD_DIR/mongo/db/namespace_string', '$BUILD_DIR/mongo/db/storage/bson_collection_catalog_entry', '$BUILD_DIR/mongo/db/storage/kv/kv_prefix', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/concurrency/write_conflict_exception', '$BUILD_DIR/mongo/db/repl/repl_coordinator_interface', '$BUILD_DIR/mongo/db/server_options_core', ], ) env.Library( target='storage_util', source=[ 'storage_util.cpp', ], LIBDEPS_PRIVATE=[ 'durable_catalog_impl', 'kv/kv_drop_pending_ident_reaper', ], ) env.Library( target='checkpointer', source=[ 'checkpointer.cpp', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/service_context', '$BUILD_DIR/mongo/util/background_job', 'storage_options', ], ) env.Library( target='two_phase_index_build_knobs_idl', source=[ env.Idlc('two_phase_index_build_knobs.idl')[0], ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/idl/server_parameter', ], ) env.Library( target='storage_engine_impl', source=[ 'storage_engine_impl.cpp', 'kv/temporary_kv_record_store.cpp', ], LIBDEPS=[ '$BUILD_DIR/mongo/base', '$BUILD_DIR/mongo/db/catalog/catalog_control', '$BUILD_DIR/mongo/db/server_options_core', '$BUILD_DIR/mongo/db/storage/durable_catalog_impl', '$BUILD_DIR/mongo/db/storage/kv/kv_drop_pending_ident_reaper', '$BUILD_DIR/mongo/db/storage/storage_options', ], LIBDEPS_PRIVATE=[ '$BUILD_DIR/mongo/db/catalog/collection_catalog_helper', '$BUILD_DIR/mongo/db/resumable_index_builds_idl', '$BUILD_DIR/mongo/db/storage/storage_repair_observer', '$BUILD_DIR/mongo/db/vector_clock', 'storage_util', 'two_phase_index_build_knobs_idl', ], ) env.CppLibfuzzerTest( target='key_string_to_bson_fuzzer', source=[ 'key_string_to_bson_fuzzer.cpp', ], LIBDEPS=[ 'key_string', '$BUILD_DIR/mongo/base', ], )