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

Side by Side Diff: chrome/chrome_dll.gypi

Issue 15067010: split_link tool, config, and scripts for windows build (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . 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
« no previous file with comments | « build/split_link_partition.py ('k') | chrome/split_dll_fake_entry.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 'manifest_files_win': '$(ProjectDir)\\app\\chrome.dll.manifest',
73 },
74 'conditions': [ 5 'conditions': [
75 ['OS=="mac" or OS=="win"', { 6 ['OS=="mac" or OS=="win"', {
76 'targets': [ 7 'targets': [
77 { 8 {
78 'target_name': 'chrome_dll', 9 'target_name': 'chrome_dll',
79 'type': 'none', 10 'type': 'none',
80 'dependencies': [ 11 'dependencies': [
81 'chrome_main_dll', 12 'chrome_main_dll',
82 ], 13 ],
83 'conditions': [ 14 'conditions': [
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 ['OS=="win" and target_arch=="ia32"', { 93 ['OS=="win" and target_arch=="ia32"', {
163 # Add a dependency to custom import library for user32 delay 94 # Add a dependency to custom import library for user32 delay
164 # imports only in x86 builds. 95 # imports only in x86 builds.
165 'dependencies': [ 96 'dependencies': [
166 'chrome_user32_delay_imports', 97 'chrome_user32_delay_imports',
167 ], 98 ],
168 },], 99 },],
169 ['OS=="win"', { 100 ['OS=="win"', {
170 'product_name': 'chrome', 101 'product_name': 'chrome',
171 'dependencies': [ 102 'dependencies': [
172 '<@(browser_dependencies_win)', 103 # On Windows, link the dependencies (libraries) that make
104 # up actual Chromium functionality into this .dll.
173 'chrome_dll_pdb_workaround', 105 'chrome_dll_pdb_workaround',
106 'chrome_resources.gyp:chrome_resources',
107 'chrome_version_resources',
108 '../chrome/chrome_resources.gyp:chrome_unscaled_resources',
109 '../crypto/crypto.gyp:crypto',
110 '../printing/printing.gyp:printing',
111 '../net/net.gyp:net_resources',
112 '../third_party/cld/cld.gyp:cld',
113 '../ui/views/views.gyp:views',
114 '../webkit/support/webkit_support.gyp:webkit_resources',
174 ], 115 ],
175 'sources': [ 116 'sources': [
176 '<@(browser_dll_sources)', 117 'app/chrome_command_ids.h',
118 'app/chrome_dll.rc',
119 'app/chrome_dll_resource.h',
120 'app/chrome_main.cc',
121 'app/chrome_main_delegate.cc',
122 'app/chrome_main_delegate.h',
123 'app/delay_load_hook_win.cc',
124 'app/delay_load_hook_win.h',
125
126 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc ',
127 '../base/win/dllmain.cc',
128
129 '../ui/resources/cursors/aliasb.cur',
130 '../ui/resources/cursors/cell.cur',
131 '../ui/resources/cursors/col_resize.cur',
132 '../ui/resources/cursors/copy.cur',
133 '../ui/resources/cursors/none.cur',
134 '../ui/resources/cursors/row_resize.cur',
135 '../ui/resources/cursors/vertical_text.cur',
136 '../ui/resources/cursors/zoom_in.cur',
137 '../ui/resources/cursors/zoom_out.cur',
138
139 # TODO: It would be nice to have these pulled in
140 # automatically from direct_dependent_settings in
141 # their various targets (net.gyp:net_resources, etc.),
142 # but that causes errors in other targets when
143 # resulting .res files get referenced multiple times.
144 '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
145 '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc' ,
146 '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
147 '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
148 '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
149 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
150 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_unscaled_resource s.rc',
151 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc' ,
177 ], 152 ],
178 'include_dirs': [ 153 'include_dirs': [
179 '<(DEPTH)/third_party/wtl/include', 154 '<(DEPTH)/third_party/wtl/include',
180 ], 155 ],
181 'configurations': { 156 'configurations': {
182 'Debug_Base': { 157 'Debug_Base': {
183 'msvs_settings': { 158 'msvs_settings': {
184 'VCLinkerTool': { 159 'VCLinkerTool': {
185 'LinkIncremental': '<(msvs_large_module_debug_link_mode)', 160 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
186 }, 161 },
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 '<(DEPTH)/build/win/importlibs/x86', 198 '<(DEPTH)/build/win/importlibs/x86',
224 ], 199 ],
225 'ForceSymbolReferences': [ 200 'ForceSymbolReferences': [
226 # Force the inclusion of the delay load hook in this 201 # Force the inclusion of the delay load hook in this
227 # binary. 202 # binary.
228 '_ChromeDelayLoadHook@8', 203 '_ChromeDelayLoadHook@8',
229 ], 204 ],
230 }], 205 }],
231 ], 206 ],
232 'DelayLoadDLLs': [ 207 'DelayLoadDLLs': [
233 '<@(delay_load_dlls_win)', 208 'comdlg32.dll',
209 'crypt32.dll',
210 'cryptui.dll',
211 'dhcpcsvc.dll',
212 'imagehlp.dll',
213 'imm32.dll',
214 'iphlpapi.dll',
215 'setupapi.dll',
216 'urlmon.dll',
217 'winhttp.dll',
218 'wininet.dll',
219 'winspool.drv',
220 'ws2_32.dll',
221 'wsock32.dll',
234 ], 222 ],
235 }, 223 },
236 'VCManifestTool': { 224 'VCManifestTool': {
237 'AdditionalManifestFiles': '<(manifest_files_win)', 225 'AdditionalManifestFiles': '$(ProjectDir)\\app\\chrome.dll.man ifest',
238 }, 226 },
239 }, 227 },
240 }], # OS=="win" 228 }], # OS=="win"
241 ['OS=="mac" and component!="shared_library"', { 229 ['OS=="mac" and component!="shared_library"', {
242 'includes': [ 'chrome_dll_bundle.gypi' ], 230 'includes': [ 'chrome_dll_bundle.gypi' ],
243 }], 231 }],
244 ['OS=="mac" and component=="shared_library"', { 232 ['OS=="mac" and component=="shared_library"', {
245 'xcode_settings': { 'OTHER_LDFLAGS': [ '-Wl,-ObjC' ], }, 233 'xcode_settings': { 'OTHER_LDFLAGS': [ '-Wl,-ObjC' ], },
246 }], 234 }],
235 ['chrome_split_dll', {
236 'sources': [
237 # See comment in .cc for explanation.
238 'split_dll_fake_entry.cc',
239 ],
240 'msvs_settings': {
241 'VCLinkerTool': {
242 'AdditionalOptions': ['/splitlink'],
243 },
244 }
245 }],
247 ['OS=="mac"', { 246 ['OS=="mac"', {
248 'xcode_settings': { 247 'xcode_settings': {
249 # Define the order of symbols within the framework. This 248 # Define the order of symbols within the framework. This
250 # sets -order_file. 249 # sets -order_file.
251 'ORDER_FILE': 'app/framework.order', 250 'ORDER_FILE': 'app/framework.order',
252 }, 251 },
253 'sources': [ 252 'sources': [
254 'app/chrome_command_ids.h', 253 'app/chrome_command_ids.h',
255 'app/chrome_dll_resource.h', 254 'app/chrome_dll_resource.h',
256 'app/chrome_main.cc', 255 'app/chrome_main.cc',
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 'dependencies': [ 299 'dependencies': [
301 '../pdf/pdf.gyp:pdf', 300 '../pdf/pdf.gyp:pdf',
302 ], 301 ],
303 }], 302 }],
304 ], # conditions 303 ], # conditions
305 }], # OS=="mac" 304 }], # OS=="mac"
306 ], # conditions 305 ], # conditions
307 }, # target chrome_main_dll 306 }, # target chrome_main_dll
308 ], # targets 307 ], # targets
309 }], # OS=="mac" or OS=="win" 308 }], # OS=="mac" or OS=="win"
310 ['OS=="win" and chrome_split_dll', {
311 'targets': [
312 {
313 'target_name': 'chrome_browser_dll',
314 'type': 'shared_library',
315 'variables': {
316 'enable_wexit_time_destructors': 1,
317 },
318 'dependencies': [
319 '<@(chromium_browser_dependencies)',
320 'app/policy/cloud_policy_codegen.gyp:policy',
321 # TODO(scottmg): http://crbug.com/237249 Probably should be
322 # renderer.
323 '../ppapi/ppapi_internal.gyp:ppapi_host',
324 ],
325 'conditions': [
326 ['use_aura==1', {
327 'dependencies': [
328 '../ui/compositor/compositor.gyp:compositor',
329 ],
330 }],
331 ['use_ash==1', {
332 'sources': [
333 '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_wallpaper_reso urces.rc',
334 ],
335 }],
336 ['OS=="win"', {
337 'product_name': 'chrome_browser',
338 'dependencies': [
339 '<@(browser_dependencies_win)',
340 ],
341 'sources': [
342 '<@(browser_dll_sources)',
343 ],
344 'include_dirs': [
345 '<(DEPTH)/third_party/wtl/include',
346 ],
347 'msvs_settings': {
348 'VCLinkerTool': {
349 'BaseAddress': '0x01c30000',
350 'ImportLibrary': '$(OutDir)\\lib\\chrome_browser_dll.lib',
351 # Set /SUBSYSTEM:WINDOWS for chrome_browser.dll (for consisten cy).
352 'SubSystem': '2',
353 'DelayLoadDLLs': [
354 '<@(delay_load_dlls_win)',
355 ],
356 },
357 'VCManifestTool': {
358 'AdditionalManifestFiles': '<(manifest_files_win)',
359 },
360 },
361 }], # OS=="win"
362 ['win_use_allocator_shim==1', {
363 'dependencies': [
364 '<(allocator_target)',
365 ],
366 }],
367 ], # conditions
368 }, # target chrome_browser_dll
369 ], # targets
370 }],
371 ['OS=="win"', { 309 ['OS=="win"', {
372 'targets': [ 310 'targets': [
373 { 311 {
374 # This target is only depended upon on Windows. 312 # This target is only depended upon on Windows.
375 'target_name': 'chrome_dll_pdb_workaround', 313 'target_name': 'chrome_dll_pdb_workaround',
376 'type': 'static_library', 314 'type': 'static_library',
377 'sources': [ 'empty_pdb_workaround.cc' ], 315 'sources': [ 'empty_pdb_workaround.cc' ],
378 'conditions': [ 316 'conditions': [
379 ['fastbuild==0 or win_z7!=0', { 317 ['fastbuild==0 or win_z7!=0', {
380 'msvs_settings': { 318 'msvs_settings': {
381 'VCCLCompilerTool': { 319 'VCCLCompilerTool': {
382 # This *in the compile phase* must match the pdb name that's 320 # This *in the compile phase* must match the pdb name that's
383 # output by the final link. See empty_pdb_workaround.cc for 321 # output by the final link. See empty_pdb_workaround.cc for
384 # more details. 322 # more details.
385 'DebugInformationFormat': '3', 323 'DebugInformationFormat': '3',
386 'ProgramDataBaseFileName': '<(PRODUCT_DIR)/chrome.dll.pdb', 324 'ProgramDataBaseFileName': '<(PRODUCT_DIR)/chrome.dll.pdb',
387 }, 325 },
388 }, 326 },
389 }], 327 }],
390 ], 328 ],
391 }, 329 },
392 ], 330 ],
393 }], 331 }],
394 ], 332 ],
395 } 333 }
OLDNEW
« no previous file with comments | « build/split_link_partition.py ('k') | chrome/split_dll_fake_entry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698