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

Side by Side Diff: build/common.gypi

Issue 501127: Rearrange build configurations - make it clearer and allow better support for... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years 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 | « breakpad/breakpad_sender.gypi ('k') | chrome/chrome.gyp » ('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) 2009 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2009 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 # IMPORTANT: 5 # IMPORTANT:
6 # Please don't directly include this file if you are building via gyp_chromium, 6 # Please don't directly include this file if you are building via gyp_chromium,
7 # since gyp_chromium is automatically forcing its inclusion. 7 # since gyp_chromium is automatically forcing its inclusion.
8 { 8 {
9 'variables': { 9 'variables': {
10 # .gyp files should set chromium_code to 1 if they build Chromium-specific 10 # .gyp files should set chromium_code to 1 if they build Chromium-specific
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 'DebugInformationFormat': '1', 389 'DebugInformationFormat': '1',
390 'AdditionalOptions': '/Yd', 390 'AdditionalOptions': '/Yd',
391 } 391 }
392 } 392 }
393 }], # OS==win 393 }], # OS==win
394 ], # conditions for coverage 394 ], # conditions for coverage
395 }], # coverage!=0 395 }], # coverage!=0
396 ], # conditions for 'target_defaults' 396 ], # conditions for 'target_defaults'
397 'default_configuration': 'Debug', 397 'default_configuration': 'Debug',
398 'configurations': { 398 'configurations': {
399 # VCLinkerTool LinkIncremental values below: 399 # VCLinkerTool LinkIncremental values below:
400 # 0 == default 400 # 0 == default
401 # 1 == /INCREMENTAL:NO 401 # 1 == /INCREMENTAL:NO
402 # 2 == /INCREMENTAL 402 # 2 == /INCREMENTAL
403 # Debug links incremental, Release does not. 403 # Debug links incremental, Release does not.
404 'Common': { 404 #
405 # Abstract base configurations to cover common
406 # attributes.
407 #
408 'Common_Base': {
405 'abstract': 1, 409 'abstract': 1,
406 'msvs_configuration_attributes': { 410 'msvs_configuration_attributes': {
407 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)', 411 'OutputDirectory': '$(SolutionDir)$(ConfigurationName)',
408 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)', 412 'IntermediateDirectory': '$(OutDir)\\obj\\$(ProjectName)',
409 'CharacterSet': '1', 413 'CharacterSet': '1',
410 }, 414 },
415 },
416 'x86_Base': {
417 'abstract': 1,
411 'msvs_settings': { 418 'msvs_settings': {
412 'VCLinkerTool': { 419 'VCLinkerTool': {
413 'TargetMachine': '1', 420 'TargetMachine': '1',
414 }, 421 },
415 }, 422 },
416 'msvs_configuration_platform': 'Win32', 423 'msvs_configuration_platform': 'Win32',
417 }, 424 },
418 'Debug': { 425 'x64_Base': {
419 'inherit_from': ['Common'], 426 'abstract': 1,
427 'msvs_configuration_platform': 'x64',
428 'msvs_settings': {
429 'VCLinkerTool': {
430 'TargetMachine': '17', # x86 - 64
431 },
432 },
433 'msvs_settings': {
434 'VCLibrarianTool': {
435 'AdditionalLibraryDirectories!':
436 ['<(DEPTH)/third_party/platformsdk_win7/files/Lib'],
437 'AdditionalLibraryDirectories':
438 ['<(DEPTH)/third_party/platformsdk_win7/files/Lib/x64'],
439 },
440 'VCLinkerTool': {
441 'TargetMachine': '17',
442 'AdditionalLibraryDirectories!':
443 ['<(DEPTH)/third_party/platformsdk_win7/files/Lib'],
444 'AdditionalLibraryDirectories':
445 ['<(DEPTH)/third_party/platformsdk_win7/files/Lib/x64'],
446 },
447 },
448 'defines': [
449 # Not sure if tcmalloc works on 64-bit Windows.
450 'NO_TCMALLOC',
451 ],
452 },
453 'Debug_Base': {
454 'abstract': 1,
420 'xcode_settings': { 455 'xcode_settings': {
421 'COPY_PHASE_STRIP': 'NO', 456 'COPY_PHASE_STRIP': 'NO',
422 'GCC_OPTIMIZATION_LEVEL': '<(mac_debug_optimization)', 457 'GCC_OPTIMIZATION_LEVEL': '<(mac_debug_optimization)',
423 'OTHER_CFLAGS': [ '<@(debug_extra_cflags)', ], 458 'OTHER_CFLAGS': [ '<@(debug_extra_cflags)', ],
424 }, 459 },
425 'msvs_settings': { 460 'msvs_settings': {
426 'VCCLCompilerTool': { 461 'VCCLCompilerTool': {
427 'Optimization': '<(win_debug_Optimization)', 462 'Optimization': '<(win_debug_Optimization)',
428 'PreprocessorDefinitions': ['_DEBUG'], 463 'PreprocessorDefinitions': ['_DEBUG'],
429 'BasicRuntimeChecks': '3', 464 'BasicRuntimeChecks': '3',
430 'RuntimeLibrary': '<(win_debug_RuntimeLibrary)', 465 'RuntimeLibrary': '<(win_debug_RuntimeLibrary)',
431 }, 466 },
432 'VCLinkerTool': { 467 'VCLinkerTool': {
433 'LinkIncremental': '<(msvs_debug_link_incremental)', 468 'LinkIncremental': '<(msvs_debug_link_incremental)',
434 }, 469 },
435 'VCResourceCompilerTool': { 470 'VCResourceCompilerTool': {
436 'PreprocessorDefinitions': ['_DEBUG'], 471 'PreprocessorDefinitions': ['_DEBUG'],
437 }, 472 },
438 }, 473 },
439 'conditions': [ 474 'conditions': [
440 ['OS=="linux"', { 475 ['OS=="linux"', {
441 'cflags': [ 476 'cflags': [
442 '<@(debug_extra_cflags)', 477 '<@(debug_extra_cflags)',
443 ], 478 ],
444 }], 479 }],
445 ], 480 ],
446 }, 481 },
447 'Release': { 482 'Release_Base': {
448 'inherit_from': ['Common'], 483 'abstract': 1,
449 'defines': [ 484 'defines': [
450 'NDEBUG', 485 'NDEBUG',
451 ], 486 ],
452 'xcode_settings': { 487 'xcode_settings': {
453 'DEAD_CODE_STRIPPING': 'YES', # -Wl,-dead_strip 488 'DEAD_CODE_STRIPPING': 'YES', # -Wl,-dead_strip
454 'GCC_OPTIMIZATION_LEVEL': '<(mac_release_optimization)', 489 'GCC_OPTIMIZATION_LEVEL': '<(mac_release_optimization)',
455 'OTHER_CFLAGS': [ '<@(release_extra_cflags)', ], 490 'OTHER_CFLAGS': [ '<@(release_extra_cflags)', ],
456 }, 491 },
457 'msvs_settings': { 492 'msvs_settings': {
458 'VCCLCompilerTool': { 493 'VCCLCompilerTool': {
(...skipping 11 matching lines...) Expand all
470 ['win_use_allocator_shim==0', { 505 ['win_use_allocator_shim==0', {
471 'defines': ['NO_TCMALLOC'], 506 'defines': ['NO_TCMALLOC'],
472 }], 507 }],
473 ['win_release_RuntimeLibrary==2', { 508 ['win_release_RuntimeLibrary==2', {
474 # Visual C++ 2008 barfs when building anything with /MD (msvcrt): 509 # Visual C++ 2008 barfs when building anything with /MD (msvcrt):
475 # VC\include\typeinfo(139) : warning C4275: non dll-interface 510 # VC\include\typeinfo(139) : warning C4275: non dll-interface
476 # class 'stdext::exception' used as base for dll-interface 511 # class 'stdext::exception' used as base for dll-interface
477 # class 'std::bad_cast' 512 # class 'std::bad_cast'
478 'msvs_disabled_warnings': [4275], 513 'msvs_disabled_warnings': [4275],
479 }], 514 }],
480 ['msvs_use_common_release', {
481 'msvs_props': ['release.vsprops'],
482 }],
483 ['OS=="linux"', { 515 ['OS=="linux"', {
484 'cflags': [ 516 'cflags': [
485 '<@(release_extra_cflags)', 517 '<@(release_extra_cflags)',
486 ], 518 ],
487 }], 519 }],
488 ], 520 ],
489 }, 521 },
522 'Purify_Base': {
523 'abstract': 1,
524 'defines': [
525 'PURIFY',
526 'NO_TCMALLOC',
527 ],
528 'msvs_settings': {
529 'VCCLCompilerTool': {
530 'Optimization': '0',
531 'RuntimeLibrary': '0',
532 'BufferSecurityCheck': 'false',
533 },
534 'VCLinkerTool': {
535 'EnableCOMDATFolding': '1',
536 'LinkIncremental': '1',
537 },
538 },
539 },
540 #
541 # Concrete configurations
542 #
543 'Debug': {
544 'inherit_from': ['Common_Base', 'x86_Base', 'Debug_Base'],
545 },
546 'Release': {
547 'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base'],
548 'conditions': [
549 ['msvs_use_common_release', {
550 'msvs_props': ['release.vsprops'],
551 }],
552 ]
553 },
490 'conditions': [ 554 'conditions': [
491 [ 'OS=="win"', { 555 [ 'OS=="win"', {
492 # TODO(bradnelson): add a gyp mechanism to make this more graceful. 556 # TODO(bradnelson): add a gyp mechanism to make this more graceful.
493 'Purify': { 557 'Purify': {
494 'inherit_from': ['Release'], 558 'inherit_from': ['Common_Base', 'x86_Base', 'Release_Base', 'Purify' ],
495 'defines': [
496 'PURIFY',
497 'NO_TCMALLOC',
498 ],
499 'msvs_settings': {
500 'VCCLCompilerTool': {
501 'Optimization': '0',
502 'RuntimeLibrary': '0',
503 'BufferSecurityCheck': 'false',
504 },
505 'VCLinkerTool': {
506 'EnableCOMDATFolding': '1',
507 'LinkIncremental': '1',
508 },
509 },
510 },
511 'Common_x64': {
512 'msvs_configuration_platform': 'x64',
513 'msvs_settings': {
514 'VCLinkerTool': {
515 'TargetMachine': '17',
516 },
517 },
518 'abstract': 1,
519 }, 559 },
520 'Debug_x64': { 560 'Debug_x64': {
521 'inherit_from': ['Debug', 'Common_x64'], 561 'inherit_from': ['Common_Base', 'x64_Base', 'Debug_Base'],
522 }, 562 },
523 'Release_x64': { 563 'Release_x64': {
524 'inherit_from': ['Release', 'Common_x64'], 564 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base'],
525 }, 565 },
526 'Purify_x64': { 566 'Purify_x64': {
527 'inherit_from': ['Purify', 'Common_x64'], 567 'inherit_from': ['Common_Base', 'x64_Base', 'Release_Base', 'Purify' ],
528 }, 568 },
529 }], 569 }],
530 ], 570 ],
531 }, 571 },
532 }, 572 },
533 'conditions': [ 573 'conditions': [
534 ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', { 574 ['OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
535 'target_defaults': { 575 'target_defaults': {
536 # Enable -Werror by default, but put it in a variable so it can 576 # Enable -Werror by default, but put it in a variable so it can
537 # be disabled in ~/.gyp/include.gypi on the valgrind builders. 577 # be disabled in ~/.gyp/include.gypi on the valgrind builders.
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 'DISTCC_HOSTS', 661 'DISTCC_HOSTS',
622 'HOME', 662 'HOME',
623 'INCLUDE_SERVER_ARGS', 663 'INCLUDE_SERVER_ARGS',
624 'INCLUDE_SERVER_PORT', 664 'INCLUDE_SERVER_PORT',
625 'LINK', 665 'LINK',
626 'CHROME_BUILD_TYPE', 666 'CHROME_BUILD_TYPE',
627 'CHROMIUM_BUILD', 667 'CHROMIUM_BUILD',
628 'OFFICIAL_BUILD', 668 'OFFICIAL_BUILD',
629 ], 669 ],
630 'configurations': { 670 'configurations': {
631 'Debug': { 671 'Debug_Base': {
632 'variables': { 672 'variables': {
633 'debug_optimize%': '0', 673 'debug_optimize%': '0',
634 }, 674 },
635 'defines': [ 675 'defines': [
636 '_DEBUG', 676 '_DEBUG',
637 ], 677 ],
638 'cflags': [ 678 'cflags': [
639 '-O>(debug_optimize)', 679 '-O>(debug_optimize)',
640 '-g', 680 '-g',
641 # One can use '-gstabs' to enable building the debugging 681 # One can use '-gstabs' to enable building the debugging
642 # information in STABS format for breakpad's dumpsyms. 682 # information in STABS format for breakpad's dumpsyms.
643 ], 683 ],
644 'ldflags': [ 684 'ldflags': [
645 '-rdynamic', # Allows backtrace to resolve symbols. 685 '-rdynamic', # Allows backtrace to resolve symbols.
646 ], 686 ],
647 }, 687 },
648 'Release': { 688 'Release_Base': {
649 'variables': { 689 'variables': {
650 'release_optimize%': '2', 690 'release_optimize%': '2',
651 }, 691 },
652 'cflags': [ 692 'cflags': [
653 '-O>(release_optimize)', 693 '-O>(release_optimize)',
654 # Don't emit the GCC version ident directives, they just end up 694 # Don't emit the GCC version ident directives, they just end up
655 # in the .comment section taking up binary size. 695 # in the .comment section taking up binary size.
656 '-fno-ident', 696 '-fno-ident',
657 # Put data and code in their own sections, so that unused symbols 697 # Put data and code in their own sections, so that unused symbols
658 # can be removed at link time with --gc-sections. 698 # can be removed at link time with --gc-sections.
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']}, 894 'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-ObjC']},
855 }], 895 }],
856 ['_type=="executable" or _type=="shared_library"', { 896 ['_type=="executable" or _type=="shared_library"', {
857 'target_conditions': [ 897 'target_conditions': [
858 ['mac_real_dsym == 1', { 898 ['mac_real_dsym == 1', {
859 # To get a real .dSYM bundle produced by dsymutil, set the 899 # To get a real .dSYM bundle produced by dsymutil, set the
860 # debug information format to dwarf-with-dsym. Since 900 # debug information format to dwarf-with-dsym. Since
861 # strip_from_xcode will not be used, set Xcode to do the 901 # strip_from_xcode will not be used, set Xcode to do the
862 # stripping as well. 902 # stripping as well.
863 'configurations': { 903 'configurations': {
864 'Release': { 904 'Release_Base': {
865 'xcode_settings': { 905 'xcode_settings': {
866 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym', 906 'DEBUG_INFORMATION_FORMAT': 'dwarf-with-dsym',
867 'DEPLOYMENT_POSTPROCESSING': 'YES', 907 'DEPLOYMENT_POSTPROCESSING': 'YES',
868 'STRIP_INSTALLED_PRODUCT': 'YES', 908 'STRIP_INSTALLED_PRODUCT': 'YES',
869 'target_conditions': [ 909 'target_conditions': [
870 ['_type=="shared_library"', { 910 ['_type=="shared_library"', {
871 # The Xcode default is to strip debugging symbols 911 # The Xcode default is to strip debugging symbols
872 # only (-S). Local symbols should be stripped as 912 # only (-S). Local symbols should be stripped as
873 # well, which will be handled by -x. Xcode will 913 # well, which will be handled by -x. Xcode will
874 # continue to insert -S when stripping even when 914 # continue to insert -S when stripping even when
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
1044 'msvs_settings': { 1084 'msvs_settings': {
1045 'VCLinkerTool': { 1085 'VCLinkerTool': {
1046 'DelayLoadDLLs': [ 1086 'DelayLoadDLLs': [
1047 'dbghelp.dll', 1087 'dbghelp.dll',
1048 'dwmapi.dll', 1088 'dwmapi.dll',
1049 'uxtheme.dll', 1089 'uxtheme.dll',
1050 ], 1090 ],
1051 }, 1091 },
1052 }, 1092 },
1053 'configurations': { 1093 'configurations': {
1054 'Common': { 1094 'x86_Base': {
1055 'msvs_settings': { 1095 'msvs_settings': {
1056 'VCLinkerTool': { 1096 'VCLinkerTool': {
1057 'AdditionalOptions': 1097 'AdditionalOptions':
1058 '/safeseh /dynamicbase /ignore:4199 /ignore:4221 /nxcompat', 1098 '/safeseh /dynamicbase /ignore:4199 /ignore:4221 /nxcompat',
1059 }, 1099 },
1060 }, 1100 },
1061 }, 1101 },
1062 'Common_x64': { 1102 'x64_Base': {
1063 'msvs_settings': { 1103 'msvs_settings': {
1064 'VCLinkerTool': { 1104 'VCLinkerTool': {
1065 'AdditionalOptions': 1105 'AdditionalOptions':
1066 # safeseh is not compatible with x64 1106 # safeseh is not compatible with x64
1067 '/dynamicbase /ignore:4199 /ignore:4221 /nxcompat', 1107 '/dynamicbase /ignore:4199 /ignore:4221 /nxcompat',
1068 }, 1108 },
1069 }, 1109 },
1070 }, 1110 },
1071 }, 1111 },
1072 }, 1112 },
(...skipping 28 matching lines...) Expand all
1101 # and therefore SYMROOT, needs to be set at the project level. 1141 # and therefore SYMROOT, needs to be set at the project level.
1102 'SYMROOT': '<(DEPTH)/xcodebuild', 1142 'SYMROOT': '<(DEPTH)/xcodebuild',
1103 }, 1143 },
1104 } 1144 }
1105 1145
1106 # Local Variables: 1146 # Local Variables:
1107 # tab-width:2 1147 # tab-width:2
1108 # indent-tabs-mode:nil 1148 # indent-tabs-mode:nil
1109 # End: 1149 # End:
1110 # vim: set expandtab tabstop=2 shiftwidth=2: 1150 # vim: set expandtab tabstop=2 shiftwidth=2:
OLDNEW
« no previous file with comments | « breakpad/breakpad_sender.gypi ('k') | chrome/chrome.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698