Skip to content

Commit

Permalink
Get 'gn_all' building on iOS in GN builds.
Browse files Browse the repository at this point in the history
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}
  • Loading branch information
dpranke authored and Commit bot committed Dec 15, 2015
1 parent a09e8f3 commit d43eab4
Show file tree
Hide file tree
Showing 15 changed files with 105 additions and 43 deletions.
18 changes: 12 additions & 6 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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")

Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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" ]
}

Expand Down
8 changes: 8 additions & 0 deletions build_overrides/webrtc.gni
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
61 changes: 36 additions & 25 deletions components/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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")

Expand Down Expand Up @@ -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",
Expand All @@ -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",
Expand Down Expand Up @@ -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 = [
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -436,6 +446,7 @@ test("components_perftests") {
"//base/test:test_support",
"//testing/gtest",
"//testing/perf",
"//url",
]
if (!is_ios) {
deps += [
Expand Down
1 change: 1 addition & 0 deletions components/autofill/ios/browser/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ source_set("browser") {

deps = [
":injected_js",
"//base",
"//components/autofill/core/browser",
"//components/autofill/core/common",
"//ios/public/provider/web",
Expand Down
1 change: 1 addition & 0 deletions components/enhanced_bookmarks/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -107,5 +107,6 @@ source_set("unit_tests") {
"//components/bookmarks/test",
"//components/enhanced_bookmarks/proto",
"//sql",
"//ui/gfx",
]
}
1 change: 1 addition & 0 deletions components/favicon/core/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ source_set("unit_tests") {
"//testing/gtest",
"//ui/base",
"//ui/gfx",
"//ui/gfx:test_support",
"//url",
]
}
5 changes: 4 additions & 1 deletion components/policy/core/common/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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" ]

Expand Down
20 changes: 13 additions & 7 deletions components/search_engines/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand All @@ -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",
]
}
}

Expand Down Expand Up @@ -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",
Expand All @@ -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") {
Expand Down
5 changes: 4 additions & 1 deletion components/sessions/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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" ]
}
}
16 changes: 16 additions & 0 deletions components/signin/ios/browser/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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",
]
}

Expand Down Expand Up @@ -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",
]
}
4 changes: 2 additions & 2 deletions components/syncable_prefs/pref_service_syncable_factory.cc
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
3 changes: 3 additions & 0 deletions components/translate/ios/browser/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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",
]
}
Expand All @@ -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",
Expand Down
1 change: 1 addition & 0 deletions components/webp_transcode/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ source_set("unit_tests") {
":webp_transcode",
"//base",
"//net",
"//net:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/ocmock",
Expand Down
2 changes: 2 additions & 0 deletions ios/chrome/browser/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion ios/web/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down

0 comments on commit d43eab4

Please sign in to comment.