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

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: 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/common.gypi ('k') | no next file » | 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 'conditions': [ 5 'conditions': [
6 ['OS=="mac" or OS=="win"', { 6 ['OS=="mac" or OS=="win"', {
7 'targets': [ 7 'targets': [
8 { 8 {
9 'target_name': 'chrome_dll', 9 'target_name': 'chrome_dll',
10 'type': 'none', 10 'type': 'none',
11 'dependencies': [ 11 'dependencies': [
12 'chrome_main_dll', 12 'chrome_main_dll',
13 ], 13 ],
14 'conditions': [ 14 'conditions': [
15 ['OS=="mac" and component=="shared_library"', { 15 ['OS=="mac" and component=="shared_library"', {
16 'type': 'shared_library', 16 'type': 'shared_library',
17 'includes': [ 'chrome_dll_bundle.gypi' ], 17 'includes': [ 'chrome_dll_bundle.gypi' ],
18 'xcode_settings': { 18 'xcode_settings': {
19 'OTHER_LDFLAGS': [ 19 'OTHER_LDFLAGS': [
20 '-Wl,-reexport_library,<(PRODUCT_DIR)/libchrome_main_dll.dylib ', 20 '-Wl,-reexport_library,<(PRODUCT_DIR)/libchrome_main_dll.dylib ',
21 ], 21 ],
22 }, 22 },
23 }], # OS=="mac" 23 }], # OS=="mac"
24 ['chrome_split_dll==1', {
25 'dependencies': [
26 'chrome_child_dll',
27 ],
28 }],
24 ['incremental_chrome_dll==1', { 29 ['incremental_chrome_dll==1', {
25 # Linking to a different directory and then hardlinking back 30 # Linking to a different directory and then hardlinking back
26 # to OutDir is a workaround to avoid having the .ilk for 31 # to OutDir is a workaround to avoid having the .ilk for
27 # chrome.exe and chrome.dll conflicting. See crbug.com/92528 32 # chrome.exe and chrome.dll conflicting. See crbug.com/92528
28 # for more information. Done on the dll instead of the exe so 33 # for more information. Done on the dll instead of the exe so
29 # that people launching from VS don't need to modify 34 # that people launching from VS don't need to modify
30 # $(TargetPath) for the exe. 35 # $(TargetPath) for the exe.
31 'actions': [ 36 'actions': [
32 { 37 {
33 'action_name': 'hardlink_to_output', 38 'action_name': 'hardlink_to_output',
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 ], 295 ],
291 }], # mac_breakpad_compiled_in 296 }], # mac_breakpad_compiled_in
292 ['internal_pdf', { 297 ['internal_pdf', {
293 'dependencies': [ 298 'dependencies': [
294 '../pdf/pdf.gyp:pdf', 299 '../pdf/pdf.gyp:pdf',
295 ], 300 ],
296 }], 301 }],
297 ], # conditions 302 ], # conditions
298 }], # OS=="mac" 303 }], # OS=="mac"
299 ], # conditions 304 ], # conditions
300 }, # target chrome_dll 305 }, # target chrome_main_dll
306 {
307 'target_name': 'chrome_child_dll',
308 'type': 'shared_library',
309 'variables': {
310 'enable_wexit_time_destructors': 1,
311 },
312 'dependencies': [
313 '<@(chromium_dependencies)',
314 'app/policy/cloud_policy_codegen.gyp:policy',
315 ],
316 'conditions': [
317 ['use_aura==1', {
318 'dependencies': [
319 '../ui/compositor/compositor.gyp:compositor',
320 ],
321 }],
322 ['use_ash==1', {
323 'sources': [
324 '<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_wallpaper_reso urces.rc',
325 ],
326 }],
327 ['OS=="win" and target_arch=="ia32"', {
328 # Add a dependency to custom import library for user32 delay
329 # imports only in x86 builds.
330 'dependencies': [
331 'chrome_user32_delay_imports',
332 ],
333 },],
334 ['OS=="win"', {
335 'product_name': 'chrome_child',
336 'dependencies': [
337 # On Windows, link the dependencies (libraries) that make
jam 2013/05/02 18:47:28 There is a lot of duplication below from above. ca
338 # up actual Chromium functionality into this .dll.
339 'chrome_dll_pdb_workaround',
340 'chrome_resources.gyp:chrome_resources',
341 'chrome_version_resources',
342 '../chrome/chrome_resources.gyp:chrome_unscaled_resources',
343 '../content/content.gyp:content_worker',
344 '../crypto/crypto.gyp:crypto',
345 '../printing/printing.gyp:printing',
346 '../net/net.gyp:net_resources',
347 '../third_party/cld/cld.gyp:cld',
348 '../ui/views/views.gyp:views',
349 '../webkit/support/webkit_support.gyp:webkit_resources',
350 ],
351 'sources': [
352 'app/chrome_command_ids.h',
353 'app/chrome_dll.rc',
354 'app/chrome_dll_resource.h',
355 'app/chrome_main.cc',
356 'app/chrome_main_delegate.cc',
357 'app/chrome_main_delegate.h',
358 'app/delay_load_hook_win.cc',
359 'app/delay_load_hook_win.h',
360
361 '<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc ',
362 '../base/win/dllmain.cc',
363
364 '../ui/resources/cursors/aliasb.cur',
365 '../ui/resources/cursors/cell.cur',
366 '../ui/resources/cursors/col_resize.cur',
367 '../ui/resources/cursors/copy.cur',
368 '../ui/resources/cursors/none.cur',
369 '../ui/resources/cursors/row_resize.cur',
370 '../ui/resources/cursors/vertical_text.cur',
371 '../ui/resources/cursors/zoom_in.cur',
372 '../ui/resources/cursors/zoom_out.cur',
373
374 # TODO: It would be nice to have these pulled in
375 # automatically from direct_dependent_settings in
376 # their various targets (net.gyp:net_resources, etc.),
377 # but that causes errors in other targets when
378 # resulting .res files get referenced multiple times.
379 '<(SHARED_INTERMEDIATE_DIR)/chrome/browser_resources.rc',
380 '<(SHARED_INTERMEDIATE_DIR)/chrome/chrome_unscaled_resources.rc' ,
381 '<(SHARED_INTERMEDIATE_DIR)/chrome/common_resources.rc',
382 '<(SHARED_INTERMEDIATE_DIR)/chrome/extensions_api_resources.rc',
383 '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.rc',
384 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.rc',
385 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_unscaled_resource s.rc',
386 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.rc' ,
387 ],
388 'include_dirs': [
389 '<(DEPTH)/third_party/wtl/include',
390 ],
391 'defines': [
392 'CHROME_DLL',
393 'BROWSER_DLL',
394 'RENDERER_DLL',
395 'PLUGIN_DLL',
396 ],
397 'configurations': {
398 'Debug_Base': {
399 'msvs_settings': {
400 'VCLinkerTool': {
401 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
402 },
403 },
404 },
405 },
406 'msvs_settings': {
407 'VCLinkerTool': {
408 'BaseAddress': '0x01c30000',
409 'ImportLibrary': '$(OutDir)\\lib\\chrome_dll.lib',
410 # Set /SUBSYSTEM:WINDOWS for chrome.dll (for consistency).
411 'SubSystem': '2',
412 'conditions': [
413 ['incremental_chrome_dll==1', {
414 'OutputFile': '$(OutDir)\\initial\\chrome.dll',
415 'UseLibraryDependencyInputs': "true",
416 }],
417 ['target_arch=="ia32"', {
418 # Link against the XP-constrained user32 import library
419 # instead of the platform-SDK provided one to avoid
420 # inadvertently taking dependencies on post-XP user32
421 # exports.
422 'AdditionalDependencies!': [
423 'user32.lib',
424 ],
425 'IgnoreDefaultLibraryNames': [
426 'user32.lib',
427 ],
428 # Remove user32 delay load for chrome.dll.
429 'DelayLoadDLLs!': [
430 'user32.dll',
431 ],
432 'AdditionalDependencies': [
433 'user32.winxp.lib',
434 ],
435 'DelayLoadDLLs': [
436 'user32-delay.dll',
437 ],
438 'AdditionalLibraryDirectories': [
439 '<(DEPTH)/build/win/importlibs/x86',
440 ],
441 'ForceSymbolReferences': [
442 # Force the inclusion of the delay load hook in this
443 # binary.
444 '_ChromeDelayLoadHook@8',
445 ],
446 }],
447 ],
448 'DelayLoadDLLs': [
449 'comdlg32.dll',
450 'crypt32.dll',
451 'cryptui.dll',
452 'dhcpcsvc.dll',
453 'imagehlp.dll',
454 'imm32.dll',
455 'iphlpapi.dll',
456 'setupapi.dll',
457 'urlmon.dll',
458 'winhttp.dll',
459 'wininet.dll',
460 'winspool.drv',
461 'ws2_32.dll',
462 'wsock32.dll',
463 ],
464 },
465 'VCManifestTool': {
466 'AdditionalManifestFiles': '$(ProjectDir)\\app\\chrome.dll.man ifest',
467 },
468 },
469 }], # OS=="win"
470 ['OS=="mac" and component!="shared_library"', {
471 'includes': [ 'chrome_dll_bundle.gypi' ],
472 }],
473 ['OS=="mac" and component=="shared_library"', {
474 'xcode_settings': { 'OTHER_LDFLAGS': [ '-Wl,-ObjC' ], },
475 }],
476 ['OS=="mac"', {
477 'xcode_settings': {
478 # Define the order of symbols within the framework. This
479 # sets -order_file.
480 'ORDER_FILE': 'app/framework.order',
481 },
482 'sources': [
483 'app/chrome_command_ids.h',
484 'app/chrome_dll_resource.h',
485 'app/chrome_main.cc',
486 'app/chrome_main_delegate.cc',
487 'app/chrome_main_delegate.h',
488 'app/chrome_main_app_mode_mac.mm',
489 'app/chrome_main_mac.mm',
490 'app/chrome_main_mac.h',
491 ],
492 'include_dirs': [
493 '<(grit_out_dir)',
494 ],
495 'postbuilds': [
496 {
497 # This step causes an error to be raised if the .order file
498 # does not account for all global text symbols. It
499 # validates the completeness of the .order file.
500 'postbuild_name': 'Verify global text symbol order',
501 'variables': {
502 'verify_order_path': 'tools/build/mac/verify_order',
503 },
504 'action': [
505 '<(verify_order_path)',
506 '_ChromeMain',
507 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}',
508 ],
509 },
510 ],
511 'conditions': [
512 ['mac_breakpad_compiled_in==1', {
513 'dependencies': [
514 '../breakpad/breakpad.gyp:breakpad',
515 'app/policy/cloud_policy_codegen.gyp:policy',
516 ],
517 'sources': [
518 'app/breakpad_mac.mm',
519 'app/breakpad_mac.h',
520 ],
521 }, { # else: mac_breakpad_compiled_in!=1
522 # No Breakpad, put in the stubs.
523 'sources': [
524 'app/breakpad_mac_stubs.mm',
525 'app/breakpad_mac.h',
526 ],
527 }], # mac_breakpad_compiled_in
528 ['internal_pdf', {
529 'dependencies': [
530 '../pdf/pdf.gyp:pdf',
531 ],
532 }],
533 ], # conditions
534 }], # OS=="mac"
535 ], # conditions
536 }, # target chrome_child_dll
301 ], # targets 537 ], # targets
302 }], # OS=="mac" or OS=="win" 538 }], # OS=="mac" or OS=="win"
303 ['OS=="win"', { 539 ['OS=="win"', {
304 'targets': [ 540 'targets': [
305 { 541 {
306 # This target is only depended upon on Windows. 542 # This target is only depended upon on Windows.
307 'target_name': 'chrome_dll_pdb_workaround', 543 'target_name': 'chrome_dll_pdb_workaround',
308 'type': 'static_library', 544 'type': 'static_library',
309 'sources': [ 'empty_pdb_workaround.cc' ], 545 'sources': [ 'empty_pdb_workaround.cc' ],
310 'conditions': [ 546 'conditions': [
311 ['fastbuild==0 or win_z7!=0', { 547 ['fastbuild==0 or win_z7!=0', {
312 'msvs_settings': { 548 'msvs_settings': {
313 'VCCLCompilerTool': { 549 'VCCLCompilerTool': {
314 # This *in the compile phase* must match the pdb name that's 550 # This *in the compile phase* must match the pdb name that's
315 # output by the final link. See empty_pdb_workaround.cc for 551 # output by the final link. See empty_pdb_workaround.cc for
316 # more details. 552 # more details.
317 'DebugInformationFormat': '3', 553 'DebugInformationFormat': '3',
318 'ProgramDataBaseFileName': '<(PRODUCT_DIR)/chrome.dll.pdb', 554 'ProgramDataBaseFileName': '<(PRODUCT_DIR)/chrome.dll.pdb',
319 }, 555 },
320 }, 556 },
321 }], 557 }],
322 ], 558 ],
323 }, 559 },
324 ], 560 ],
325 }], 561 }],
326 ], 562 ],
327 } 563 }
OLDNEW
« no previous file with comments | « build/common.gypi ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698