aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pw_polyfill/BUILD.gn2
-rw-r--r--pw_span/BUILD.gn29
2 files changed, 23 insertions, 8 deletions
diff --git a/pw_polyfill/BUILD.gn b/pw_polyfill/BUILD.gn
index ff9f4db5e..b173e066b 100644
--- a/pw_polyfill/BUILD.gn
+++ b/pw_polyfill/BUILD.gn
@@ -50,7 +50,7 @@ pw_source_set("overrides") {
remove_public_deps = [ "*" ]
public_deps = [
":standard_library",
- "$dir_pw_span",
+ "$dir_pw_span:polyfill",
]
inputs = [
"public_overrides/array",
diff --git a/pw_span/BUILD.gn b/pw_span/BUILD.gn
index bead2ef07..e1c3f1171 100644
--- a/pw_span/BUILD.gn
+++ b/pw_span/BUILD.gn
@@ -18,19 +18,34 @@ import("$dir_pw_build/target_types.gni")
import("$dir_pw_docgen/docs.gni")
import("$dir_pw_unit_test/test.gni")
-config("default_config") {
- include_dirs = [
- "public",
- "public_overrides",
- ]
+config("public_config") {
+ include_dirs = [ "public" ]
+ visibility = [ ":*" ]
}
+config("overrides_config") {
+ include_dirs = [ "public_overrides" ]
+ visibility = [ ":*" ]
+}
+
+# This source set provides the <span> header, which is accessed only through
+# pw_polyfill.
+pw_source_set("polyfill") {
+ remove_public_deps = [ "*" ]
+ public_configs = [ ":overrides_config" ]
+ public_deps = [ ":pw_span" ]
+ public = [ "public_overrides/span" ]
+ visibility = [ "$dir_pw_polyfill:*" ]
+}
+
+# This source set provides the internal span.h header included by <span>. This
+# source set is only used by pw_polyfill, so its visibility is restricted.
pw_source_set("pw_span") {
remove_public_deps = [ "*" ]
- public_configs = [ ":default_config" ]
+ public_configs = [ ":public_config" ]
public_deps = [ "$dir_pw_polyfill" ]
- public = [ "public_overrides/span" ]
sources = [ "public/pw_span/internal/span.h" ]
+ visibility = [ ":*" ]
}
pw_test_group("tests") {