Add ICU message format support
[chromium-blink-merge.git] / content / app / BUILD.gn
blob463d9f18b4dd15ec076044cb559fe1c658980a6e
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//build/config/chrome_build.gni")
7 content_app_sources = [
8   "android/app_jni_registrar.cc",
9   "android/app_jni_registrar.h",
10   "android/child_process_service.cc",
11   "android/child_process_service.h",
12   "android/content_jni_onload.cc",
13   "android/content_main.cc",
14   "android/content_main.h",
15   "android/library_loader_hooks.cc",
16   "android/library_loader_hooks.h",
17   "content_main.cc",
18   "content_main_runner.cc",
19   "mac/mac_init.mm",
20   "mac/mac_init.h",
21   "mojo/mojo_init.cc",
22   "mojo/mojo_init.h",
25 content_app_deps = [
26   "//base",
27   "//base:i18n",
29   # This is needed by app/content_main_runner.cc
30   # TODO(brettw) this shouldn't be here, only final executables should be
31   # picking the allocator.
32   "//base/allocator",
33   "//content:export",
34   "//content:startup_helper_win",
35   "//content/public/common:common_sources",
36   "//content/public/common:mojo_bindings",
37   "//crypto",
38   "//ui/base",
39   "//ui/gfx",
40   "//ui/gfx/geometry",
43 if (is_win) {
44   content_app_deps += [ "//sandbox" ]
45 } else if (is_android) {
46   content_app_sources -= [ "content_main.cc" ]
47   content_app_deps += [
48     "//content/public/android:jni",
49     "//device/vibration",
50     "//skia",
51     "//third_party/android_tools:cpu_features",
52     "//ui/android",
53   ]
56 if (is_ios) {
57   content_app_sources -= [
58     "content_main.cc",
59     "mojo/mojo_init.cc",
60     "mojo/mojo_init.h",
61   ]
62 } else {
63   content_app_deps += [
64     "//mojo/application/public/interfaces",
65     "//mojo/environment:chromium",
66     "//third_party/mojo/src/mojo/edk/system",
67   ]
70 content_app_extra_configs = [
71   "//build/config/compiler:wexit_time_destructors",
72   "//content:content_implementation",
75 if (!is_multi_dll_chrome) {
76   content_app_deps += [ "//content/gpu:gpu_sources" ]
79 # This includes the app sources for both the browser and child processes.
80 source_set("both") {
81   # Only the public target should depend on this. All other targets (even
82   # internal content ones) should depend on the public one.
83   visibility = [ "//content/public/app:*" ]
85   sources = content_app_sources
86   configs += content_app_extra_configs
87   deps = content_app_deps
90 if (is_multi_dll_chrome) {
91   # It doesn't make sense to do the browser/child dll split in component mode.
92   assert(!is_component_build)
94   source_set("browser") {
95     visibility = [ "//content/public/app:browser" ]
97     sources = content_app_sources
98     configs += content_app_extra_configs
99     deps = content_app_deps
101     defines = [ "CHROME_MULTIPLE_DLL_BROWSER" ]
102   }
104   source_set("child") {
105     visibility = [ "//content/public/app:child" ]
107     sources = content_app_sources
108     configs += content_app_extra_configs
109     deps = content_app_deps
111     defines = [ "CHROME_MULTIPLE_DLL_CHILD" ]
112   }