Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(14)

Unified Diff: components/cronet/ios/BUILD.gn

Issue 2807283002: [Cronet] Build static libcronet.a for iOS with complete dependencies. (Closed)
Patch Set: Remove cronet_sample, make cronet_consumer_static buildable with lib_cronet. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/cronet/ios/BUILD.gn
diff --git a/components/cronet/ios/BUILD.gn b/components/cronet/ios/BUILD.gn
index 716fa0b47ef7212d96362b7236a846d969a6b4b2..20b0bc08999ba41c9862078f1bf18d3c60350be2 100644
--- a/components/cronet/ios/BUILD.gn
+++ b/components/cronet/ios/BUILD.gn
@@ -73,6 +73,52 @@ tweak_info_plist("tweak_cronet_plist") {
info_plist = "Info.plist"
}
+_deps = [
+ ":cronet_version_header",
+ ":generate_accept_languages",
+ "//base:base",
+ "//components/grpc_support",
+ "//components/metrics:metrics",
+ "//components/metrics/proto:proto",
+ "//components/prefs:prefs",
+ "//ios/net:net",
+ "//ios/web:user_agent",
+ "//net",
+ "//url",
+]
+
+static_library("cronet_static") {
+ deps = _deps
+
+ visibility = [ ":*" ]
+
+ include_dirs = [ "//components/grpc_support/include" ]
+
+ public_deps = [
+ "//components/grpc_support",
+ ]
+
+ public_headers = [
+ "Cronet.h",
+ "cronet_c_for_grpc.h",
+ ]
+ public_headers += grpc_public_headers
+
+ sources = [
+ "../histogram_manager.cc",
+ "../histogram_manager.h",
+ "../stale_host_resolver.cc",
+ "../stale_host_resolver.h",
+ "../url_request_context_config.cc",
+ "../url_request_context_config.h",
+ "Cronet.h",
+ "Cronet.mm",
+ "cronet_c_for_grpc.h",
+ "cronet_environment.h",
+ "cronet_environment.mm",
+ ]
+}
+
ios_framework_bundle("cronet_framework") {
output_name = "Cronet"
info_plist_target = ":tweak_cronet_plist"
@@ -137,6 +183,51 @@ action("generate_accept_languages") {
]
}
+# A static library which contains all dependencies of :cronet_static.
+static_library("deps_complete") {
kapishnikov 2017/05/17 16:02:49 Should we add "cronet_" prefix in front of the nam
mef 2017/05/19 18:07:58 Done.
+ visibility = [ ":*" ]
+ complete_static_lib = true
+ deps = _deps
kapishnikov 2017/05/17 16:02:48 Why don't we add "cronet_static" as the dependency
+}
+
+config("cronet_config") {
+ libs = [
+ "$target_out_dir/libcronet.a",
+ "UIKit.Framework",
+ "CFNetwork.framework",
+ "MobileCoreServices.framework",
+ "Security.framework",
+ "SystemConfiguration.framework",
+ "resolv",
+ ]
+}
+
+action("lib_cronet") {
kapishnikov 2017/05/17 16:02:49 Is it possible to build a static iOS framework and
mef 2017/05/19 18:07:58 Yes, we should be able to do that. Next patch mayb
+ script = "//components/cronet/tools/hide_symbols.py"
+ deps = [
+ ":cronet_static",
+ ":deps_complete",
+ ]
+ outputs = [
+ "$target_out_dir/libcronet.a",
+ "$target_out_dir/libcronet.o",
+ ]
+ args = [
+ "--input_libs",
+ rebase_path("$target_out_dir/libcronet_static.a", root_build_dir),
+ "--deps_lib",
+ rebase_path("$target_out_dir/libdeps_complete.a", root_build_dir),
+ "--output_obj",
+ rebase_path("$target_out_dir/libcronet.o", root_build_dir),
+ "--output_lib",
+ rebase_path("$target_out_dir/libcronet.a", root_build_dir),
+ "--current_cpu",
+ current_cpu,
+ ]
+
+ public_configs = [ ":cronet_config" ]
+}
+
if (additional_toolchains == [] || current_toolchain == default_toolchain) {
_package_dir = "$root_out_dir/cronet"
@@ -163,6 +254,7 @@ if (additional_toolchains == [] || current_toolchain == default_toolchain) {
copy("cronet_package_copy") {
sources = [
"$root_out_dir/Cronet.framework",
+ "$target_out_dir/libcronet.a",
"//AUTHORS",
"//chrome/VERSION",
]
@@ -172,6 +264,7 @@ if (additional_toolchains == [] || current_toolchain == default_toolchain) {
deps = [
":cronet_framework",
+ ":lib_cronet",
]
}
« no previous file with comments | « no previous file | components/cronet/ios/cronet_consumer/BUILD.gn » ('j') | components/cronet/ios/cronet_consumer/BUILD.gn » ('J')

Powered by Google App Engine
This is Rietveld 408576698