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 # 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 expected to be overriden on the GYP command line (-D) or by | 9 # Variables expected to be overriden on the GYP command line (-D) or by |
10 # ~/.gyp/include.gypi. | 10 # ~/.gyp/include.gypi. |
(...skipping 947 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
958 # See http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html | 958 # See http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html |
959 'mac_release_optimization%': '3', # Use -O3 unless overridden | 959 'mac_release_optimization%': '3', # Use -O3 unless overridden |
960 'mac_debug_optimization%': '0', # Use -O0 unless overridden | 960 'mac_debug_optimization%': '0', # Use -O0 unless overridden |
961 | 961 |
962 # See http://msdn.microsoft.com/en-us/library/aa652360(VS.71).aspx | 962 # See http://msdn.microsoft.com/en-us/library/aa652360(VS.71).aspx |
963 'win_release_Optimization%': '2', # 2 = /Os | 963 'win_release_Optimization%': '2', # 2 = /Os |
964 'win_debug_Optimization%': '0', # 0 = /Od | 964 'win_debug_Optimization%': '0', # 0 = /Od |
965 | 965 |
966 # See http://msdn.microsoft.com/en-us/library/2kxx5t2c(v=vs.80).aspx | 966 # See http://msdn.microsoft.com/en-us/library/2kxx5t2c(v=vs.80).aspx |
967 # Tri-state: blank is default, 1 on, 0 off | 967 # Tri-state: blank is default, 1 on, 0 off |
968 'win_release_OmitFramePointers%': 1, | 968 'win_release_OmitFramePointers%': '1', |
969 # Tri-state: blank is default, 1 on, 0 off | 969 # Tri-state: blank is default, 1 on, 0 off |
970 'win_debug_OmitFramePointers%': '', | 970 'win_debug_OmitFramePointers%': '', |
971 | 971 |
972 # See http://msdn.microsoft.com/en-us/library/8wtf2dfz(VS.71).aspx | 972 # See http://msdn.microsoft.com/en-us/library/8wtf2dfz(VS.71).aspx |
973 'win_debug_RuntimeChecks%': '3', # 3 = all checks enabled, 0 = off | 973 'win_debug_RuntimeChecks%': '3', # 3 = all checks enabled, 0 = off |
974 | 974 |
975 # See http://msdn.microsoft.com/en-us/library/47238hez(VS.71).aspx | 975 # See http://msdn.microsoft.com/en-us/library/47238hez(VS.71).aspx |
976 'win_debug_InlineFunctionExpansion%': '', # empty = default, 0 = off, | 976 'win_debug_InlineFunctionExpansion%': '', # empty = default, 0 = off, |
977 'win_release_InlineFunctionExpansion%': '2', # 1 = only __inline, 2 = max | 977 'win_release_InlineFunctionExpansion%': '2', # 1 = only __inline, 2 = max |
978 | 978 |
979 # VS inserts quite a lot of extra checks to algorithms like | 979 # VS inserts quite a lot of extra checks to algorithms like |
980 # std::partial_sort in Debug build which make them O(N^2) | 980 # std::partial_sort in Debug build which make them O(N^2) |
981 # instead of O(N*logN). This is particularly slow under memory | 981 # instead of O(N*logN). This is particularly slow under memory |
982 # tools like ThreadSanitizer so we want it to be disablable. | 982 # tools like ThreadSanitizer so we want it to be disablable. |
983 # See http://msdn.microsoft.com/en-us/library/aa985982(v=VS.80).aspx | 983 # See http://msdn.microsoft.com/en-us/library/aa985982(v=VS.80).aspx |
984 'win_debug_disable_iterator_debugging%': '0', | 984 'win_debug_disable_iterator_debugging%': '0', |
985 | 985 |
986 # Tri-state: blank is VS default, 1 on, 0 off | |
987 'win_release_RandomizedBaseAddress%': '', | |
988 # Tri-state: blank is VS default, 1 on, 0 off. Off by default: see below. | |
989 'win_debug_RandomizedBaseAddress%': 0, | |
990 | |
991 'release_extra_cflags%': '', | 986 'release_extra_cflags%': '', |
992 'debug_extra_cflags%': '', | 987 'debug_extra_cflags%': '', |
993 'release_valgrind_build%': 0, | 988 'release_valgrind_build%': 0, |
994 | 989 |
995 # the non-qualified versions are widely assumed to be *nix-only | 990 # the non-qualified versions are widely assumed to be *nix-only |
996 'win_release_extra_cflags%': '', | 991 'win_release_extra_cflags%': '', |
997 'win_debug_extra_cflags%': '', | 992 'win_debug_extra_cflags%': '', |
998 | 993 |
999 # TODO(thakis): Make this a blacklist instead, http://crbug.com/101600 | 994 # TODO(thakis): Make this a blacklist instead, http://crbug.com/101600 |
1000 'enable_wexit_time_destructors%': '<(enable_wexit_time_destructors)', | 995 'enable_wexit_time_destructors%': '<(enable_wexit_time_destructors)', |
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1515 # perform FPO regardless, so we must explicitly disable. | 1510 # perform FPO regardless, so we must explicitly disable. |
1516 # We still want the false setting above to avoid having | 1511 # We still want the false setting above to avoid having |
1517 # "/Oy /Oy-" and warnings about overriding. | 1512 # "/Oy /Oy-" and warnings about overriding. |
1518 'AdditionalOptions': ['/Oy-'], | 1513 'AdditionalOptions': ['/Oy-'], |
1519 }], | 1514 }], |
1520 ], | 1515 ], |
1521 'AdditionalOptions': [ '<@(win_debug_extra_cflags)', ], | 1516 'AdditionalOptions': [ '<@(win_debug_extra_cflags)', ], |
1522 }, | 1517 }, |
1523 'VCLinkerTool': { | 1518 'VCLinkerTool': { |
1524 'LinkIncremental': '<(msvs_debug_link_incremental)', | 1519 'LinkIncremental': '<(msvs_debug_link_incremental)', |
1525 'conditions': [ | 1520 # ASLR makes debugging with windbg difficult because Chrome.exe and |
1526 # ASLR makes debugging with windbg difficult because Chrome.exe | 1521 # Chrome.dll share the same base name. As result, windbg will |
1527 # and Chrome.dll share the same base name. As result, windbg will | 1522 # name the Chrome.dll module like chrome_<base address>, where |
1528 # name the Chrome.dll module like chrome_<base address>, where | 1523 # <base address> typically changes with each launch. This in turn |
1529 # <base address> typically changes with each launch. This in turn | 1524 # means that breakpoints in Chrome.dll don't stick from one launch |
1530 # means that breakpoints in Chrome.dll don't stick from one launch | 1525 # to the next. For this reason, we turn ASLR off in debug builds. |
1531 # to the next. For this reason, we turn ASLR off in debug builds. | 1526 # Note that this is a three-way bool, where 0 means to pick up |
1532 # Note that this is a three-way bool, where 0 means to pick up | 1527 # the default setting, 1 is off and 2 is on. |
1533 # the default setting, 1 is off and 2 is on. | 1528 'RandomizedBaseAddress': 1, |
1534 # Also note that an explicit /dynamicbase linker flag will | |
1535 # override this setting. | |
1536 | |
1537 # If win_debug_RandomizedBaseAddress is blank, leave as default | |
1538 # (that's VS default: off for VS2008, on for VS2010). | |
1539 ['win_debug_RandomizedBaseAddress==1', { | |
1540 # No ASLR for executables or static libraries | |
1541 'target_conditions': [ | |
1542 ['_type=="shared_library" or _type=="loadable_module"', { | |
1543 'RandomizedBaseAddress': 2, | |
1544 }], | |
1545 ], | |
1546 }], | |
1547 ['win_debug_RandomizedBaseAddress==0', { | |
1548 'RandomizedBaseAddress': 1, | |
1549 }], | |
1550 ], | |
1551 }, | 1529 }, |
1552 'VCResourceCompilerTool': { | 1530 'VCResourceCompilerTool': { |
1553 'PreprocessorDefinitions': ['_DEBUG'], | 1531 'PreprocessorDefinitions': ['_DEBUG'], |
1554 }, | 1532 }, |
1555 }, | 1533 }, |
1556 'conditions': [ | 1534 'conditions': [ |
1557 ['OS=="linux"', { | 1535 ['OS=="linux"', { |
1558 'cflags': [ | 1536 'cflags': [ |
1559 '<@(debug_extra_cflags)', | 1537 '<@(debug_extra_cflags)', |
1560 ], | 1538 ], |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1619 # LinkIncremental is a tri-state boolean, where 0 means default | 1597 # LinkIncremental is a tri-state boolean, where 0 means default |
1620 # (i.e., inherit from parent solution), 1 means false, and | 1598 # (i.e., inherit from parent solution), 1 means false, and |
1621 # 2 means true. | 1599 # 2 means true. |
1622 'LinkIncremental': '1', | 1600 'LinkIncremental': '1', |
1623 # This corresponds to the /PROFILE flag which ensures the PDB | 1601 # This corresponds to the /PROFILE flag which ensures the PDB |
1624 # file contains FIXUP information (growing the PDB file by about | 1602 # file contains FIXUP information (growing the PDB file by about |
1625 # 5%) but does not otherwise alter the output binary. This | 1603 # 5%) but does not otherwise alter the output binary. This |
1626 # information is used by the Syzygy optimization tool when | 1604 # information is used by the Syzygy optimization tool when |
1627 # decomposing the release image. | 1605 # decomposing the release image. |
1628 'Profile': 'true', | 1606 'Profile': 'true', |
1629 'conditions': [ | |
1630 # If win_release_RandomizedBaseAddress is blank, leave as default. | |
1631 # For RandomizedBaseAddress: 0=default, 1=off, 2=on | |
1632 ['win_release_RandomizedBaseAddress==1', { | |
1633 # No ASLR for executables or static libraries | |
1634 'target_conditions': [ | |
1635 ['_type=="shared_library" or _type=="loadable_module"', { | |
1636 'RandomizedBaseAddress': 2, | |
1637 }], | |
1638 ], | |
1639 }], | |
1640 ['win_release_RandomizedBaseAddress==0', { | |
1641 'RandomizedBaseAddress': 1, | |
1642 }], | |
1643 ], | |
1644 }, | 1607 }, |
1645 }, | 1608 }, |
1646 'conditions': [ | 1609 'conditions': [ |
1647 ['release_valgrind_build==0', { | 1610 ['release_valgrind_build==0', { |
1648 'defines': [ | 1611 'defines': [ |
1649 'NVALGRIND', | 1612 'NVALGRIND', |
1650 'DYNAMIC_ANNOTATIONS_ENABLED=0', | 1613 'DYNAMIC_ANNOTATIONS_ENABLED=0', |
1651 ], | 1614 ], |
1652 }, { | 1615 }, { |
1653 'defines': [ | 1616 'defines': [ |
(...skipping 1121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2775 'uxtheme.dll', | 2738 'uxtheme.dll', |
2776 ], | 2739 ], |
2777 }, | 2740 }, |
2778 }, | 2741 }, |
2779 'configurations': { | 2742 'configurations': { |
2780 'x86_Base': { | 2743 'x86_Base': { |
2781 'msvs_settings': { | 2744 'msvs_settings': { |
2782 'VCLinkerTool': { | 2745 'VCLinkerTool': { |
2783 'AdditionalOptions': [ | 2746 'AdditionalOptions': [ |
2784 '/safeseh', | 2747 '/safeseh', |
| 2748 '/dynamicbase', |
2785 '/ignore:4199', | 2749 '/ignore:4199', |
2786 '/ignore:4221', | 2750 '/ignore:4221', |
2787 '/nxcompat', | 2751 '/nxcompat', |
2788 ], | 2752 ], |
2789 }, | 2753 }, |
2790 }, | 2754 }, |
2791 }, | 2755 }, |
2792 'x64_Base': { | 2756 'x64_Base': { |
2793 'msvs_settings': { | 2757 'msvs_settings': { |
2794 'VCLinkerTool': { | 2758 'VCLinkerTool': { |
2795 'AdditionalOptions': [ | 2759 'AdditionalOptions': [ |
2796 # safeseh is not compatible with x64 | 2760 # safeseh is not compatible with x64 |
| 2761 '/dynamicbase', |
2797 '/ignore:4199', | 2762 '/ignore:4199', |
2798 '/ignore:4221', | 2763 '/ignore:4221', |
2799 '/nxcompat', | 2764 '/nxcompat', |
2800 ], | 2765 ], |
2801 }, | 2766 }, |
2802 }, | 2767 }, |
2803 }, | 2768 }, |
2804 }, | 2769 }, |
2805 }, | 2770 }, |
2806 }], | 2771 }], |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2841 # settings in target dicts. SYMROOT is a special case, because many other | 2806 # settings in target dicts. SYMROOT is a special case, because many other |
2842 # Xcode variables depend on it, including variables such as | 2807 # Xcode variables depend on it, including variables such as |
2843 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 2808 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
2844 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 2809 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
2845 # files to appear (when present) in the UI as actual files and not red | 2810 # files to appear (when present) in the UI as actual files and not red |
2846 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 2811 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
2847 # and therefore SYMROOT, needs to be set at the project level. | 2812 # and therefore SYMROOT, needs to be set at the project level. |
2848 'SYMROOT': '<(DEPTH)/xcodebuild', | 2813 'SYMROOT': '<(DEPTH)/xcodebuild', |
2849 }, | 2814 }, |
2850 } | 2815 } |
OLD | NEW |