forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBUILD.gn
106 lines (90 loc) · 2.62 KB
/
BUILD.gn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# Copyright 2014 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.
# TODO(GYP) enable chrome_multiple_dll support
is_chrome_multiple_dll = false
content_app_sources = [
"android/app_jni_registrar.cc",
"android/app_jni_registrar.h",
"android/child_process_service.cc",
"android/child_process_service.h",
"android/content_main.cc",
"android/content_main.h",
"android/library_loader_hooks.cc",
"content_main.cc",
"content_main_runner.cc",
"mojo/mojo_init.cc",
"mojo/mojo_init.h",
"startup_helper_win.cc",
]
content_app_deps = [
"//base",
"//base:i18n",
# This is needed by app/content_main_runner.cc
# TODO(brettw) this shouldn't be here, only final executables should be
# picking the allocator.
"//base/allocator",
"//content:export",
"//content/public/common:common_sources",
"//crypto",
"//ui/base",
"//ui/gfx",
"//ui/gfx/geometry",
]
if (is_win) {
content_app_deps += [ "//sandbox" ]
} else if (is_android) {
content_app_sources -= [ "content_main.cc" ]
content_app_deps += [
"//content/public/android:jni",
"//skia",
"//third_party/android_tools:cpu_features"
]
}
if (is_ios) {
content_app_sources -= [
"content_main.cc",
"mojo/mojo_init.cc",
"mojo/mojo_init.h",
]
} else {
content_app_deps += [
"//mojo/edk/system",
"//mojo/environment:chromium",
"//mojo/public/interfaces/application",
]
}
content_app_extra_configs = [
"//build/config/compiler:wexit_time_destructors",
"//content:content_implementation",
]
if (!is_chrome_multiple_dll) {
content_app_deps += [ "//content/gpu" ]
}
# This includes the app sources for both the browser and child processes.
source_set("both") {
# Only the public target should depend on this. All other targets (even
# internal content ones) should depend on the public one.
visibility = [ "//content/public/app:*" ]
sources = content_app_sources
configs += content_app_extra_configs
deps = content_app_deps
}
if (is_chrome_multiple_dll) {
# It doesn't make sense to do the browser/child dll split in component mode.
assert(!is_component_build)
source_set("browser") {
visibility = [ "//content/public/app:browser" ]
sources = content_app_sources
configs += content_app_extra_configs
deps = content_app_deps
defines += [ "CHROME_MULTIPLE_DLL_BROWSER" ]
}
source_set("child") {
visibility = [ "//content/public/app:child" ]
sources = content_app_sources
configs += content_app_extra_configs
deps = content_app_deps
defines += [ "CHROME_MULTIPLE_DLL_CHILD" ]
}
}