Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(330)

Side by Side Diff: chrome/chrome_dll.gypi

Issue 14682014: Add chrome_split_dll gyp variable, and duplicate chrome_main_dll target (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ifdef out some code based on chrome_split_dll to get chrome_browser linking Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 'variables': {
6 'browser_dll_sources': [
7 'app/chrome_command_ids.h',
8 'app/chrome_dll.rc',
9 'app/chrome_dll_resource.h',
10 'app/chrome_main.cc',
11 'app/chrome_main_delegate.cc',
12 'app/chrome_main_delegate.h',
13 'app/delay_load_hook_win.cc',
14 'app/delay_load_hook_win.h',
15
16 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc',
17 '../base/win/dllmain.cc',
18
19 '../ui/resources/cursors/aliasb.cur',
20 '../ui/resources/cursors/cell.cur',
21 '../ui/resources/cursors/col_resize.cur',
22 '../ui/resources/cursors/copy.cur',
23 '../ui/resources/cursors/none.cur',
24 '../ui/resources/cursors/row_resize.cur',
25 '../ui/resources/cursors/vertical_text.cur',
26 '../ui/resources/cursors/zoom_in.cur',
27 '../ui/resources/cursors/zoom_out.cur',
28
29 # TODO: It would be nice to have these pulled in
30 # automatically from direct_dependent_settings in
31 # their various targets (net.gyp:net_resources, etc.),
32 # but that causes errors in other targets when
33 # resulting .res files get referenced multiple times.
34 '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
35 '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc',
36 '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
37 '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
38 '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
39 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
40 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_unscaled_resources.rc',
41 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc',
42 ],
43 'delay_load_dlls_win': [
44 'comdlg32.dll',
45 'crypt32.dll',
46 'cryptui.dll',
47 'dhcpcsvc.dll',
48 'imagehlp.dll',
49 'imm32.dll',
50 'iphlpapi.dll',
51 'setupapi.dll',
52 'urlmon.dll',
53 'winhttp.dll',
54 'wininet.dll',
55 'winspool.drv',
56 'ws2_32.dll',
57 'wsock32.dll',
58 ],
59 'browser_dependencies_win': [
60 # On Windows, link the dependencies (libraries) that make
61 # up actual Chromium functionality into this .dll.
62 'chrome_resources.gyp:chrome_resources',
63 'chrome_version_resources',
64 '../chrome/chrome_resources.gyp:chrome_unscaled_resources',
65 '../crypto/crypto.gyp:crypto',
66 '../printing/printing.gyp:printing',
67 '../net/net.gyp:net_resources',
68 '../third_party/cld/cld.gyp:cld',
69 '../ui/views/views.gyp:views',
70 '../webkit/support/webkit_support.gyp:webkit_resources',
71 ],
72 },
5 'conditions': [ 73 'conditions': [
6 ['OS=="mac" or OS=="win"', { 74 ['OS=="mac" or OS=="win"', {
7 'targets': [ 75 'targets': [
8 { 76 {
9 'target_name': 'chrome_dll', 77 'target_name': 'chrome_dll',
10 'type': 'none', 78 'type': 'none',
11 'dependencies': [ 79 'dependencies': [
12 'chrome_main_dll', 80 'chrome_main_dll',
13 ], 81 ],
14 'conditions': [ 82 'conditions': [
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 }], 135 }],
68 ] 136 ]
69 }, 137 },
70 { 138 {
71 'target_name': 'chrome_main_dll', 139 'target_name': 'chrome_main_dll',
72 'type': 'shared_library', 140 'type': 'shared_library',
73 'variables': { 141 'variables': {
74 'enable_wexit_time_destructors': 1, 142 'enable_wexit_time_destructors': 1,
75 }, 143 },
76 'dependencies': [ 144 'dependencies': [
77 '<@(chromium_dependencies)', 145 '<@(chromium_browser_dependencies)',
146 '<@(chromium_child_dependencies)',
147 'chrome_dll_pdb_workaround',
148 '../content/content.gyp:content_worker',
78 'app/policy/cloud_policy_codegen.gyp:policy', 149 'app/policy/cloud_policy_codegen.gyp:policy',
79 ], 150 ],
80 'conditions': [ 151 'conditions': [
81 ['use_aura==1', { 152 ['use_aura==1', {
82 'dependencies': [ 153 'dependencies': [
83 '../ui/compositor/compositor.gyp:compositor', 154 '../ui/compositor/compositor.gyp:compositor',
84 ], 155 ],
85 }], 156 }],
86 ['use_ash==1', { 157 ['use_ash==1', {
87 'sources': [ 158 'sources': [
88 '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_wallpaper_reso urces.rc', 159 '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_wallpaper_reso urces.rc',
89 ], 160 ],
90 }], 161 }],
91 ['OS=="win" and target_arch=="ia32"', { 162 ['OS=="win" and target_arch=="ia32"', {
92 # Add a dependency to custom import library for user32 delay 163 # Add a dependency to custom import library for user32 delay
93 # imports only in x86 builds. 164 # imports only in x86 builds.
94 'dependencies': [ 165 'dependencies': [
95 'chrome_user32_delay_imports', 166 'chrome_user32_delay_imports',
96 ], 167 ],
97 },], 168 },],
98 ['OS=="win"', { 169 ['OS=="win"', {
99 'product_name': 'chrome', 170 'product_name': 'chrome',
100 'dependencies': [ 171 'dependencies': [
101 # On Windows, link the dependencies (libraries) that make 172 '<@(browser_dependencies_win)',
102 # up actual Chromium functionality into this .dll.
103 'chrome_dll_pdb_workaround',
104 'chrome_resources.gyp:chrome_resources',
105 'chrome_version_resources',
106 '../chrome/chrome_resources.gyp:chrome_unscaled_resources',
107 '../content/content.gyp:content_worker',
108 '../crypto/crypto.gyp:crypto',
109 '../printing/printing.gyp:printing',
110 '../net/net.gyp:net_resources',
111 '../third_party/cld/cld.gyp:cld',
112 '../ui/views/views.gyp:views',
113 '../webkit/support/webkit_support.gyp:webkit_resources',
114 ], 173 ],
115 'sources': [ 174 'sources': [
116 'app/chrome_command_ids.h', 175 '<@(browser_dll_sources)',
117 'app/chrome_dll.rc',
118 'app/chrome_dll_resource.h',
119 'app/chrome_main.cc',
120 'app/chrome_main_delegate.cc',
121 'app/chrome_main_delegate.h',
122 'app/delay_load_hook_win.cc',
123 'app/delay_load_hook_win.h',
124
125 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc ',
126 '../base/win/dllmain.cc',
127
128 '../ui/resources/cursors/aliasb.cur',
129 '../ui/resources/cursors/cell.cur',
130 '../ui/resources/cursors/col_resize.cur',
131 '../ui/resources/cursors/copy.cur',
132 '../ui/resources/cursors/none.cur',
133 '../ui/resources/cursors/row_resize.cur',
134 '../ui/resources/cursors/vertical_text.cur',
135 '../ui/resources/cursors/zoom_in.cur',
136 '../ui/resources/cursors/zoom_out.cur',
137
138 # TODO: It would be nice to have these pulled in
139 # automatically from direct_dependent_settings in
140 # their various targets (net.gyp:net_resources, etc.),
141 # but that causes errors in other targets when
142 # resulting .res files get referenced multiple times.
143 '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
144 '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc' ,
145 '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
146 '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
147 '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
148 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
149 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_unscaled_resource s.rc',
150 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc' ,
151 ], 176 ],
152 'include_dirs': [ 177 'include_dirs': [
153 '<(DEPTH)/third_party/wtl/include', 178 '<(DEPTH)/third_party/wtl/include',
154 ], 179 ],
155 'defines': [ 180 'defines': [
156 'CHROME_DLL', 181 'CHROME_DLL',
157 'BROWSER_DLL', 182 'BROWSER_DLL',
158 'RENDERER_DLL', 183 'RENDERER_DLL',
159 'PLUGIN_DLL', 184 'PLUGIN_DLL',
160 ], 185 ],
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 '<(DEPTH)/build/win/importlibs/x86', 228 '<(DEPTH)/build/win/importlibs/x86',
204 ], 229 ],
205 'ForceSymbolReferences': [ 230 'ForceSymbolReferences': [
206 # Force the inclusion of the delay load hook in this 231 # Force the inclusion of the delay load hook in this
207 # binary. 232 # binary.
208 '_ChromeDelayLoadHook@8', 233 '_ChromeDelayLoadHook@8',
209 ], 234 ],
210 }], 235 }],
211 ], 236 ],
212 'DelayLoadDLLs': [ 237 'DelayLoadDLLs': [
213 'comdlg32.dll', 238 '<@(delay_load_dlls_win)',
214 'crypt32.dll',
215 'cryptui.dll',
216 'dhcpcsvc.dll',
217 'imagehlp.dll',
218 'imm32.dll',
219 'iphlpapi.dll',
220 'setupapi.dll',
221 'urlmon.dll',
222 'winhttp.dll',
223 'wininet.dll',
224 'winspool.drv',
225 'ws2_32.dll',
226 'wsock32.dll',
227 ], 239 ],
228 }, 240 },
229 'VCManifestTool': { 241 'VCManifestTool': {
230 'AdditionalManifestFiles': '$(ProjectDir)\\app\\chrome.dll.man ifest', 242 'AdditionalManifestFiles': '$(ProjectDir)\\app\\chrome.dll.man ifest',
231 }, 243 },
232 }, 244 },
233 }], # OS=="win" 245 }], # OS=="win"
234 ['OS=="mac" and component!="shared_library"', { 246 ['OS=="mac" and component!="shared_library"', {
235 'includes': [ 'chrome_dll_bundle.gypi' ], 247 'includes': [ 'chrome_dll_bundle.gypi' ],
236 }], 248 }],
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 ], 302 ],
291 }], # mac_breakpad_compiled_in 303 }], # mac_breakpad_compiled_in
292 ['internal_pdf', { 304 ['internal_pdf', {
293 'dependencies': [ 305 'dependencies': [
294 '../pdf/pdf.gyp:pdf', 306 '../pdf/pdf.gyp:pdf',
295 ], 307 ],
296 }], 308 }],
297 ], # conditions 309 ], # conditions
298 }], # OS=="mac" 310 }], # OS=="mac"
299 ], # conditions 311 ], # conditions
300 }, # target chrome_dll 312 }, # target chrome_main_dll
313 {
314 'target_name': 'chrome_browser_dll',
jam 2013/05/07 20:56:24 most of this section is still a straight copy from
scottmg 2013/05/07 22:41:03 Mostly removed since it wasn't really necessary an
315 'type': 'shared_library',
316 'variables': {
317 'enable_wexit_time_destructors': 1,
318 },
319 'dependencies': [
320 '<@(chromium_browser_dependencies)',
321 'app/policy/cloud_policy_codegen.gyp:policy',
322 # TODO(scottmg): http://crbug.com/237249 Probably should be
323 # renderer.
324 '../ppapi/ppapi_internal.gyp:ppapi_host',
325 ],
326 'conditions': [
327 ['use_aura==1', {
328 'dependencies': [
329 '../ui/compositor/compositor.gyp:compositor',
330 ],
331 }],
332 ['use_ash==1', {
333 'sources': [
334 '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_wallpaper_reso urces.rc',
335 ],
336 }],
337 ['OS=="win" and target_arch=="ia32"', {
338 # Add a dependency to custom import library for user32 delay
339 # imports only in x86 builds.
340 'dependencies': [
341 'chrome_user32_delay_imports',
342 ],
343 },],
344 ['OS=="win"', {
345 'product_name': 'chrome_browser',
346 'dependencies': [
347 '<@(browser_dependencies_win)',
348 ],
349 'sources': [
350 '<@(browser_dll_sources)',
351 ],
352 'include_dirs': [
353 '<(DEPTH)/third_party/wtl/include',
354 ],
355 'defines': [
356 'CHROME_DLL',
357 'BROWSER_DLL',
358 'RENDERER_DLL',
359 'PLUGIN_DLL',
360 ],
361 'configurations': {
362 'Debug_Base': {
363 'msvs_settings': {
364 'VCLinkerTool': {
365 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
366 },
367 },
368 },
369 },
370 'msvs_settings': {
371 'VCLinkerTool': {
372 'BaseAddress': '0x01c30000',
373 'ImportLibrary': '$(OutDir)\\lib\\chrome_dll.lib',
374 # Set /SUBSYSTEM:WINDOWS for chrome.dll (for consistency).
375 'SubSystem': '2',
376 'conditions': [
377 ['incremental_chrome_dll==1', {
378 'OutputFile': '$(OutDir)\\initial\\chrome.dll',
379 'UseLibraryDependencyInputs': "true",
380 }],
381 ['target_arch=="ia32"', {
382 # Link against the XP-constrained user32 import library
383 # instead of the platform-SDK provided one to avoid
384 # inadvertently taking dependencies on post-XP user32
385 # exports.
386 'AdditionalDependencies!': [
387 'user32.lib',
388 ],
389 'IgnoreDefaultLibraryNames': [
390 'user32.lib',
391 ],
392 # Remove user32 delay load for chrome.dll.
393 'DelayLoadDLLs!': [
394 'user32.dll',
395 ],
396 'AdditionalDependencies': [
397 'user32.winxp.lib',
398 ],
399 'DelayLoadDLLs': [
400 'user32-delay.dll',
401 ],
402 'AdditionalLibraryDirectories': [
403 '<(DEPTH)/build/win/importlibs/x86',
404 ],
405 'ForceSymbolReferences': [
406 # Force the inclusion of the delay load hook in this
407 # binary.
408 '_ChromeDelayLoadHook@8',
409 ],
410 }],
411 ],
412 'DelayLoadDLLs': [
413 '<@(delay_load_dlls_win)',
414 ],
415 },
416 'VCManifestTool': {
417 'AdditionalManifestFiles': '$(ProjectDir)\\app\\chrome.dll.man ifest',
418 },
419 },
420 }], # OS=="win"
421 ], # conditions
422 }, # target chrome_browser_dll
301 ], # targets 423 ], # targets
302 }], # OS=="mac" or OS=="win" 424 }], # OS=="mac" or OS=="win"
303 ['OS=="win"', { 425 ['OS=="win"', {
304 'targets': [ 426 'targets': [
305 { 427 {
306 # This target is only depended upon on Windows. 428 # This target is only depended upon on Windows.
307 'target_name': 'chrome_dll_pdb_workaround', 429 'target_name': 'chrome_dll_pdb_workaround',
308 'type': 'static_library', 430 'type': 'static_library',
309 'sources': [ 'empty_pdb_workaround.cc' ], 431 'sources': [ 'empty_pdb_workaround.cc' ],
310 'conditions': [ 432 'conditions': [
311 ['fastbuild==0 or win_z7!=0', { 433 ['fastbuild==0 or win_z7!=0', {
312 'msvs_settings': { 434 'msvs_settings': {
313 'VCCLCompilerTool': { 435 'VCCLCompilerTool': {
314 # This *in the compile phase* must match the pdb name that's 436 # This *in the compile phase* must match the pdb name that's
315 # output by the final link. See empty_pdb_workaround.cc for 437 # output by the final link. See empty_pdb_workaround.cc for
316 # more details. 438 # more details.
317 'DebugInformationFormat': '3', 439 'DebugInformationFormat': '3',
318 'ProgramDataBaseFileName': '<(PRODUCT_DIR)/chrome.dll.pdb', 440 'ProgramDataBaseFileName': '<(PRODUCT_DIR)/chrome.dll.pdb',
319 }, 441 },
320 }, 442 },
321 }], 443 }],
322 ], 444 ],
323 }, 445 },
324 ], 446 ],
325 }], 447 }],
326 ], 448 ],
327 } 449 }
OLDNEW
« chrome/chrome.gyp ('K') | « chrome/chrome.gyp ('k') | chrome/chrome_exe.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698