Index: ios/web_view/internal/BUILD.gn |
diff --git a/ios/web_view/internal/BUILD.gn b/ios/web_view/internal/BUILD.gn |
index 496def8e8c552235f808c96e6b8443c0463a6721..ce0352a1511806fb6f47673662e4e3d32dd3ed8a 100644 |
--- a/ios/web_view/internal/BUILD.gn |
+++ b/ios/web_view/internal/BUILD.gn |
@@ -2,7 +2,25 @@ |
# Use of this source code is governed by a BSD-style license that can be |
# found in the LICENSE file. |
-source_set("internal") { |
+DEPS = [ |
sdefresne
2017/02/06 14:22:44
nit: I would name this "_deps" to mark that this i
Hiroshi Ichikawa
2017/02/07 03:40:34
Done.
|
+ "//base", |
+ "//components/pref_registry", |
+ "//components/prefs", |
+ "//components/translate/core/browser", |
+ "//components/translate/core/common", |
+ "//ios/net", |
+ "//ios/web", |
+ "//ios/web:user_agent", |
+ "//ios/web/public/app", |
+ "//ios/web_view/internal/translate", |
+ "//ios/web_view/public", |
+ "//net", |
+ "//net:extras", |
+ "//ui/base", |
+ "//url", |
+] |
+ |
+static_library("internal") { |
visibility = [ |
"//ios/web_view", |
"//ios/web_view/internal/*", |
@@ -27,22 +45,44 @@ source_set("internal") { |
"pref_names.cc", |
"pref_names.h", |
] |
+ deps = DEPS |
+ allow_circular_includes_from = [ "//ios/web_view/internal/translate" ] |
+} |
+ |
+# A static library which contains all dependencies of "internal". |
+# Used to build "web_view". |
+static_library("deps_complete") { |
+ complete_static_lib = true |
+ deps = DEPS |
+} |
+ |
+# A static library expected to be used by apps outside Chromium code base. |
+# This is a complete static library (containing all dependencies), |
+# and it doesn't expose internal symbols to reduce risk of symbol conflict. |
+# |
+# //ios/web_view:web_view_public is an alias of this library. |
+# |
+# TODO(ichikawa): Support building a universal binary. |
+action("lib_web_view") { |
+ script = "hide_symbols.py" |
deps = [ |
- "//base", |
- "//components/pref_registry", |
- "//components/prefs", |
- "//components/translate/core/browser", |
- "//components/translate/core/common", |
- "//ios/net", |
- "//ios/web", |
- "//ios/web:user_agent", |
- "//ios/web/public/app", |
- "//ios/web_view/internal/translate", |
- "//ios/web_view/public", |
- "//net", |
- "//net:extras", |
- "//ui/base", |
- "//url", |
+ ":deps_complete", |
+ ":internal", |
+ ] |
+ outputs = [ |
+ "$target_out_dir/libweb_view.a", |
+ "$target_out_dir/libweb_view.o", |
+ ] |
+ args = [ |
+ "--input_lib", |
+ rebase_path("$target_out_dir/libinternal.a", root_build_dir), |
+ "--deps_lib", |
+ rebase_path("$target_out_dir/libdeps_complete.a", root_build_dir), |
+ "--output_obj", |
+ rebase_path("$target_out_dir/libweb_view.o", root_build_dir), |
+ "--output_lib", |
+ rebase_path("$target_out_dir/libweb_view.a", root_build_dir), |
+ "--current_cpu", |
+ current_cpu, |
] |
- allow_circular_includes_from = [ "//ios/web_view/internal/translate" ] |
} |