0

Get 'gn_all' building on iOS in GN builds.

This gets 'gn_all' building on iOS so we can start adding tryservers
to the CQ and turn on the waterfall bots.

At the moment WebRTC doesn't quite work on iOS, so we don't build
the components that need to depend on it; we add an 'ios_use_webrtc'
arg so that we can hack around it locally to build the rest of iOS,
but that arg should be deleted and WebRTC fixed.

R=sdefresne@chromium.org, brettw@chromium.org
BUG=459705, webrtc:5213
CQ_EXTRA_TRYBOTS=tryserver.chromium.mac:ios_dbg_simulator_gn,ios_rel_device_gn

Review URL: https://codereview.chromium.org/1467803003

Cr-Commit-Position: refs/heads/master@{#365373}
This commit is contained in:
dpranke
2015-12-15 15:10:44 -08:00
committed by Commit bot
parent a09e8f3d65
commit d43eab4836
15 changed files with 105 additions and 43 deletions
BUILD.gn
build_overrides
components
BUILD.gn
autofill
ios
browser
enhanced_bookmarks
favicon
policy
core
common
search_engines
sessions
signin
ios
browser
syncable_prefs
translate
ios
browser
webp_transcode
ios
chrome
browser
web

@ -12,6 +12,7 @@ import("//build/config/features.gni")
import("//build/config/sanitizers/sanitizers.gni")
import("//build/config/ui.gni")
import("//build_overrides/v8.gni")
import("//build_overrides/webrtc.gni")
import("//media/media_options.gni")
import("//third_party/openh264/openh264_args.gni")
@ -205,17 +206,22 @@ group("both_gn_and_gyp") {
]
} else {
deps += [
"//ios/chrome:ios_chrome_unittests",
"//ios/chrome/app",
"//ios/chrome/browser",
"//ios/chrome/common",
"//ios/net:ios_net_unittests",
"//ios/public/provider/chrome/browser",
"//ios/public/provider/web",
"//ios/testing:ocmock_support_unittest",
"//ios/web:ios_web_unittests",
"//ios/web/shell:ios_web_shell",
]
if (ios_use_webrtc) {
deps += [
"//ios/chrome:ios_chrome_unittests",
"//ios/chrome/app",
"//ios/chrome/browser",
"//ios/chrome/common",
"//ios/public/provider/chrome/browser",
]
}
}
deps += root_extra_deps
@ -596,7 +602,7 @@ group("both_gn_and_gyp") {
deps += [ "//chromecast:cast_shell" ]
}
if (is_ios || is_mac) {
if (is_mac) { # TODO(GYP) || is_ios
deps += [ "//media/cast:cast_h264_vt_encoder_unittests" ]
}

@ -10,3 +10,11 @@ rtc_include_pulse_audio = false
# Exclude internal ADM since Chromium uses its own IO handling.
rtc_include_internal_audio_device = false
declare_args() {
# TODO(dpranke): This is a hack needed to get iOS to build w/ a
# patched version of WebRTC so that we can access the xmllite
# library. Remove this once we've figured out how to get WebRTC building
# properly.
ios_use_webrtc = false
}

@ -4,6 +4,7 @@
import("//build/config/features.gni")
import("//build/config/ui.gni")
import("//build_overrides/webrtc.gni")
import("//testing/test.gni")
import("//tools/grit/repack.gni")
@ -46,45 +47,26 @@ test("components_unittests") {
deps = [
"//base",
"//base/test:test_support",
"//components/autofill/core/browser:unit_tests",
"//components/autofill/core/common:unit_tests",
"//components/bookmarks/browser:unit_tests",
"//components/bookmarks/managed:unit_tests",
"//components/browser_sync/browser:unit_tests",
"//components/compression:unit_tests",
"//components/content_settings/core/browser:unit_tests",
"//components/content_settings/core/common",
"//components/content_settings/core/common:unit_tests",
"//components/data_usage/core:unit_tests",
"//components/dom_distiller/core:unit_tests",
"//components/enhanced_bookmarks:unit_tests",
"//components/favicon/core:unit_tests",
"//components/favicon_base:unit_tests",
"//components/flags_ui:unit_tests",
"//components/gcm_driver:unit_tests",
"//components/google/core/browser:unit_tests",
"//components/history/core/browser:unit_tests",
"//components/history/core/common:unit_tests",
"//components/invalidation/impl:unit_tests",
"//components/keyed_service/core:unit_tests",
"//components/leveldb_proto:unit_tests",
"//components/metrics:unit_tests",
"//components/net_log:unit_tests",
"//components/network_time:unit_tests",
"//components/omnibox/browser:unit_tests",
"//components/open_from_clipboard:unit_tests",
"//components/os_crypt:unit_tests",
"//components/password_manager/core/browser:unit_tests",
"//components/password_manager/core/common:unit_tests",
"//components/password_manager/sync/browser:unit_tests",
"//components/proxy_config:unit_tests",
"//components/rappor:unit_tests",
"//components/search:unit_tests",
"//components/search_engines:unit_tests",
"//components/sessions:unit_tests",
"//components/signin/core/browser:unit_tests",
"//components/suggestions:unit_tests",
"//components/sync_driver:unit_tests",
"//components/syncable_prefs:unit_tests",
"//components/translate/core/browser:unit_tests",
"//components/translate/core/common:unit_tests",
@ -99,16 +81,16 @@ test("components_unittests") {
"//testing/gtest",
"//third_party/mojo/src/mojo/edk/embedder:headers",
"//ui/base",
"//ui/gl:test_support",
"//ui/resources:ui_test_pak",
]
if (is_ios) {
deps += [
"//components/signin/ios/browser:unit_tests",
"//components/translate/ios/browser:unit_tests",
"//components/webp_transcode:unit_tests",
]
deps += [ "//components/translate/ios/browser:unit_tests" ]
if (target_cpu != "arm") {
# TODO(GYP): iOS arm builds of libwebp don't work yet.
deps += [ "//components/webp_transcode:unit_tests" ]
}
} else { # !iOS
deps += [
"//components/auto_login_parser:unit_tests",
@ -174,6 +156,7 @@ test("components_unittests") {
# These are the deps required by the code in this target.
"//components/policy:policy_component",
"//content/test:test_support",
"//ui/gl:test_support",
]
data_deps = [
@ -242,6 +225,33 @@ test("components_unittests") {
]
}
if (!is_ios || ios_use_webrtc) {
deps += [
"//components/autofill/core/browser:unit_tests",
"//components/autofill/core/common:unit_tests",
"//components/browser_sync/browser:unit_tests",
"//components/enhanced_bookmarks:unit_tests",
"//components/favicon/core:unit_tests",
"//components/favicon_base:unit_tests",
"//components/gcm_driver:unit_tests",
"//components/history/core/browser:unit_tests",
"//components/history/core/common:unit_tests",
"//components/invalidation/impl:unit_tests",
"//components/omnibox/browser:unit_tests",
"//components/password_manager/core/browser:unit_tests",
"//components/password_manager/core/common:unit_tests",
"//components/password_manager/sync/browser:unit_tests",
"//components/rappor:unit_tests",
"//components/search:unit_tests",
"//components/signin/core/browser:unit_tests",
"//components/sync_driver:unit_tests",
]
}
if (ios_use_webrtc) {
deps += [ "//components/signin/ios/browser:unit_tests" ]
}
if (toolkit_views) {
# TODO bug 522654 Enable this when the undefined symbol is fixed in
# web_modal such that this links.
@ -436,6 +446,7 @@ test("components_perftests") {
"//base/test:test_support",
"//testing/gtest",
"//testing/perf",
"//url",
]
if (!is_ios) {
deps += [

@ -24,6 +24,7 @@ source_set("browser") {
deps = [
":injected_js",
"//base",
"//components/autofill/core/browser",
"//components/autofill/core/common",
"//ios/public/provider/web",

@ -107,5 +107,6 @@ source_set("unit_tests") {
"//components/bookmarks/test",
"//components/enhanced_bookmarks/proto",
"//sql",
"//ui/gfx",
]
}

@ -62,6 +62,7 @@ source_set("unit_tests") {
"//testing/gtest",
"//ui/base",
"//ui/gfx",
"//ui/gfx:test_support",
"//url",
]
}

@ -5,7 +5,10 @@
import("//build/config/features.gni")
source_set("common") {
visibility = [ "//components/policy/*" ]
visibility = [
"//components/policy/*",
"//components/syncable_prefs/*",
]
defines = [ "POLICY_COMPONENT_IMPLEMENTATION" ]

@ -66,7 +66,6 @@ static_library("search_engines") {
# omnibox/browser target, but should ideally be fixed, then this
# dependency added:
#"//components/omnibox/browser",
"//components/policy:policy_component",
"//components/pref_registry",
"//components/rappor",
"//components/strings",
@ -89,7 +88,10 @@ static_library("search_engines") {
"default_search_policy_handler.cc",
"default_search_policy_handler.h",
]
deps += [ "//components/policy" ]
deps += [
"//components/policy",
"//components/policy:policy_component",
]
}
}
@ -122,17 +124,12 @@ source_set("unit_tests") {
"template_url_service_util_unittest.cc",
"template_url_unittest.cc",
]
if (enable_configuration_policy) {
sources += [ "default_search_policy_handler_unittest.cc" ]
}
deps = [
":prepopulated_engines",
":test_support",
"//base",
"//components/google/core/browser",
"//components/policy",
"//components/policy:policy_component_test_support",
"//components/pref_registry:test_support",
"//components/sync_driver:test_support",
"//components/webdata/common",
@ -142,6 +139,15 @@ source_set("unit_tests") {
"//testing/gtest",
"//url",
]
if (enable_configuration_policy) {
sources += [ "default_search_policy_handler_unittest.cc" ]
deps += [
"//components/policy",
"//components/policy:policy_component_test_support",
]
}
}
json_to_struct("prepopulated_engines") {

@ -180,10 +180,13 @@ source_set("unit_tests") {
deps = [
":test_support",
"//base/test:test_support",
"//content/public/common",
"//sync",
"//testing/gtest",
"//ui/base", # For page transition types.
"//url",
]
if (!is_ios) {
deps += [ "//content/public/common" ]
}
}

@ -17,8 +17,17 @@ source_set("browser") {
]
deps = [
"//base",
"//base:prefs",
"//components/content_settings/core/browser",
"//components/google/core/browser",
"//components/keyed_service/core",
"//components/pref_registry",
"//components/signin/core/browser",
"//components/signin/core/common",
"//google_apis",
"//ios/web",
"//net",
]
}
@ -47,7 +56,14 @@ source_set("unit_tests") {
deps = [
":test_support",
"//base:prefs",
"//base:prefs_test_support",
"//components/pref_registry:test_support",
"//components/signin/core/browser",
"//components/signin/core/browser:test_support",
"//components/signin/core/common",
"//ios/web",
"//ios/web:test_support",
"//third_party/ocmock",
]
}

@ -14,8 +14,8 @@
#if defined(ENABLE_CONFIGURATION_POLICY)
#include "components/policy/core/browser/browser_policy_connector.h"
#include "components/policy/core/browser/configuration_policy_pref_store.h"
#include "components/policy/core/common/policy_service.h"
#include "components/policy/core/common/policy_types.h"
#include "components/policy/core/common/policy_service.h" // nogncheck
#include "components/policy/core/common/policy_types.h" // nogncheck
#endif
namespace syncable_prefs {

@ -21,10 +21,12 @@ source_set("browser") {
deps = [
":injected_js",
"//base",
"//base:prefs",
"//components/translate/core/browser",
"//components/translate/core/common",
"//components/translate/core/language_detection",
"//ios/web",
"//ui/base",
"//url",
]
}
@ -48,6 +50,7 @@ source_set("unit_tests") {
deps = [
":browser",
"//base",
"//base:prefs_test_support",
"//components/resources",
"//components/translate/core/common",
"//ios/web:test_support",

@ -31,6 +31,7 @@ source_set("unit_tests") {
":webp_transcode",
"//base",
"//net",
"//net:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/ocmock",

@ -249,6 +249,7 @@ source_set("browser") {
"net/proxy_service_factory.h",
"net/retryable_url_fetcher.h",
"net/retryable_url_fetcher.mm",
"ntp_snippets/ios_chrome_ntp_snippets_service_factory.cc",
"open_from_clipboard/create_clipboard_recent_content.h",
"open_from_clipboard/create_clipboard_recent_content.mm",
"passwords/ios_chrome_password_manager_setting_migrator_service_factory.cc",
@ -507,6 +508,7 @@ source_set("browser") {
"//components/metrics:ui",
"//components/net_log",
"//components/network_time",
"//components/ntp_snippets",
"//components/omnibox/browser",
"//components/open_from_clipboard",
"//components/password_manager/core/browser",

@ -221,7 +221,7 @@ source_set("web") {
"web_state/js/crw_js_plugin_placeholder_manager.h",
"web_state/js/crw_js_plugin_placeholder_manager.mm",
"web_state/js/crw_js_post_request_loader.h",
"web_state/js/crw_js_post_request_loader.h",
"web_state/js/crw_js_post_request_loader.mm",
"web_state/js/crw_js_window_id_manager.h",
"web_state/js/crw_js_window_id_manager.mm",
"web_state/js/page_script_util.h",