Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 Loading... | |
| 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 } |
| OLD | NEW |