One-Line Change Description (used as GitHub Pull Request title)

Detailed description...
...text exposed to open source public git repo...

PiperOrigin-RevId: 1003069398
diff --git a/absl/base/BUILD.bazel b/absl/base/BUILD.bazel
index b242b90..6bc0b54 100644
--- a/absl/base/BUILD.bazel
+++ b/absl/base/BUILD.bazel
@@ -149,6 +149,7 @@
     srcs = ["internal/raw_logging.cc"],
     hdrs = ["internal/raw_logging.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [":errno_saver"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
@@ -164,7 +165,6 @@
         ":atomic_hook",
         ":config",
         ":core_headers",
-        ":errno_saver",
         ":log_severity",
     ],
 )
@@ -180,6 +180,10 @@
     ],
     hdrs = ["internal/spinlock_wait.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":core_headers",
+        ":errno_saver",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl/base:__pkg__",
@@ -189,8 +193,6 @@
     deps = [
         ":base_internal",
         ":config",
-        ":core_headers",
-        ":errno_saver",
     ],
 )
 
@@ -219,10 +221,7 @@
         "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
         "@do_not_use_for_gloop_visibility_only//gloop/util/random:__pkg__",
     ],
-    deps = [
-        ":base_internal",
-        ":config",
-    ],
+    deps = [":config"],
 )
 
 cc_library(
@@ -254,6 +253,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":config",
@@ -279,6 +279,7 @@
         "@platforms//os:wasi": [],
         "//conditions:default": ["-pthread"],
     }) + ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = [
         "//visibility:public",
     ],
@@ -304,10 +305,7 @@
         "//absl:__subpackages__",
         "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
-    deps = [
-        ":config",
-        "//absl/meta:type_traits",
-    ],
+    deps = [":config"],
 )
 
 cc_library(
@@ -333,6 +331,10 @@
         "internal/unscaledcycleclock.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":atomic_hook",
+        ":spinlock_wait",
+    ],
     linkopts = select({
         "@rules_cc//cc/compiler:msvc-cl": [
             "-DEFAULTLIB:advapi32.lib",
@@ -350,7 +352,6 @@
     }) + ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
-        ":atomic_hook",
         ":base_internal",
         ":config",
         ":core_headers",
@@ -368,11 +369,11 @@
     srcs = ["internal/atomic_hook_test_helper.cc"],
     hdrs = ["internal/atomic_hook_test_helper.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [":core_headers"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":atomic_hook",
         ":config",
-        ":core_headers",
     ],
 )
 
@@ -444,12 +445,10 @@
         "throw_delegate.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [":raw_logging_internal"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
-    deps = [
-        ":config",
-        ":raw_logging_internal",
-    ],
+    deps = [":config"],
 )
 
 cc_test(
@@ -545,11 +544,7 @@
     testonly = True,
     srcs = ["spinlock_test_common.cc"],
     copts = ABSL_TEST_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = [
-        "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
-    ],
-    deps = [
+    implementation_deps = [
         ":base",
         ":base_internal",
         ":config",
@@ -557,6 +552,10 @@
         "//absl/synchronization",
         "@googletest//:gtest",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = [
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
+    ],
     alwayslink = 1,
 )
 
@@ -586,11 +585,7 @@
     testonly = True,
     srcs = ["internal/spinlock_benchmark.cc"],
     copts = ABSL_TEST_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = [
-        "//absl/base:__pkg__",
-    ],
-    deps = [
+    implementation_deps = [
         ":base",
         ":base_internal",
         ":no_destructor",
@@ -598,6 +593,11 @@
         "//absl/synchronization",
         "@google_benchmark//:benchmark_main",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = [
+        "//absl/base:__pkg__",
+    ],
+    deps = ["@google_benchmark//:benchmark_main"],
     alwayslink = 1,
 )
 
@@ -864,14 +864,12 @@
     srcs = ["internal/scoped_set_env.cc"],
     hdrs = ["internal/scoped_set_env.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [":raw_logging_internal"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
     ],
-    deps = [
-        ":config",
-        ":raw_logging_internal",
-    ],
+    deps = [":config"],
 )
 
 cc_test(
@@ -909,16 +907,13 @@
     srcs = ["internal/strerror.cc"],
     hdrs = ["internal/strerror.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [":errno_saver"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
         "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
-    deps = [
-        ":config",
-        ":core_headers",
-        ":errno_saver",
-    ],
+    deps = [":config"],
 )
 
 cc_test(
@@ -1010,15 +1005,12 @@
     ],
     hdrs = ["internal/poison.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [":malloc_internal"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
     ],
-    deps = [
-        ":config",
-        ":core_headers",
-        ":malloc_internal",
-    ],
+    deps = [":config"],
 )
 
 cc_test(
@@ -1100,15 +1092,13 @@
     srcs = ["internal/tracing.cc"],
     hdrs = ["internal/tracing.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [":core_headers"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
         "@do_not_use_for_gloop_visibility_only//gloop/perftools/tracing:__subpackages__",
     ],
-    deps = [
-        ":config",
-        ":core_headers",
-    ],
+    deps = [":config"],
 )
 
 cc_library(
diff --git a/absl/container/BUILD.bazel b/absl/container/BUILD.bazel
index 7792be0..2d77aa1 100644
--- a/absl/container/BUILD.bazel
+++ b/absl/container/BUILD.bazel
@@ -68,6 +68,7 @@
     hdrs = ["fixed_array.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":compressed_tuple",
@@ -133,9 +134,9 @@
     hdrs = ["internal/inlined_vector.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     deps = [
         ":compressed_tuple",
-        "//absl/base:base_internal",
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:hardening",
@@ -150,6 +151,7 @@
     hdrs = ["inlined_vector.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":inlined_vector_internal",
@@ -170,6 +172,7 @@
     testonly = True,
     copts = ABSL_TEST_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     textual_hdrs = ["internal/test_allocator.h"],
     visibility = ["//visibility:private"],
     deps = [
@@ -524,11 +527,11 @@
     srcs = ["internal/hash_generator_testing.cc"],
     hdrs = ["internal/hash_generator_testing.h"],
     copts = ABSL_TEST_COPTS,
+    implementation_deps = ["//absl/base:no_destructor"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":hash_policy_testing",
         "//absl/base:config",
-        "//absl/base:no_destructor",
         "//absl/memory",
         "//absl/meta:type_traits",
         "//absl/random",
@@ -570,6 +573,7 @@
     hdrs = ["internal/hash_policy_traits.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     deps = [
         ":common_policy_traits",
         ":container_memory",
@@ -622,6 +626,7 @@
     hdrs = ["internal/hashtable_debug.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     deps = [
         ":hashtable_debug_hooks",
         "//absl/base:config",
@@ -649,6 +654,15 @@
     ],
     hdrs = ["internal/hashtablez_sampler.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/base:core_headers",
+        "//absl/base:no_destructor",
+        "//absl/base:raw_logging_internal",
+        "//absl/debugging:stacktrace",
+        "//absl/memory",
+        "//absl/profiling:exponential_biased",
+        "//absl/time",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
@@ -657,11 +671,6 @@
         "//absl/base",
         "//absl/base:config",
         "//absl/base:core_headers",
-        "//absl/base:no_destructor",
-        "//absl/base:raw_logging_internal",
-        "//absl/debugging:stacktrace",
-        "//absl/memory",
-        "//absl/profiling:exponential_biased",
         "//absl/profiling:sample_recorder",
         "//absl/synchronization",
         "//absl/time",
@@ -809,6 +818,7 @@
     hdrs = ["internal/raw_hash_set.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],  # Should be private, but requires cleanup
     deps = [
         ":common",
@@ -958,7 +968,6 @@
     visibility = ["//visibility:public"],  # Should be private, requires cleanup
     deps = [
         "//absl/base:config",
-        "//absl/base:core_headers",
         "//absl/debugging:demangle_internal",
         "//absl/meta:type_traits",
         "//absl/strings",
@@ -1222,6 +1231,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":common",
@@ -1482,6 +1492,7 @@
     name = "chunked_queue",
     srcs = ["internal/chunked_queue.h"],
     hdrs = ["chunked_queue.h"],
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":layout",
diff --git a/absl/crc/BUILD.bazel b/absl/crc/BUILD.bazel
index 7d634ce..590d44c 100644
--- a/absl/crc/BUILD.bazel
+++ b/absl/crc/BUILD.bazel
@@ -45,10 +45,7 @@
         "internal/crc32_x86_arm_combined_simd.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = ["//visibility:private"],
-    deps = [
-        "//absl/base:config",
+    implementation_deps = [
         "//absl/base:core_headers",
         "//absl/base:cpu_detect",
         "//absl/base:endian",
@@ -57,6 +54,12 @@
         "//absl/memory",
         "//absl/numeric:bits",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = ["//visibility:private"],
+    deps = [
+        "//absl/base:config",
+        "//absl/base:core_headers",
+    ],
 )
 
 cc_library(
@@ -74,16 +77,20 @@
         "internal/crc_memcpy.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":crc_internal",
+        ":non_temporal_memcpy",
+        "//absl/base:core_headers",
+        "//absl/base:cpu_detect",
+        "//absl/base:prefetch",
+        "//absl/strings:string_view",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
         ":crc_internal",
-        ":non_temporal_memcpy",
         "//absl/base:config",
-        "//absl/base:core_headers",
-        "//absl/base:cpu_detect",
         "//absl/base:endian",
-        "//absl/base:prefetch",
         "//absl/strings:str_format",
         "//absl/strings:string_view",
     ],
@@ -174,13 +181,15 @@
     srcs = ["internal/crc_cord_state.cc"],
     hdrs = ["internal/crc_cord_state.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/base:no_destructor",
+        "//absl/numeric:bits",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//absl/strings:__pkg__"],
     deps = [
         ":crc32c",
         "//absl/base:config",
-        "//absl/base:no_destructor",
-        "//absl/numeric:bits",
     ],
 )
 
diff --git a/absl/flags/BUILD.bazel b/absl/flags/BUILD.bazel
index 59771c7..3cb4b28 100644
--- a/absl/flags/BUILD.bazel
+++ b/absl/flags/BUILD.bazel
@@ -61,6 +61,12 @@
         "internal/program_name.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":path_util",
+        "//absl/base:core_headers",
+        "//absl/base:no_destructor",
+        "//absl/synchronization",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl/flags:__pkg__",
@@ -68,12 +74,8 @@
         "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
     ],
     deps = [
-        ":path_util",
         "//absl/base:config",
-        "//absl/base:core_headers",
-        "//absl/base:no_destructor",
         "//absl/strings:string_view",
-        "//absl/synchronization",
     ],
 )
 
@@ -87,18 +89,20 @@
         "usage_config.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = ["//visibility:public"],
-    deps = [
+    implementation_deps = [
         ":path_util",
         ":program_name",
-        "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:no_destructor",
         "//absl/strings",
-        "//absl/strings:string_view",
         "//absl/synchronization",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = ["//visibility:public"],
+    deps = [
+        "//absl/base:config",
+        "//absl/strings:string_view",
+    ],
 )
 
 cc_library(
@@ -110,15 +114,17 @@
         "marshalling.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/base:core_headers",
+        "//absl/base:log_severity",
+        "//absl/strings",
+        "//absl/strings:str_format",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
         "//absl/base:config",
-        "//absl/base:core_headers",
-        "//absl/base:log_severity",
         "//absl/numeric:int128",
-        "//absl/strings",
-        "//absl/strings:str_format",
         "//absl/strings:string_view",
         "//absl/types:optional",
     ],
@@ -197,22 +203,24 @@
         "reflection.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":config",
+        ":private_handle_accessor",
+        "//absl/base:core_headers",
+        "//absl/base:no_destructor",
+        "//absl/strings",
+        "//absl/synchronization",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
         ":commandlineflag",
         ":commandlineflag_internal",
-        ":config",
-        ":private_handle_accessor",
         "//absl/base:config",
-        "//absl/base:core_headers",
         "//absl/base:fast_type_id",
-        "//absl/base:no_destructor",
         "//absl/base:nullability",
         "//absl/container:flat_hash_map",
-        "//absl/strings",
         "//absl/strings:string_view",
-        "//absl/synchronization",
     ],
 )
 
@@ -227,6 +235,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//absl/base:__subpackages__"],
     deps = [
         ":commandlineflag",
@@ -279,13 +288,7 @@
         "internal/usage.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = [
-        "//absl/flags:__pkg__",
-        "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
-    ],
-    deps = [
-        ":commandlineflag",
+    implementation_deps = [
         ":config",
         ":flag",
         ":flag_internal",
@@ -293,13 +296,21 @@
         ":private_handle_accessor",
         ":program_name",
         ":reflection",
-        "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:no_destructor",
         "//absl/strings",
-        "//absl/strings:string_view",
         "//absl/synchronization",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = [
+        "//absl/flags:__pkg__",
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__pkg__",
+    ],
+    deps = [
+        ":commandlineflag",
+        "//absl/base:config",
+        "//absl/strings:string_view",
+    ],
 )
 
 cc_library(
@@ -311,15 +322,17 @@
         "usage.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":usage_internal",
+        "//absl/base:core_headers",
+        "//absl/base:raw_logging_internal",
+        "//absl/synchronization",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
-        ":usage_internal",
         "//absl/base:config",
-        "//absl/base:core_headers",
-        "//absl/base:raw_logging_internal",
         "//absl/strings:string_view",
-        "//absl/synchronization",
     ],
 )
 
@@ -331,9 +344,7 @@
         "parse.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = ["//visibility:public"],
-    deps = [
+    implementation_deps = [
         ":commandlineflag",
         ":commandlineflag_internal",
         ":config",
@@ -345,13 +356,19 @@
         ":usage",
         ":usage_internal",
         "//absl/algorithm:container",
-        "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:no_destructor",
         "//absl/strings",
-        "//absl/strings:string_view",
         "//absl/synchronization",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = ["//visibility:public"],
+    deps = [
+        ":flag",
+        ":usage_internal",
+        "//absl/base:config",
+        "//absl/strings:string_view",
+    ],
 )
 
 ############################################################################
diff --git a/absl/hash/BUILD.bazel b/absl/hash/BUILD.bazel
index 010668d..aa7e587 100644
--- a/absl/hash/BUILD.bazel
+++ b/absl/hash/BUILD.bazel
@@ -43,6 +43,7 @@
     ],
     hdrs = ["hash.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = ["//absl/base:prefetch"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
@@ -51,7 +52,6 @@
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:endian",
-        "//absl/base:prefetch",
         "//absl/container:fixed_array",
         "//absl/functional:function_ref",
         "//absl/meta:type_traits",
@@ -172,16 +172,16 @@
         "internal/city.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = [
-        "//absl/hash:__pkg__",
-    ],
-    deps = [
-        "//absl/base:config",
+    implementation_deps = [
         "//absl/base:core_headers",
         "//absl/base:endian",
         "//absl/numeric:bits",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = [
+        "//absl/hash:__pkg__",
+    ],
+    deps = ["//absl/base:config"],
 )
 
 cc_test(
diff --git a/absl/log/BUILD.bazel b/absl/log/BUILD.bazel
index 3e15e0b..e8edaca 100644
--- a/absl/log/BUILD.bazel
+++ b/absl/log/BUILD.bazel
@@ -78,15 +78,17 @@
     srcs = ["die_if_null.cc"],
     hdrs = ["die_if_null.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":log",
+        "//absl/strings",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
-        ":log",
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:nullability",
         "//absl/base:nullability_traits_internal",
-        "//absl/strings",
     ],
 )
 
@@ -96,6 +98,7 @@
     hdrs = ["flags.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":globals",
@@ -119,15 +122,17 @@
     srcs = ["globals.cc"],
     hdrs = ["globals.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/base:atomic_hook",
+        "//absl/base:raw_logging_internal",
+        "//absl/hash",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
-        "//absl/base:atomic_hook",
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:log_severity",
-        "//absl/base:raw_logging_internal",
-        "//absl/hash",
         "//absl/log/internal:vlog_config",
         "//absl/strings:string_view",
     ],
@@ -138,12 +143,14 @@
     srcs = ["initialize.cc"],
     hdrs = ["initialize.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":globals",
+        "//absl/log/internal:globals",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
-        ":globals",
         "//absl/base:config",
-        "//absl/log/internal:globals",
         "//absl/time",
     ],
 )
@@ -165,6 +172,10 @@
     srcs = ["log_entry.cc"],
     hdrs = ["log_entry.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/log/internal:proto",
+        "//absl/strings",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
@@ -172,8 +183,6 @@
         "//absl/base:core_headers",
         "//absl/base:log_severity",
         "//absl/log/internal:config",
-        "//absl/log/internal:proto",
-        "//absl/strings",
         "//absl/strings:string_view",
         "//absl/time",
         "//absl/types:span",
@@ -231,16 +240,18 @@
     srcs = ["scoped_mock_log.cc"],
     hdrs = ["scoped_mock_log.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":log_sink_registry",
+        "//absl/base:raw_logging_internal",
+        "//absl/strings:string_view",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
         ":log_entry",
         ":log_sink",
-        ":log_sink_registry",
         "//absl/base:config",
         "//absl/base:log_severity",
-        "//absl/base:raw_logging_internal",
-        "//absl/strings:string_view",
         "@googletest//:gtest",
     ],
 )
@@ -369,15 +380,7 @@
     name = "check_test_impl",
     testonly = True,
     copts = ABSL_TEST_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    tags = [
-        "no_test:os:ios",
-        "no_test_ios",
-        "no_test_wasm",
-    ],
-    textual_hdrs = ["check_test_impl.inc"],
-    visibility = ["//visibility:private"],
-    deps = [
+    implementation_deps = [
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/log/internal:test_helpers",
@@ -386,6 +389,15 @@
         "//absl/strings:string_view",
         "@googletest//:gtest",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = [
+        "no_test:os:ios",
+        "no_test_ios",
+        "no_test_wasm",
+    ],
+    textual_hdrs = ["check_test_impl.inc"],
+    visibility = ["//visibility:private"],
+    deps = ["@googletest//:gtest"],
 )
 
 cc_test(
@@ -466,10 +478,7 @@
     name = "log_basic_test_impl",
     testonly = True,
     copts = ABSL_TEST_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    textual_hdrs = ["log_basic_test_impl.inc"],
-    visibility = ["//visibility:private"],
-    deps = [
+    implementation_deps = [
         ":globals",
         ":log_entry",
         ":scoped_mock_log",
@@ -481,6 +490,10 @@
         "//absl/log/internal:test_matchers",
         "@googletest//:gtest",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    textual_hdrs = ["log_basic_test_impl.inc"],
+    visibility = ["//visibility:private"],
+    deps = ["@googletest//:gtest"],
 )
 
 cc_test(
diff --git a/absl/log/internal/BUILD.bazel b/absl/log/internal/BUILD.bazel
index 42114ed..69ce409 100644
--- a/absl/log/internal/BUILD.bazel
+++ b/absl/log/internal/BUILD.bazel
@@ -72,6 +72,10 @@
     srcs = ["check_op.cc"],
     hdrs = ["check_op.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/debugging:leak_check",
+        "//absl/strings",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//absl/log:__pkg__"],
     deps = [
@@ -82,7 +86,6 @@
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:nullability",
-        "//absl/debugging:leak_check",
         "//absl/strings",
         "//absl/strings:has_ostream_operator",
         "//absl/strings:string_view",
@@ -94,10 +97,10 @@
     srcs = ["conditions.cc"],
     hdrs = ["conditions.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = ["//absl/base"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":voidify",
-        "//absl/base",
         "//absl/base:config",
         "//absl/base:core_headers",
     ],
@@ -120,6 +123,7 @@
     hdrs = ["flags.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = [
         ":internal_users",
         "//absl/status:__pkg__",
@@ -135,16 +139,18 @@
     srcs = ["log_format.cc"],
     hdrs = ["log_format.h"],
     copts = ABSL_DEFAULT_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    deps = [
+    implementation_deps = [
         ":append_truncated",
-        ":config",
         ":globals",
-        "//absl/base:config",
         "//absl/base:core_headers",
-        "//absl/base:log_severity",
         "//absl/strings",
         "//absl/strings:str_format",
+    ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    deps = [
+        ":config",
+        "//absl/base:config",
+        "//absl/base:log_severity",
         "//absl/strings:string_view",
         "//absl/time",
         "//absl/types:span",
@@ -156,6 +162,11 @@
     srcs = ["globals.cc"],
     hdrs = ["globals.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/base:core_headers",
+        "//absl/base:raw_logging_internal",
+        "//absl/strings",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl/log:__pkg__",
@@ -163,10 +174,7 @@
     ],
     deps = [
         "//absl/base:config",
-        "//absl/base:core_headers",
         "//absl/base:log_severity",
-        "//absl/base:raw_logging_internal",
-        "//absl/strings",
         "//absl/strings:string_view",
         "//absl/time",
     ],
@@ -190,35 +198,38 @@
     srcs = ["log_message.cc"],
     hdrs = ["log_message.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":append_truncated",
+        ":format",
+        ":globals",
+        ":log_sink_set",
+        ":proto",
+        "//absl/base",
+        "//absl/base:raw_logging_internal",
+        "//absl/base:strerror",
+        "//absl/container:inlined_vector",
+        "//absl/debugging:examine_stack",
+        "//absl/log:globals",
+        "//absl/log:log_sink_registry",
+        "//absl/strings:internal",
+        "//absl/time",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl/log:__pkg__",
         "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
     deps = [
-        ":append_truncated",
-        ":format",
-        ":globals",
-        ":log_sink_set",
         ":nullguard",
-        ":proto",
         ":structured_proto",
-        "//absl/base",
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:errno_saver",
         "//absl/base:log_severity",
         "//absl/base:nullability",
-        "//absl/base:raw_logging_internal",
-        "//absl/base:strerror",
-        "//absl/container:inlined_vector",
-        "//absl/debugging:examine_stack",
-        "//absl/log:globals",
         "//absl/log:log_entry",
         "//absl/log:log_sink",
-        "//absl/log:log_sink_registry",
         "//absl/strings",
-        "//absl/strings:internal",
         "//absl/strings:string_view",
         "//absl/time",
         "//absl/types:source_location",
@@ -244,25 +255,27 @@
     srcs = ["log_sink_set.cc"],
     hdrs = ["log_sink_set.h"],
     copts = ABSL_DEFAULT_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS + select({
-        "//conditions:default": [],
-        "@platforms//os:android": ["-llog"],
-    }),
-    deps = [
+    implementation_deps = [
         ":config",
         ":globals",
         "//absl/base",
-        "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:log_severity",
         "//absl/base:no_destructor",
         "//absl/base:raw_logging_internal",
         "//absl/cleanup",
         "//absl/log:globals",
-        "//absl/log:log_entry",
-        "//absl/log:log_sink",
         "//absl/strings:string_view",
         "//absl/synchronization",
+    ],
+    linkopts = ABSL_DEFAULT_LINKOPTS + select({
+        "//conditions:default": [],
+        "@platforms//os:android": ["-llog"],
+    }),
+    deps = [
+        "//absl/base:config",
+        "//absl/log:log_entry",
+        "//absl/log:log_sink",
         "//absl/types:span",
     ],
 )
@@ -363,6 +376,7 @@
     hdrs = ["test_actions.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     deps = [
         "//absl/base:config",
         "//absl/base:core_headers",
@@ -384,6 +398,10 @@
     srcs = ["test_helpers.cc"],
     hdrs = ["test_helpers.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":globals",
+        "//absl/log:initialize",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         ":internal_users",
@@ -391,11 +409,9 @@
         "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
     ],
     deps = [
-        ":globals",
         "//absl/base:config",
         "//absl/base:log_severity",
         "//absl/log:globals",
-        "//absl/log:initialize",
         "@googletest//:gtest",
     ],
 )
@@ -407,6 +423,7 @@
     hdrs = ["test_matchers.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = [
         ":internal_users",
         ":structured_proto_users",
@@ -471,6 +488,14 @@
     srcs = ["vlog_config.cc"],
     hdrs = ["vlog_config.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":fnmatch",
+        "//absl/base",
+        "//absl/base:base_internal",
+        "//absl/base:no_destructor",
+        "//absl/strings",
+        "//absl/synchronization",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl/log:__subpackages__",
@@ -478,16 +503,10 @@
         "@do_not_use_for_gloop_visibility_only//gloop/util/status:__subpackages__",
     ],
     deps = [
-        ":fnmatch",
-        "//absl/base",
-        "//absl/base:base_internal",
         "//absl/base:config",
         "//absl/base:core_headers",
-        "//absl/base:no_destructor",
         "//absl/base:nullability",
-        "//absl/strings",
         "//absl/strings:string_view",
-        "//absl/synchronization",
     ],
 )
 
diff --git a/absl/numeric/BUILD.bazel b/absl/numeric/BUILD.bazel
index bc9670d..e86bede 100644
--- a/absl/numeric/BUILD.bazel
+++ b/absl/numeric/BUILD.bazel
@@ -90,6 +90,7 @@
     hdrs = ["int128.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":bits",
diff --git a/absl/profiling/BUILD.bazel b/absl/profiling/BUILD.bazel
index 2d9ecc6..4f47a06 100644
--- a/absl/profiling/BUILD.bazel
+++ b/absl/profiling/BUILD.bazel
@@ -75,6 +75,7 @@
     srcs = ["internal/exponential_biased.cc"],
     hdrs = ["internal/exponential_biased.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = ["//absl/base:core_headers"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
@@ -155,19 +156,21 @@
     srcs = ["internal/profile_builder.cc"],
     hdrs = ["internal/profile_builder.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/base",
+        "//absl/base:raw_logging_internal",
+        "//absl/strings",
+        "//absl/strings:str_format",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
     ],
     deps = [
-        "//absl/base",
         "//absl/base:config",
-        "//absl/base:raw_logging_internal",
         "//absl/container:btree",
         "//absl/container:flat_hash_map",
         "//absl/container:hash_container_defaults",
-        "//absl/strings",
-        "//absl/strings:str_format",
         "//absl/strings:string_view",
         "//absl/types:span",
     ],
@@ -178,19 +181,22 @@
     srcs = ["hashtable.cc"],
     hdrs = ["hashtable.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":profile_builder",
+        "//absl/base",
+        "//absl/strings",
+        "//absl/time",
+        "//absl/types:span",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
     ],
     deps = [
-        ":profile_builder",
-        "//absl/base",
         "//absl/base:config",
         "//absl/container:hashtablez_sampler",
         "//absl/status:statusor",
-        "//absl/strings",
         "//absl/strings:string_view",
         "//absl/time",
-        "//absl/types:span",
     ],
 )
diff --git a/absl/random/BUILD.bazel b/absl/random/BUILD.bazel
index d63f8f3..cd480a4 100644
--- a/absl/random/BUILD.bazel
+++ b/absl/random/BUILD.bazel
@@ -76,7 +76,6 @@
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
-        "//absl/base:base_internal",
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/meta:type_traits",
@@ -98,12 +97,10 @@
     srcs = ["seed_gen_exception.cc"],
     hdrs = ["seed_gen_exception.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = ["//absl/base:raw_logging_internal"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
-    deps = [
-        "//absl/base:config",
-        "//absl/base:raw_logging_internal",
-    ],
+    deps = ["//absl/base:config"],
 )
 
 cc_library(
@@ -114,6 +111,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":seed_gen_exception",
@@ -132,6 +130,7 @@
     hdrs = ["bit_gen_ref.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":mocking_access",
diff --git a/absl/random/internal/BUILD.bazel b/absl/random/internal/BUILD.bazel
index 04f9a27..41c78e5 100644
--- a/absl/random/internal/BUILD.bazel
+++ b/absl/random/internal/BUILD.bazel
@@ -168,6 +168,7 @@
         ],
         "//conditions:default": [],
     }),
+    tags = ["nofixdeps"],
     deps = [
         ":fast_uniform_bits",
         "//absl/base:config",
@@ -185,6 +186,16 @@
     srcs = ["entropy_pool.cc"],
     hdrs = ["entropy_pool.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":platform",
+        ":randen",
+        ":seed_material",
+        "//absl/algorithm:container",
+        "//absl/base",
+        "//absl/base:core_headers",
+        "//absl/random:seed_gen_exception",
+        "//absl/types:span",
+    ],
     linkopts = select({
         "@rules_cc//cc/compiler:msvc-cl": [],
         "@rules_cc//cc/compiler:clang-cl": [],
@@ -192,17 +203,7 @@
         "@platforms//os:wasi": [],
         "//conditions:default": ["-pthread"],
     }) + ABSL_DEFAULT_LINKOPTS,
-    deps = [
-        ":platform",
-        ":randen",
-        ":seed_material",
-        "//absl/algorithm:container",
-        "//absl/base",
-        "//absl/base:config",
-        "//absl/base:core_headers",
-        "//absl/random:seed_gen_exception",
-        "//absl/types:span",
-    ],
+    deps = ["//absl/base:config"],
 )
 
 cc_library(
@@ -372,10 +373,10 @@
         "randen.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [":randen_hwaes"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":platform",
-        ":randen_hwaes",
         ":randen_hwaes_impl",
         ":randen_slow",
         "//absl/base:config",
@@ -387,13 +388,16 @@
     srcs = ["randen_slow.cc"],
     hdrs = ["randen_slow.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":platform",
+        "//absl/base:core_headers",
+        "//absl/base:endian",
+        "//absl/numeric:int128",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":platform",
         "//absl/base:config",
-        "//absl/base:core_headers",
-        "//absl/base:endian",
-        "//absl/numeric:int128",
     ],
 )
 
@@ -406,6 +410,7 @@
         "randen_detect.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [":platform"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     deps = [
         ":platform",
@@ -428,6 +433,7 @@
         "//conditions:default": ["-Wno-pass-failed"],
     }),
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     deps = [
         ":platform",
         "//absl/base:config",
@@ -461,13 +467,15 @@
         "distribution_test_util.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    deps = [
-        "//absl/base:config",
+    implementation_deps = [
         "//absl/base:core_headers",
         "//absl/base:raw_logging_internal",
         "//absl/strings",
         "//absl/strings:str_format",
+    ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    deps = [
+        "//absl/base:config",
         "//absl/strings:string_view",
         "//absl/types:span",
     ],
@@ -773,9 +781,7 @@
 cc_library(
     name = "nanobenchmark",
     srcs = ["nanobenchmark.cc"],
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    textual_hdrs = ["nanobenchmark.h"],
-    deps = [
+    implementation_deps = [
         ":platform",
         ":randen_engine",
         "//absl/algorithm:container",
@@ -783,6 +789,9 @@
         "//absl/base:core_headers",
         "//absl/base:raw_logging_internal",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    textual_hdrs = ["nanobenchmark.h"],
+    deps = [":platform"],
 )
 
 cc_library(
diff --git a/absl/status/BUILD.bazel b/absl/status/BUILD.bazel
index 3508b11..3f3a657 100644
--- a/absl/status/BUILD.bazel
+++ b/absl/status/BUILD.bazel
@@ -52,6 +52,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         "//absl/base:atomic_hook",
@@ -59,7 +60,6 @@
         "//absl/base:core_headers",
         "//absl/base:no_destructor",
         "//absl/base:nullability",
-        "//absl/base:raw_logging_internal",
         "//absl/base:strerror",
         "//absl/container:inlined_vector",
         "//absl/debugging:leak_check",
@@ -67,7 +67,6 @@
         "//absl/debugging:symbolize",
         "//absl/functional:function_ref",
         "//absl/hash",
-        "//absl/memory",
         "//absl/strings",
         "//absl/strings:cord",
         "//absl/strings:str_format",
@@ -119,6 +118,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":status",
@@ -178,6 +178,10 @@
     srcs = ["status_builder.cc"],
     hdrs = ["status_builder.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/base:core_headers",
+        "//absl/strings",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:public"],
     deps = [
@@ -185,7 +189,6 @@
         "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:log_severity",
-        "//absl/strings",
         "//absl/strings:cord",
         "//absl/strings:internal",
         "//absl/strings:string_view",
diff --git a/absl/strings/BUILD.bazel b/absl/strings/BUILD.bazel
index 756300e..fcd162f 100644
--- a/absl/strings/BUILD.bazel
+++ b/absl/strings/BUILD.bazel
@@ -39,6 +39,7 @@
     hdrs = ["string_view.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         "//absl/base:config",
@@ -91,6 +92,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     textual_hdrs = [
         # string_view.h was once part of :strings, so string_view.h is
         # re-exported for backwards compatibility.
@@ -114,7 +116,6 @@
         "//absl/base:nullability",
         "//absl/base:raw_logging_internal",
         "//absl/base:throw_delegate",
-        "//absl/memory",
         "//absl/meta:type_traits",
         "//absl/numeric:bits",
         "//absl/numeric:int128",
@@ -137,6 +138,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],  # Logically private. Do not depend on this.
     deps = [
         ":resize_and_overwrite",
@@ -144,7 +146,6 @@
         "//absl/base:core_headers",
         "//absl/base:endian",
         "//absl/base:raw_logging_internal",
-        "//absl/meta:type_traits",
     ],
 )
 
@@ -556,6 +557,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = [
         "//visibility:private",
     ],
@@ -704,6 +706,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":append_and_overwrite",
@@ -740,14 +743,16 @@
     srcs = ["internal/cordz_handle.cc"],
     hdrs = ["internal/cordz_handle.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        "//absl/base:core_headers",
+        "//absl/base:no_destructor",
+        "//absl/synchronization",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//absl:__subpackages__"],
     deps = [
         "//absl/base:config",
-        "//absl/base:core_headers",
-        "//absl/base:no_destructor",
         "//absl/base:raw_logging_internal",
-        "//absl/synchronization",
     ],
 )
 
@@ -756,6 +761,14 @@
     srcs = ["internal/cordz_info.cc"],
     hdrs = ["internal/cordz_info.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":cord_internal",
+        "//absl/base:core_headers",
+        "//absl/base:no_destructor",
+        "//absl/container:inlined_vector",
+        "//absl/debugging:stacktrace",
+        "//absl/time",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
@@ -766,13 +779,9 @@
         ":cordz_handle",
         ":cordz_statistics",
         ":cordz_update_tracker",
-        "//absl/base",
         "//absl/base:config",
         "//absl/base:core_headers",
-        "//absl/base:no_destructor",
         "//absl/base:raw_logging_internal",
-        "//absl/container:inlined_vector",
-        "//absl/debugging:stacktrace",
         "//absl/synchronization",
         "//absl/time",
         "//absl/types:span",
@@ -832,6 +841,7 @@
     hdrs = ["internal/cordz_functions.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = [
         "//absl:__subpackages__",
     ],
@@ -1462,21 +1472,24 @@
         "internal/str_format/parser.h",
     ],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":internal",
+        ":strings",
+        "//absl/container:fixed_array",
+        "//absl/functional:function_ref",
+        "//absl/numeric:bits",
+        "//absl/numeric:representation",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:private"],
     deps = [
-        ":internal",
         ":string_view",
         ":strings",
         "//absl/base:config",
         "//absl/base:core_headers",
-        "//absl/container:fixed_array",
         "//absl/container:inlined_vector",
-        "//absl/functional:function_ref",
         "//absl/meta:type_traits",
-        "//absl/numeric:bits",
         "//absl/numeric:int128",
-        "//absl/numeric:representation",
         "//absl/types:span",
         "//absl/utility",
     ],
@@ -1677,13 +1690,16 @@
     ],
     hdrs = ["internal/generic_printer.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = [
+        ":str_format",
+        ":strings",
+    ],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = [
         "//absl:__subpackages__",
         "@do_not_use_for_gloop_visibility_only//gloop/util/gtl:__pkg__",
     ],
     deps = [
-        ":str_format",
         ":string_view",
         ":strings",
         "//absl/base:config",
diff --git a/absl/strings/charset.h b/absl/strings/charset.h
index 04ad459..3ca1993 100644
--- a/absl/strings/charset.h
+++ b/absl/strings/charset.h
@@ -42,7 +42,7 @@
 //   absl::CharSet hex_letters("abcdef");
 //   hex_letters.contains('a');  // true
 //   hex_letters.contains('g');  // false
-
+// This file is used in both Abseil and OSS.
 #ifndef ABSL_STRINGS_CHARSET_H_
 #define ABSL_STRINGS_CHARSET_H_
 
diff --git a/absl/synchronization/BUILD.bazel b/absl/synchronization/BUILD.bazel
index 7acbec4..c85116f 100644
--- a/absl/synchronization/BUILD.bazel
+++ b/absl/synchronization/BUILD.bazel
@@ -47,16 +47,16 @@
     copts = ABSL_DEFAULT_COPTS + select({
         "//conditions:default": [],
     }),
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    deps = [
+    implementation_deps = [
         "//absl/algorithm:container",
         "//absl/base",
         "//absl/base:base_internal",
-        "//absl/base:config",
         "//absl/base:core_headers",
         "//absl/base:malloc_internal",
         "//absl/base:raw_logging_internal",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    deps = ["//absl/base:config"],
 )
 
 cc_library(
@@ -130,6 +130,7 @@
         "@platforms//os:wasi": [],
         "//conditions:default": ["-pthread"],
     }) + ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":graphcycles_internal",
@@ -294,10 +295,7 @@
     testonly = True,
     srcs = ["mutex_benchmark.cc"],
     copts = ABSL_TEST_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = [
-    ],
-    deps = [
+    implementation_deps = [
         ":synchronization",
         ":thread_pool",
         "//absl/base",
@@ -305,6 +303,10 @@
         "//absl/base:raw_logging_internal",
         "@google_benchmark//:benchmark_main",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = [
+    ],
+    deps = ["@google_benchmark//:benchmark_main"],
     alwayslink = 1,
 )
 
@@ -342,11 +344,7 @@
     testonly = True,
     srcs = ["internal/per_thread_sem_test.cc"],
     copts = ABSL_TEST_COPTS,
-    linkopts = ABSL_DEFAULT_LINKOPTS,
-    visibility = [
-        "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
-    ],
-    deps = [
+    implementation_deps = [
         ":kernel_timeout_internal",
         ":synchronization",
         "//absl/base",
@@ -356,6 +354,10 @@
         "//absl/time",
         "@googletest//:gtest",
     ],
+    linkopts = ABSL_DEFAULT_LINKOPTS,
+    visibility = [
+        "@do_not_use_for_gloop_visibility_only//gloop/base:__subpackages__",
+    ],
     alwayslink = 1,
 )
 
diff --git a/absl/time/BUILD.bazel b/absl/time/BUILD.bazel
index 347e24b..f128b55 100644
--- a/absl/time/BUILD.bazel
+++ b/absl/time/BUILD.bazel
@@ -53,6 +53,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         "//absl/base",
@@ -79,6 +80,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":time",
@@ -102,6 +104,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         ":clock_interface",
@@ -119,12 +122,12 @@
     srcs = ["internal/test_util.cc"],
     hdrs = ["internal/test_util.h"],
     copts = ABSL_DEFAULT_COPTS,
+    implementation_deps = ["//absl/base:raw_logging_internal"],
     linkopts = ABSL_DEFAULT_LINKOPTS,
     visibility = ["//visibility:private"],
     deps = [
         ":time",
         "//absl/base:config",
-        "//absl/base:raw_logging_internal",
     ],
 )
 
diff --git a/absl/types/BUILD.bazel b/absl/types/BUILD.bazel
index f36fc4b..c403d8c 100644
--- a/absl/types/BUILD.bazel
+++ b/absl/types/BUILD.bazel
@@ -53,6 +53,7 @@
     hdrs = ["source_location.h"],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         "//absl/base:config",
@@ -86,6 +87,7 @@
     ],
     copts = ABSL_DEFAULT_COPTS,
     linkopts = ABSL_DEFAULT_LINKOPTS,
+    tags = ["nofixdeps"],
     visibility = ["//visibility:public"],
     deps = [
         "//absl/algorithm",