Add missing targets to ABSL_INTERNAL_DLL_TARGETS in AbseilDll.cmake. Several newer Abseil CMake targets were included in `DLL_FILES_ALL` (and thus compiled into `abseil_dll`), but omitted from the `ABSL_INTERNAL_DLL_TARGETS` list in `CMake/AbseilDll.cmake`. In DLL and monolithic shared library builds (`ABSL_BUILD_DLL=TRUE`), this caused those targets to be compiled a second time as standalone `dll_dep` static libraries alongside `abseil_dll`. Also mark `absl::Clock` with `ABSL_DLL` so its vtable is properly exported across the DLL boundary on Windows, and exclude internal test-only helper files from `DLL_FILES_ALL`. PiperOrigin-RevId: 1001567860
diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake index b615da8..ba00084 100644 --- a/CMake/AbseilDll.cmake +++ b/CMake/AbseilDll.cmake
@@ -100,7 +100,6 @@ "container/internal/raw_hash_set.cc" "container/internal/raw_hash_set.h" "container/internal/raw_hash_set_resize_impl.h" - "container/internal/tracked.h" "container/linked_hash_map.h" "container/linked_hash_set.h" "container/node_hash_map.h" @@ -138,8 +137,6 @@ "debugging/internal/elf_mem_image.h" "debugging/internal/examine_stack.cc" "debugging/internal/examine_stack.h" - "debugging/internal/stack_consumption.cc" - "debugging/internal/stack_consumption.h" "debugging/internal/stacktrace_config.h" "debugging/internal/symbolize.h" "debugging/internal/utf8_for_code_point.cc" @@ -165,7 +162,6 @@ "hash/internal/city.h" "hash/internal/hash.cc" "hash/internal/hash.h" - "hash/internal/spy_hash_state.h" "hash/internal/weakly_mixed_integer.h" "log/absl_check.h" "log/absl_log.h" @@ -267,7 +263,6 @@ "random/internal/salted_seed_seq.h" "random/internal/seed_material.cc" "random/internal/seed_material.h" - "random/internal/sequence_urbg.h" "random/internal/traits.h" "random/internal/uniform_helper.h" "random/internal/wide_multiply.h" @@ -348,8 +343,6 @@ "strings/internal/memutil.h" "strings/internal/ostringstream.cc" "strings/internal/ostringstream.h" - "strings/internal/pow10_helper.cc" - "strings/internal/pow10_helper.h" "strings/internal/resize_uninitialized.h" "strings/internal/str_format/arg.cc" "strings/internal/str_format/arg.h" @@ -410,7 +403,6 @@ "synchronization/internal/sem_waiter.h" "synchronization/internal/stdcpp_waiter.cc" "synchronization/internal/stdcpp_waiter.h" - "synchronization/internal/thread_pool.h" "synchronization/internal/waiter.h" "synchronization/internal/waiter_base.cc" "synchronization/internal/waiter_base.h" @@ -449,8 +441,6 @@ "time/internal/cctz/src/time_zone_posix.h" "time/internal/cctz/src/tzfile.h" "time/internal/cctz/src/zone_info_source.cc" - "time/simulated_clock.cc" - "time/simulated_clock.h" "time/time.cc" "time/time.h" "types/any.h" @@ -521,20 +511,31 @@ "algorithm_container" "any" "any_invocable" + "any_span" "atomic_hook" + "bad_any_cast" + "bad_optional_access" + "bad_variant_access" "base" "base_cpu_detect" "base_internal" + "bind_back" "bind_front" "bits" + "bounded_utf8_length_sequence" "btree" + "charset" "check" + "chunked_queue" "city" "civil_time" + "cleanup" + "cleanup_internal" + "clock_interface" + "common_policy_traits" "compare" "compressed_tuple" "config" - "container" "container_common" "container_memory" "cord" @@ -543,41 +544,58 @@ "cordz_handle" "cordz_info" "cordz_sample_token" + "cordz_statistics" + "cordz_update_scope" + "cordz_update_tracker" "core_headers" - "counting_allocator" "crc_cord_state" "crc_internal" "crc32c" "debugging" "debugging_internal" + "decode_rust_punycode" "demangle_internal" + "demangle_rust" "die_if_null" "dynamic_annotations" "endian" + "errno_saver" "examine_stack" "exponential_biased" "failure_signal_handler" + "fast_type_id" "fixed_array" "flat_hash_map" "flat_hash_set" "function_ref" + "generic_printer_internal" "graphcycles_internal" + "hardening" + "has_ostream_operator" "hash" + "hash_container_defaults" "hash_function_defaults" "hash_policy_traits" + "hashtable_control_bytes" "hashtable_debug" "hashtable_debug_hooks" + "hashtable_profiler" "hashtablez_sampler" "inlined_vector" "inlined_vector_internal" "int128" + "internal_optional_ref" + "iterator_traits_internal" "kernel_timeout_internal" "layout" "leak_check" + "linked_hash_map" + "linked_hash_set" "log_internal_check_impl" "log_internal_check_op" "log_internal_conditions" "log_internal_config" + "log_internal_container" "log_internal_fnmatch" "log_internal_format" "log_internal_globals" @@ -598,27 +616,33 @@ "log_sink_registry" "log_streamer" "log_internal_structured" + "log_internal_structured_proto" "log_severity" "log_structured" - "low_level_hash" "malloc_internal" "memory" "meta" + "no_destructor" "node_hash_map" "node_hash_set" "node_slot_policy" "non_temporal_arm_intrinsics" "non_temporal_memcpy" + "nullability" + "nullability_traits_internal" "numeric" + "numeric_representation" "optional" + "overload" "periodic_sampler" - "pow10_helper" + "poison" + "prefetch" "pretty_function" + "profile_builder" "random_bit_gen_ref" "random_distributions" "random_internal_distribution_caller" - "random_internal_distributions" - "random_internal_explicit_seed_seq" + "random_internal_entropy_pool" "random_internal_fastmath" "random_internal_fast_uniform_bits" "random_internal_generate_real" @@ -626,7 +650,6 @@ "random_internal_nonsecure_base" "random_internal_pcg_engine" "random_internal_platform" - "random_internal_pool_urbg" "random_internal_randen" "random_internal_randen_engine" "random_internal_randen_hwaes" @@ -634,7 +657,6 @@ "random_internal_randen_slow" "random_internal_salted_seed_seq" "random_internal_seed_material" - "random_internal_sequence_urbg" "random_internal_traits" "random_internal_uniform_helper" "random_internal_wide_multiply" @@ -643,34 +665,41 @@ "random_seed_sequences" "raw_hash_map" "raw_hash_set" + "raw_hash_set_resize_impl" "raw_logging_internal" + "requires_internal" "sample_recorder" "scoped_set_env" + "source_location" "span" "spinlock_wait" - "spy_hash_state" - "stack_consumption" "stacktrace" "status" + "status_builder" + "status_macros" "statusor" "str_format" "str_format_internal" "strerror" + "stringify_stream" "strings" + "strings_append_and_overwrite" "strings_internal" + "strings_resize_and_overwrite" "string_view" "symbolize" "synchronization" - "thread_pool" "throw_delegate" "time" "time_zone" - "tracked" + "tracing_internal" "type_traits" + "utf8_for_code_point" "utility" "variant" "vlog_config_internal" "vlog_is_on" + "weakly_mixed_integer" ) if(NOT MSVC) @@ -718,6 +747,7 @@ "hash_testing" "random_mocking_bit_gen" "random_internal_distribution_test_util" + "random_internal_mock_helpers" "random_internal_mock_overload_set" "scoped_mock_log" "status_matchers"
diff --git a/absl/time/clock_interface.h b/absl/time/clock_interface.h index a14d852..ef3be13 100644 --- a/absl/time/clock_interface.h +++ b/absl/time/clock_interface.h
@@ -55,7 +55,7 @@ // MyTestClock test_clock(SATURDAY); // IsWeekend(test_clock); // -class Clock { +class ABSL_DLL Clock { public: // Returns a reference to the global realtime clock. // The returned clock is thread-safe.