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/features.gni") | 5 import("//build/config/features.gni") |
6 import("//build/config/locales.gni") | 6 import("//build/config/locales.gni") |
7 import("//build/config/ui.gni") | 7 import("//build/config/ui.gni") |
8 import("//chrome/chrome_repack_locales.gni") | 8 import("//chrome/chrome_repack_locales.gni") |
9 import("//chrome/version.gni") | 9 import("//chrome/version.gni") |
10 | 10 |
11 if (is_android) { | 11 if (is_android) { |
12 import("//build/config/android/rules.gni") | 12 import("//build/config/android/rules.gni") |
13 } | 13 } |
14 | 14 |
15 if (is_win && !link_chrome_on_windows) { | 15 if (is_win && !link_chrome_on_windows) { |
16 # When linking is disabled on Windows, create a dummy Chrome target to | 16 # When linking is disabled on Windows, create a dummy Chrome target to |
17 # make targets work that depend on Chrome. | 17 # make targets work that depend on Chrome. |
18 group("chrome") { | 18 group("chrome") { |
19 } | 19 } |
| 20 group("main_dll") { |
| 21 } |
20 } | 22 } |
21 | 23 |
22 if (!is_android && (!is_win || link_chrome_on_windows)) { | 24 if (!is_android && (!is_win || link_chrome_on_windows)) { |
23 # TODO(GYP) for Windows need to the the reorder-imports step which probably | 25 # TODO(GYP) for Windows need to the the reorder-imports step which probably |
24 # means adding another target and renaming this to chrome_initial like in GYP. | 26 # means adding another target and renaming this to chrome_initial like in GYP. |
25 executable("chrome") { | 27 executable("chrome") { |
26 # Because the sources list varies so significantly per-platform, generally | 28 # Because the sources list varies so significantly per-platform, generally |
27 # each platform lists its own files rather than relying on filtering or | 29 # each platform lists its own files rather than relying on filtering or |
28 # removing unused files. | 30 # removing unused files. |
29 sources = [ | 31 sources = [ |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 } | 151 } |
150 | 152 |
151 if (!is_mac) { | 153 if (!is_mac) { |
152 # On Mac this is done in chrome_dll.gypi. | 154 # On Mac this is done in chrome_dll.gypi. |
153 datadeps += [ "//pdf" ] | 155 datadeps += [ "//pdf" ] |
154 # TODO(GYP) pdf linux symbols | 156 # TODO(GYP) pdf linux symbols |
155 } | 157 } |
156 } | 158 } |
157 } # !is_android | 159 } # !is_android |
158 | 160 |
159 shared_library("main_dll") { | 161 if (!is_win || link_chrome_on_windows) { |
160 configs += [ "//build/config/compiler:wexit_time_destructors" ] | 162 shared_library("main_dll") { |
| 163 configs += [ "//build/config/compiler:wexit_time_destructors" ] |
161 | 164 |
162 deps = [ | 165 deps = [ |
163 ":browser_dependencies", | 166 ":browser_dependencies", |
164 "//base/allocator", | 167 "//base/allocator", |
165 ] | 168 ] |
166 if (is_win) { | 169 if (is_win) { |
167 output_name = "chrome" | 170 output_name = "chrome" |
168 | 171 |
169 sources = [ | 172 sources = [ |
170 "app/chrome_command_ids.h", | 173 "app/chrome_command_ids.h", |
171 "app/chrome_dll.rc", | 174 "app/chrome_dll.rc", |
172 "app/chrome_dll_resource.h", | 175 "app/chrome_dll_resource.h", |
173 "app/chrome_main.cc", | 176 "app/chrome_main.cc", |
174 "app/chrome_main_delegate.cc", | 177 "app/chrome_main_delegate.cc", |
175 "app/chrome_main_delegate.h", | 178 "app/chrome_main_delegate.h", |
176 "app/close_handle_hook_win.cc", | 179 "app/close_handle_hook_win.cc", |
177 "app/close_handle_hook_win.h", | 180 "app/close_handle_hook_win.h", |
178 "app/delay_load_hook_win.cc", | 181 "app/delay_load_hook_win.cc", |
179 "app/delay_load_hook_win.h", | 182 "app/delay_load_hook_win.h", |
180 "//base/win/dllmain.cc", | 183 "//base/win/dllmain.cc", |
181 ] | 184 ] |
182 | 185 |
183 deps += [ | 186 deps += [ |
184 # On Windows, link the dependencies (libraries) that make up actual | 187 # On Windows, link the dependencies (libraries) that make up actual |
185 # Chromium functionality into this .dll. | 188 # Chromium functionality into this .dll. |
186 ":chrome_version_resources", | 189 ":chrome_version_resources", |
187 "//chrome/app/theme:chrome_unscaled_resources", | 190 "//chrome/app/theme:chrome_unscaled_resources", |
188 "//chrome_elf", | 191 "//chrome_elf", |
189 "//content/app/resources", | 192 "//content/app/resources", |
190 "//crypto", | 193 "//crypto", |
191 "//net:net_resources", | 194 "//net:net_resources", |
192 "//third_party/wtl", | 195 "//third_party/wtl", |
193 "//ui/views", | 196 "//ui/views", |
194 ] | 197 ] |
195 if (enable_configuration_policy) { | 198 if (enable_configuration_policy) { |
196 deps += [ "//components/policy" ] | 199 deps += [ "//components/policy" ] |
197 } | 200 } |
198 if (cpu_arch == "x86") { | 201 if (cpu_arch == "x86") { |
199 # Add a dependency to custom import library for user32 delay imports only | 202 # Add a dependency to custom import library for user32 delay imports onl
y |
200 # in x86 builds. | 203 # in x86 builds. |
201 #deps += [ 'chrome_user32_delay_imports' ] TODO(GYP) | 204 #deps += [ 'chrome_user32_delay_imports' ] TODO(GYP) |
| 205 } |
| 206 |
| 207 # TODO(GYP) incremental linking flags in debug builds |
| 208 #'LinkIncremental': '<(msvs_large_module_debug_link_mode)', |
| 209 |
| 210 # TODO(GYP) Lots of VCLinkerTool stuff on Windows. |
| 211 |
| 212 # TODO(GYP) chrome_pgo_phase on Windows. |
202 } | 213 } |
203 | 214 |
204 # TODO(GYP) incremental linking flags in debug builds | 215 if (use_aura) { |
205 #'LinkIncremental': '<(msvs_large_module_debug_link_mode)', | 216 deps += [ "//ui/compositor" ] |
| 217 } |
206 | 218 |
207 # TODO(GYP) Lots of VCLinkerTool stuff on Windows. | 219 #TODO(GYP) add chrome_multiple_dll support |
| 220 if (false) { #chrome_multiple_dll) { |
| 221 defines = [ "CHROME_MULTIPLE_DLL_BROWSER" ] |
| 222 deps += [ "//content/public/app:browser" ] |
| 223 } else { |
| 224 deps += [ |
| 225 ":child_dependencies", |
| 226 "//content/public/app:both", |
| 227 ] |
| 228 } |
208 | 229 |
209 # TODO(GYP) chrome_pgo_phase on Windows. | 230 if (cld_version == 0 || cld_version == 2) { |
210 } | 231 deps += [ "//third_party/cld_2" ] |
| 232 } |
211 | 233 |
212 if (use_aura) { | 234 if (is_mac) { |
213 deps += [ "//ui/compositor" ] | 235 #['OS=="mac" and component!="shared_library"', { TODO(GYP) |
214 } | 236 # 'includes': [ 'chrome_dll_bundle.gypi' ], |
215 | 237 #}], |
216 #TODO(GYP) add chrome_multiple_dll support | 238 # TODO(GYP) Lots of other stuff in the OS=="mac" block. |
217 if (false) { #chrome_multiple_dll) { | 239 } |
218 defines = [ "CHROME_MULTIPLE_DLL_BROWSER" ] | |
219 deps += [ "//content/public/app:browser" ] | |
220 } else { | |
221 deps += [ | |
222 ":child_dependencies", | |
223 "//content/public/app:both", | |
224 ] | |
225 } | |
226 | |
227 if (cld_version == 0 || cld_version == 2) { | |
228 deps += [ "//third_party/cld_2" ] | |
229 } | |
230 | |
231 if (is_mac) { | |
232 #['OS=="mac" and component!="shared_library"', { TODO(GYP) | |
233 # 'includes': [ 'chrome_dll_bundle.gypi' ], | |
234 #}], | |
235 # TODO(GYP) Lots of other stuff in the OS=="mac" block. | |
236 } | 240 } |
237 } | 241 } |
238 | 242 |
239 # GYP version: chromium_browser_dependencies variable in chrome.gyp | 243 # GYP version: chromium_browser_dependencies variable in chrome.gyp |
240 group("browser_dependencies") { | 244 group("browser_dependencies") { |
241 deps = [ | 245 deps = [ |
242 "//chrome/browser", | 246 "//chrome/browser", |
243 "//chrome/common", | 247 "//chrome/common", |
244 "//sync", | 248 "//sync", |
245 ] | 249 ] |
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
682 "//chrome/browser", | 686 "//chrome/browser", |
683 "//chrome/browser/ui", | 687 "//chrome/browser/ui", |
684 "//chrome/plugin", | 688 "//chrome/plugin", |
685 "//chrome/renderer", | 689 "//chrome/renderer", |
686 "//chrome/utility", | 690 "//chrome/utility", |
687 "//components/enhanced_bookmarks", | 691 "//components/enhanced_bookmarks", |
688 "//content/public/app:browser", | 692 "//content/public/app:browser", |
689 ] | 693 ] |
690 } | 694 } |
691 } | 695 } |
OLD | NEW |