Index: components/sessions/BUILD.gn |
diff --git a/components/sessions/BUILD.gn b/components/sessions/BUILD.gn |
index f2ada0545aee1890d319f722324ae5c0f51b0e5d..1b75012a6867470cb07afa3403e8132056193e8c 100644 |
--- a/components/sessions/BUILD.gn |
+++ b/components/sessions/BUILD.gn |
@@ -6,14 +6,12 @@ if (is_android) { |
import("//build/config/android/config.gni") |
} |
-component("sessions") { |
+# TODO(rohitrao): sessions_core is defined as a source_set because it declares a |
+# static function that it does not define. This prevents it from linking as a |
+# shared_library. It also cannot be a static_library because it will be linked |
+# into multiple shared libraries. Revisit this setup if necessary. |
+source_set("sessions_core") { |
sources = [ |
- # TODO(rohitrao): Split this target into three separate core, content, |
- # and web targets. |
- "content/content_serialized_navigation_builder.cc", |
- "content/content_serialized_navigation_builder.h", |
- "content/content_serialized_navigation_driver.cc", |
- "content/content_serialized_navigation_driver.h", |
"core/serialized_navigation_driver.h", |
"serialized_navigation_entry.cc", |
"serialized_navigation_entry.h", |
@@ -25,8 +23,6 @@ component("sessions") { |
deps = [ |
"//base", |
- "//base/third_party/dynamic_annotations", |
- "//content/public/browser", |
"//skia", |
"//ui/base", |
"//url", |
@@ -37,6 +33,26 @@ component("sessions") { |
} |
} |
+component("sessions_content") { |
+ sources = [ |
+ "content/content_serialized_navigation_builder.cc", |
+ "content/content_serialized_navigation_builder.h", |
+ "content/content_serialized_navigation_driver.cc", |
+ "content/content_serialized_navigation_driver.h", |
+ ] |
+ |
+ defines = [ "SESSIONS_IMPLEMENTATION" ] |
+ |
+ deps = [ |
+ ":sessions_core", |
+ "//base", |
+ "//base/third_party/dynamic_annotations", |
+ "//content/public/browser", |
+ "//ui/base", |
+ "//url", |
+ ] |
+} |
+ |
static_library("test_support") { |
testonly = true |
sources = [ |