In the presubmit for auto-bisect, run pylint and unit tests.
[chromium-blink-merge.git] / content / app / BUILD.gn
blobf636d9f3735c42effbf1d52958ebc64f0d1de25e
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 content_app_sources = [
6   "android/app_jni_registrar.cc",
7   "android/app_jni_registrar.h",
8   "android/child_process_service.cc",
9   "android/child_process_service.h",
10   "android/content_main.cc",
11   "android/content_main.h",
12   "android/library_loader_hooks.cc",
13   "content_main.cc",
14   "content_main_runner.cc",
15   "mojo/mojo_init.cc",
16   "mojo/mojo_init.h",
17   "startup_helper_win.cc",
20 content_app_deps = [
21   "//base",
22   "//base:i18n",
23   # This is needed by app/content_main_runner.cc
24   # TODO(brettw) this shouldn't be here, only final executables should be
25   # picking the allocator.
26   "//base/allocator",
27   "//content:export",
28   "//content/public/common",
29   "//crypto",
30   "//ui/base",
31   "//ui/gfx",
32   "//ui/gfx/geometry",
35 if (is_win) {
36   content_app_deps += [ "//sandbox" ]
37 } else if (is_android) {
38   content_app_sources -= [ "content_main.cc" ]
39   content_app_deps += [
40     "//content:content_jni_headers",
41     "//skia",
42     "//third_party/android_tools:cpu_features"
43   ]
46 if (is_ios) {
47   content_app_sources -= [
48     "content_main.cc",
49     "mojo/mojo_init.cc",
50     "mojo/mojo_init.h",
51   ]
52 } else {
53   content_app_deps += [
54     "//mojo/application_manager",
55     "//mojo/environment:chromium",
56     "//mojo/public/interfaces/application",
57     "//mojo/system",
58   ]
61 content_app_extra_configs = [
62   "//build/config/compiler:wexit_time_destructors",
63   "//content:content_implementation",
66 if (is_component_build) {
67   source_set("app") {
68     sources = content_app_sources
69     configs += content_app_extra_configs
70     deps = content_app_deps
71   }
73   # In the component build, all of these app targets redirect to the content
74   # component. The content component in turn references the "app" target above.
75   group("browser") {
76     deps = [ "//content" ]
77   }
78   group("child") {
79     deps = [ "//content" ]
80   }
81   group("both") {
82     deps = [ "//content" ]
83   }
84 } else {
85   # Non-component build. In this case, we have different versions of
86   # "content/app" for the browser and child process.
88   # TODO(GYP) enable chrome_multiple_dll support
89   is_chrome_multiple_dll = false
91   source_set("browser") {
92     sources = content_app_sources
93     configs += content_app_extra_configs
94     deps = content_app_deps
96     if (is_chrome_multiple_dll) {
97       defines += [ "CHROME_MULTIPLE_DLL_BROWSER" ]
98     }
99   }
101   source_set("child") {
102     sources = content_app_sources
103     configs += content_app_extra_configs
104     deps = content_app_deps
106     if (is_chrome_multiple_dll) {
107       defines += [ "CHROME_MULTIPLE_DLL_CHILD" ]
108     }
109   }
111   # Includes both browser and child process app sources.
112   source_set("both") {
113     sources = content_app_sources
114     configs += content_app_extra_configs
115     deps = content_app_deps
116   }