| # Copyright 2015 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//base/allocator/allocator.gni") |
| import("//build/apple/tweak_info_plist.gni") |
| import("//build/config/features.gni") |
| import("//build/config/ios/rules.gni") |
| import("//ios/chrome/features.gni") |
| import("//rlz/buildflags/buildflags.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| source_set("chrome_paths") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "chrome_paths.h", |
| "chrome_paths.mm", |
| "chrome_paths_internal.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//build:branding_buildflags", |
| "//components/gcm_driver", |
| ] |
| } |
| |
| source_set("browser") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "application_context.cc", |
| "application_context.h", |
| "arch_util.cc", |
| "arch_util.h", |
| "browser_about_rewriter.cc", |
| "browser_about_rewriter.h", |
| "chrome_browser_provider_observer_bridge.h", |
| "chrome_browser_provider_observer_bridge.mm", |
| "chrome_constants.cc", |
| "chrome_constants.h", |
| "chrome_root_coordinator.h", |
| "chrome_root_coordinator.mm", |
| "chrome_url_util.h", |
| "chrome_url_util.mm", |
| "file_metadata_util.h", |
| "file_metadata_util.mm", |
| "install_time_util.h", |
| "install_time_util.mm", |
| "installation_notifier.h", |
| "installation_notifier.mm", |
| "ios_chrome_field_trials.cc", |
| "ios_chrome_field_trials.h", |
| "ios_chrome_io_thread.h", |
| "ios_chrome_io_thread.mm", |
| "ios_first_run_field_trials.cc", |
| "ios_first_run_field_trials.h", |
| "notification_promo.cc", |
| "notification_promo.h", |
| ] |
| |
| deps = [ |
| ":settings_resources", |
| "//base", |
| "//components/autofill/core/browser", |
| "//components/autofill/ios/browser", |
| "//components/dom_distiller/core", |
| "//components/feature_engagement", |
| "//components/flags_ui", |
| "//components/flags_ui:switches", |
| "//components/handoff", |
| "//components/invalidation/impl:impl", |
| "//components/keyed_service/core", |
| "//components/keyed_service/ios", |
| "//components/metrics", |
| "//components/metrics_services_manager", |
| "//components/net_log", |
| "//components/ntp_tiles", |
| "//components/omnibox/browser", |
| "//components/password_manager/core/common:common", |
| "//components/pref_registry", |
| "//components/prefs", |
| "//components/proxy_config", |
| "//components/proxy_config/ios", |
| "//components/reading_list/ios", |
| "//components/search_engines", |
| "//components/security_state/core", |
| "//components/send_tab_to_self", |
| "//components/strings", |
| "//components/sync", |
| "//components/translate/core/browser", |
| "//components/ukm/ios:features", |
| "//components/unified_consent", |
| "//components/url_formatter", |
| "//components/variations/net", |
| "//components/variations/service", |
| "//components/version_info", |
| "//components/webdata_services", |
| "//google_apis", |
| "//ios/chrome/app/strings", |
| "//ios/chrome/browser/browser_state", |
| "//ios/chrome/browser/complex_tasks", |
| "//ios/chrome/browser/download", |
| "//ios/chrome/browser/itunes_urls", |
| "//ios/chrome/browser/signin:feature_flags", |
| "//ios/chrome/browser/ssl:feature_flags", |
| "//ios/chrome/browser/sync/glue", |
| "//ios/chrome/browser/ui:feature_flags", |
| "//ios/chrome/browser/ui/coordinators:chrome_coordinators", |
| "//ios/chrome/browser/ui/fullscreen:feature_flags", |
| "//ios/chrome/browser/ui/omnibox", |
| "//ios/chrome/browser/ui/toolbar/public:feature_flags", |
| "//ios/chrome/browser/ui/toolbar_container:feature_flags", |
| "//ios/chrome/browser/web:feature_flags", |
| "//ios/chrome/common", |
| "//ios/components/io_thread", |
| "//ios/components/webui:url_constants", |
| "//ios/net", |
| "//ios/public/provider/chrome/browser", |
| "//ios/public/provider/chrome/browser/voice", |
| "//ios/web", |
| "//ios/web/common", |
| "//ios/web/public", |
| "//net", |
| "//rlz/buildflags", |
| "//url", |
| ] |
| public_deps = [ |
| ":chrome_paths", |
| ":chrome_url_constants", |
| ":pref_names", |
| ":utils", |
| ] |
| allow_circular_includes_from = [ |
| "//ios/chrome/browser/sync/glue", |
| "//ios/chrome/browser/browser_state", |
| ] |
| frameworks = [ "UIKit.framework" ] |
| } |
| |
| source_set("utils") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "chrome_switches.cc", |
| "chrome_switches.h", |
| "procedural_block_types.h", |
| "system_flags.h", |
| "system_flags.mm", |
| ] |
| deps = [ |
| "//base", |
| "//build:branding_buildflags", |
| "//components/autofill/core/common", |
| "//components/password_manager/core/common", |
| "//components/variations", |
| "//ios/chrome/browser/browsing_data:feature_flags", |
| "//ios/chrome/browser/passwords:feature_flags", |
| "//ios/chrome/browser/ui:feature_flags", |
| "//ios/chrome/browser/ui/infobars:feature_flags", |
| ] |
| } |
| |
| source_set("chrome_url_constants") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "chrome_url_constants.cc", |
| "chrome_url_constants.h", |
| ] |
| |
| deps = [ |
| "//base", |
| "//ios/components/webui:url_constants", |
| ] |
| frameworks = [ "UIKit.framework" ] |
| } |
| |
| source_set("pref_names") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "pref_names.cc", |
| "pref_names.h", |
| ] |
| } |
| |
| source_set("browser_impl") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| sources = [ |
| "application_context_impl.h", |
| "application_context_impl.mm", |
| "ios_chrome_main_parts.h", |
| "ios_chrome_main_parts.mm", |
| ] |
| deps = [ |
| ":browser", |
| "//base", |
| "//base/allocator:buildflags", |
| "//components/component_updater", |
| "//components/content_settings/core/browser", |
| "//components/content_settings/core/common", |
| "//components/flags_ui", |
| "//components/gcm_driver", |
| "//components/history/core/browser", |
| "//components/keyed_service/core", |
| "//components/language/core/browser", |
| "//components/language_usage_metrics", |
| "//components/metrics", |
| "//components/metrics:child_call_stack_profile_builder", |
| "//components/metrics_services_manager", |
| "//components/net_log", |
| "//components/network_time", |
| "//components/open_from_clipboard", |
| "//components/prefs", |
| "//components/rappor", |
| "//components/safe_browsing/core:features", |
| "//components/sessions", |
| "//components/translate/core/browser", |
| "//components/ukm", |
| "//components/ukm/ios:features", |
| "//components/update_client", |
| "//components/variations", |
| "//components/variations/field_trial_config", |
| "//components/variations/service", |
| "//components/version_info", |
| "//ios/chrome/app:tests_hook", |
| "//ios/chrome/browser/browser_state", |
| "//ios/chrome/browser/browser_state:browser_state_impl", |
| "//ios/chrome/browser/component_updater", |
| "//ios/chrome/browser/crash_report/breadcrumbs", |
| "//ios/chrome/browser/crash_report/breadcrumbs:application_breadcrumbs_logger", |
| "//ios/chrome/browser/crash_report/breadcrumbs:feature_flags", |
| "//ios/chrome/browser/first_run", |
| "//ios/chrome/browser/flags", |
| "//ios/chrome/browser/gcm", |
| "//ios/chrome/browser/history", |
| "//ios/chrome/browser/metrics", |
| "//ios/chrome/browser/metrics:expired_histograms_array", |
| "//ios/chrome/browser/net", |
| "//ios/chrome/browser/open_from_clipboard", |
| "//ios/chrome/browser/policy", |
| "//ios/chrome/browser/prefs", |
| "//ios/chrome/browser/prefs:browser_prefs", |
| "//ios/chrome/browser/safe_browsing", |
| "//ios/chrome/browser/send_tab_to_self", |
| "//ios/chrome/browser/translate", |
| "//ios/chrome/browser/update_client", |
| "//ios/chrome/common", |
| "//ios/chrome/common/app_group", |
| "//ios/public/provider/chrome/browser", |
| "//ios/web", |
| "//ios/web/public/init", |
| "//net", |
| "//rlz/buildflags", |
| "//services/network:network_service", |
| "//ui/base", |
| ] |
| |
| if (enable_rlz) { |
| deps += [ "//ios/chrome/browser/rlz" ] |
| } |
| |
| # Heap profiling is not compiled unless use_allocator_shim is true, as some of |
| # its dependencies require the allocator shim. This variable may be set to |
| # false, for example, in cronet builds. |
| if (use_allocator_shim) { |
| deps += [ "//components/heap_profiling/in_process" ] |
| } |
| } |
| |
| tweak_info_plist("experimental_info_plist") { |
| info_plists = [ "resources/Settings.bundle/Experimental.plist" ] |
| if (ios_enable_metrickit) { |
| info_plists += [ "resources/Settings.bundle/ExperimentalMetricKit.plist" ] |
| } |
| info_plists += [ |
| "resources/Settings.bundle/ExperimentalFlags.plist", |
| "resources/Settings.bundle/ExperimentalBlank.plist", |
| ] |
| } |
| |
| bundle_data("settings_resources_experimental_plist") { |
| public_deps = [ ":experimental_info_plist" ] |
| sources = get_target_outputs(":experimental_info_plist") |
| outputs = [ "{{bundle_resources_dir}}/Settings.bundle/Experimental.plist" ] |
| } |
| |
| bundle_data("settings_resources") { |
| public_deps = [ ":settings_resources_experimental_plist" ] |
| sources = [ "resources/Settings.bundle/Root.plist" ] |
| outputs = [ "{{bundle_resources_dir}}/Settings.bundle/{{source_file_part}}" ] |
| } |
| |
| source_set("unit_tests") { |
| configs += [ "//build/config/compiler:enable_arc" ] |
| testonly = true |
| sources = [ |
| "browser_about_rewriter_unittest.cc", |
| "chrome_browser_provider_observer_bridge_unittest.mm", |
| "chrome_url_util_unittest.mm", |
| "install_time_util_unittest.mm", |
| "installation_notifier_unittest.mm", |
| "notification_promo_unittest.cc", |
| ] |
| deps = [ |
| ":browser", |
| "//base", |
| "//base/test:test_support", |
| "//components/prefs", |
| "//components/prefs:test_support", |
| "//components/proxy_config", |
| "//components/variations", |
| "//ios/components/webui:url_constants", |
| "//ios/public/provider/chrome/browser", |
| "//ios/public/provider/chrome/browser/signin", |
| "//ios/web/public/test", |
| "//net", |
| "//net:test_support", |
| "//testing/gtest", |
| "//third_party/ocmock", |
| "//url", |
| ] |
| } |