OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/chrome_build.gni") | 5 import("//build/config/chrome_build.gni") |
6 import("//build/config/features.gni") | 6 import("//build/config/features.gni") |
7 import("//build/config/locales.gni") | 7 import("//build/config/locales.gni") |
| 8 import("//build/config/sanitizers/sanitizers.gni") |
8 import("//build/config/ui.gni") | 9 import("//build/config/ui.gni") |
9 import("//build/config/win/manifest.gni") | 10 import("//build/config/win/manifest.gni") |
10 import("//chrome/chrome_repack_locales.gni") | 11 import("//chrome/chrome_repack_locales.gni") |
11 import("//chrome/version.gni") | 12 import("//chrome/version.gni") |
12 | 13 |
13 if (is_android) { | 14 if (is_android) { |
14 import("//build/config/android/rules.gni") | 15 import("//build/config/android/rules.gni") |
15 } | 16 } |
16 | 17 |
| 18 if (is_win) { |
| 19 action("reorder_imports") { |
| 20 script = "//build/win/reorder-imports.py" |
| 21 |
| 22 # See comment in chrome_dll.gypi in the hardlink_to_output |
| 23 # target for why this cannot be 'initial' like the DLL. |
| 24 inputs = [ |
| 25 "$root_out_dir/initialexe/chrome.exe", |
| 26 ] |
| 27 outputs = [ |
| 28 "$root_out_dir/chrome.exe", |
| 29 "$root_out_dir/chrome.exe.pdb", |
| 30 ] |
| 31 args = [ |
| 32 "-i", |
| 33 rebase_path("$root_out_dir/initialexe", root_build_dir), |
| 34 "-o", |
| 35 rebase_path("$root_out_dir", root_build_dir), |
| 36 "-a", |
| 37 target_cpu, |
| 38 ] |
| 39 deps = [ |
| 40 ":chrome_initial", |
| 41 ] |
| 42 } |
| 43 } |
| 44 |
17 if (!is_android) { | 45 if (!is_android) { |
18 # TODO(GYP) bug 512599: for Windows need to the the reorder-imports step | 46 group("chrome") { |
19 # which probably means adding another target and renaming this to | 47 deps = [ |
20 # chrome_initial like in GYP. | 48 ":chrome_initial", |
21 executable("chrome") { | 49 ] |
| 50 if (is_win) { |
| 51 deps += [ ":reorder_imports" ] |
| 52 } |
| 53 } |
| 54 |
| 55 executable("chrome_initial") { |
| 56 if (is_win) { |
| 57 output_name = "initialexe/chrome" |
| 58 } else { |
| 59 output_name = "chrome" |
| 60 } |
| 61 |
22 # Because the sources list varies so significantly per-platform, generally | 62 # Because the sources list varies so significantly per-platform, generally |
23 # each platform lists its own files rather than relying on filtering or | 63 # each platform lists its own files rather than relying on filtering or |
24 # removing unused files. | 64 # removing unused files. |
25 sources = [ | 65 sources = [ |
26 "app/chrome_exe_resource.h", | 66 "app/chrome_exe_resource.h", |
27 ] | 67 ] |
28 defines = [] | 68 defines = [] |
29 public_deps = [] | 69 public_deps = [] |
30 deps = [ | 70 deps = [ |
31 "//build/config/sanitizers:deps", | 71 "//build/config/sanitizers:deps", |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 "//crypto", | 152 "//crypto", |
113 "//sandbox", | 153 "//sandbox", |
114 "//ui/gfx", | 154 "//ui/gfx", |
115 ] | 155 ] |
116 data_deps = [ "//chrome/app/version_assembly:version_assembly_manifest" ] | 156 data_deps = [ "//chrome/app/version_assembly:version_assembly_manifest" ] |
117 | 157 |
118 libs = [ | 158 libs = [ |
119 "wintrust.lib", | 159 "wintrust.lib", |
120 "crypt32.lib", | 160 "crypt32.lib", |
121 ] | 161 ] |
122 configs -= [ "//build/config/win:console" ] | 162 if (!is_asan) { |
123 configs += [ "//build/config/win:windowed" ] | 163 # Set /SUBSYSTEM:WINDOWS for chrome.exe itself, except for the |
| 164 # AddressSanitizer build where console output is important. |
| 165 configs -= [ "//build/config/win:console" ] |
| 166 configs += [ "//build/config/win:windowed" ] |
| 167 } |
124 } else if (use_aura) { | 168 } else if (use_aura) { |
125 # Non-Windows aura entrypoint. | 169 # Non-Windows aura entrypoint. |
126 sources += [ "app/chrome_exe_main_aura.cc" ] | 170 sources += [ "app/chrome_exe_main_aura.cc" ] |
127 } | 171 } |
128 | 172 |
129 if (is_linux) { | 173 if (is_linux) { |
130 sources += [ | 174 sources += [ |
131 "app/chrome_dll_resource.h", | 175 "app/chrome_dll_resource.h", |
132 "app/chrome_main.cc", | 176 "app/chrome_main.cc", |
133 "app/chrome_main_delegate.cc", | 177 "app/chrome_main_delegate.cc", |
134 "app/chrome_main_delegate.h", | 178 "app/chrome_main_delegate.h", |
135 ] | 179 ] |
136 | 180 |
137 deps += [ | 181 deps += [ |
138 # On Linux, link the dependencies (libraries) that make up actual | 182 # On Linux, link the dependencies (libraries) that make up actual |
139 # Chromium functionality directly into the executable. | 183 # Chromium functionality directly into the executable. |
140 ":browser_dependencies", | 184 ":browser_dependencies", |
141 ":child_dependencies", | 185 ":child_dependencies", |
142 ":manpage", | 186 ":manpage", |
143 "//base/allocator", | 187 "//base/allocator", |
144 | 188 |
145 # Needed to use the master_preferences functions | 189 # Needed to use the master_preferences functions |
146 "//chrome/installer/util", | 190 "//chrome/installer/util", |
147 "//content/public/app:both", | 191 "//content/public/app:both", |
148 ] | 192 ] |
| 193 if (enable_plugins) { |
| 194 deps += [ "//pdf" ] |
| 195 } |
| 196 |
149 public_deps = [ | 197 public_deps = [ |
150 ":xdg_mime", # Needs to be public for installer to consume files. | 198 ":xdg_mime", # Needs to be public for installer to consume files. |
151 ] | 199 ] |
152 | 200 |
153 # Needed for chrome_main.cc initialization of libraries. | 201 # Needed for chrome_main.cc initialization of libraries. |
154 configs += [ "//build/config/linux:pangocairo" ] | 202 configs += [ "//build/config/linux:pangocairo" ] |
155 | 203 |
156 # GYP has this in a 'profiling==0 and linux_disable_pie==0' condition. | 204 # GYP has this in a 'profiling==0 and linux_disable_pie==0' condition. |
157 # but GN doesn't have either of these flags. | 205 # but GN doesn't have either of these flags. |
158 ldflags = [ "-pie" ] | 206 ldflags = [ "-pie" ] |
(...skipping 19 matching lines...) Expand all Loading... |
178 "//components/startup_metric_utils", | 226 "//components/startup_metric_utils", |
179 | 227 |
180 # Precompiled plugins that need to get copied to the output directory. | 228 # Precompiled plugins that need to get copied to the output directory. |
181 # On Mac, internal plugins go inside the framework, so these | 229 # On Mac, internal plugins go inside the framework, so these |
182 # dependencies are on chrome.dll. | 230 # dependencies are on chrome.dll. |
183 "//third_party/adobe/flash:flapper_binaries", | 231 "//third_party/adobe/flash:flapper_binaries", |
184 "//third_party/widevine/cdm:widevinecdmadapter", | 232 "//third_party/widevine/cdm:widevinecdmadapter", |
185 ] | 233 ] |
186 } | 234 } |
187 | 235 |
188 if (is_linux && enable_plugins) { | |
189 deps += [ "//pdf" ] | |
190 } | |
191 | |
192 if (is_multi_dll_chrome) { | 236 if (is_multi_dll_chrome) { |
193 defines += [ "CHROME_MULTIPLE_DLL" ] | 237 defines += [ "CHROME_MULTIPLE_DLL" ] |
194 data_deps += [ ":chrome_child" ] | 238 data_deps += [ ":chrome_child" ] |
195 } | 239 } |
196 } | 240 } |
197 } # !is_android | 241 } # !is_android |
198 | 242 |
199 shared_library("main_dll") { | 243 shared_library("main_dll") { |
200 configs += [ "//build/config/compiler:wexit_time_destructors" ] | 244 configs += [ "//build/config/compiler:wexit_time_destructors" ] |
201 defines = [] | 245 defines = [] |
(...skipping 766 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
968 "//chrome/app/theme/$branding_path_component/product_logo_48.png", | 1012 "//chrome/app/theme/$branding_path_component/product_logo_48.png", |
969 "//chrome/tools/build/linux/chrome-wrapper", | 1013 "//chrome/tools/build/linux/chrome-wrapper", |
970 "//third_party/xdg-utils/scripts/xdg-mime", | 1014 "//third_party/xdg-utils/scripts/xdg-mime", |
971 "//third_party/xdg-utils/scripts/xdg-settings", | 1015 "//third_party/xdg-utils/scripts/xdg-settings", |
972 ] | 1016 ] |
973 outputs = [ | 1017 outputs = [ |
974 "$root_out_dir/{{source_file_part}}", | 1018 "$root_out_dir/{{source_file_part}}", |
975 ] | 1019 ] |
976 } | 1020 } |
977 } | 1021 } |
OLD | NEW |