OLD | NEW |
---|---|
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2011 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 909 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
920 | 920 |
921 # See http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html | 921 # See http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/Optimize-Options.html |
922 'mac_release_optimization%': '3', # Use -O3 unless overridden | 922 'mac_release_optimization%': '3', # Use -O3 unless overridden |
923 'mac_debug_optimization%': '0', # Use -O0 unless overridden | 923 'mac_debug_optimization%': '0', # Use -O0 unless overridden |
924 | 924 |
925 # See http://msdn.microsoft.com/en-us/library/aa652360(VS.71).aspx | 925 # See http://msdn.microsoft.com/en-us/library/aa652360(VS.71).aspx |
926 'win_release_Optimization%': '2', # 2 = /Os | 926 'win_release_Optimization%': '2', # 2 = /Os |
927 'win_debug_Optimization%': '0', # 0 = /Od | 927 'win_debug_Optimization%': '0', # 0 = /Od |
928 | 928 |
929 # See http://msdn.microsoft.com/en-us/library/2kxx5t2c(v=vs.80).aspx | 929 # See http://msdn.microsoft.com/en-us/library/2kxx5t2c(v=vs.80).aspx |
930 # Tri-state: blank is default, 1 on, 0 off | |
930 'win_release_OmitFramePointers%': '1', | 931 'win_release_OmitFramePointers%': '1', |
932 # Tri-state: blank is default, 1 on, 0 off | |
933 'win_debug_OmitFramePointers%': '', | |
931 | 934 |
932 # See http://msdn.microsoft.com/en-us/library/8wtf2dfz(VS.71).aspx | 935 # See http://msdn.microsoft.com/en-us/library/8wtf2dfz(VS.71).aspx |
933 'win_debug_RuntimeChecks%': '3', # 3 = all checks enabled, 0 = off | 936 'win_debug_RuntimeChecks%': '3', # 3 = all checks enabled, 0 = off |
934 | 937 |
935 # See http://msdn.microsoft.com/en-us/library/47238hez(VS.71).aspx | 938 # See http://msdn.microsoft.com/en-us/library/47238hez(VS.71).aspx |
936 'win_debug_InlineFunctionExpansion%': '', # empty = default, 0 = off, | 939 'win_debug_InlineFunctionExpansion%': '', # empty = default, 0 = off, |
937 'win_release_InlineFunctionExpansion%': '2', # 1 = only __inline, 2 = max | 940 'win_release_InlineFunctionExpansion%': '2', # 1 = only __inline, 2 = max |
938 | 941 |
939 # VS inserts quite a lot of extra checks to algorithms like | 942 # VS inserts quite a lot of extra checks to algorithms like |
940 # std::partial_sort in Debug build which make them O(N^2) | 943 # std::partial_sort in Debug build which make them O(N^2) |
941 # instead of O(N*logN). This is particularly slow under memory | 944 # instead of O(N*logN). This is particularly slow under memory |
942 # tools like ThreadSanitizer so we want it to be disablable. | 945 # tools like ThreadSanitizer so we want it to be disablable. |
943 # See http://msdn.microsoft.com/en-us/library/aa985982(v=VS.80).aspx | 946 # See http://msdn.microsoft.com/en-us/library/aa985982(v=VS.80).aspx |
944 'win_debug_disable_iterator_debugging%': '0', | 947 'win_debug_disable_iterator_debugging%': '0', |
945 | 948 |
946 'release_extra_cflags%': '', | 949 'release_extra_cflags%': '', |
947 'debug_extra_cflags%': '', | 950 'debug_extra_cflags%': '', |
948 'release_valgrind_build%': 0, | 951 'release_valgrind_build%': 0, |
949 | 952 |
953 # the non-qualified versions are widely assumed to be *nix-only | |
954 'win_release_extra_cflags%': '', | |
955 'win_debug_extra_cflags%': '', | |
956 | |
950 # TODO(thakis): Make this a blacklist instead, http://crbug.com/101600 | 957 # TODO(thakis): Make this a blacklist instead, http://crbug.com/101600 |
951 'enable_wexit_time_destructors%': '<(enable_wexit_time_destructors)', | 958 'enable_wexit_time_destructors%': '<(enable_wexit_time_destructors)', |
952 | 959 |
953 # Only used by Windows build for now. Can be used to build into a | 960 # Only used by Windows build for now. Can be used to build into a |
954 # differet output directory, e.g., a build_dir_prefix of VS2010_ would | 961 # differet output directory, e.g., a build_dir_prefix of VS2010_ would |
955 # output files in src/build/VS2010_{Debug,Release}. | 962 # output files in src/build/VS2010_{Debug,Release}. |
956 'build_dir_prefix%': '', | 963 'build_dir_prefix%': '', |
957 | 964 |
958 'conditions': [ | 965 'conditions': [ |
959 ['OS=="win" and component=="shared_library"', { | 966 ['OS=="win" and component=="shared_library"', { |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1432 ['win_debug_InlineFunctionExpansion==0', { | 1439 ['win_debug_InlineFunctionExpansion==0', { |
1433 'AdditionalOptions': ['/Ob0'], | 1440 'AdditionalOptions': ['/Ob0'], |
1434 }], | 1441 }], |
1435 ['win_debug_InlineFunctionExpansion!=""', { | 1442 ['win_debug_InlineFunctionExpansion!=""', { |
1436 'InlineFunctionExpansion': | 1443 'InlineFunctionExpansion': |
1437 '<(win_debug_InlineFunctionExpansion)', | 1444 '<(win_debug_InlineFunctionExpansion)', |
1438 }], | 1445 }], |
1439 ['win_debug_disable_iterator_debugging==1', { | 1446 ['win_debug_disable_iterator_debugging==1', { |
1440 'PreprocessorDefinitions': ['_HAS_ITERATOR_DEBUGGING=0'], | 1447 'PreprocessorDefinitions': ['_HAS_ITERATOR_DEBUGGING=0'], |
1441 }], | 1448 }], |
1449 | |
1450 # if win_debug_OmitFramePointers is blank, leave as default | |
M-A Ruel
2011/12/16 21:33:01
There are cases where we enable optimizations in d
Derek Bruening
2011/12/16 22:01:14
We are now building Debug chrome with /O1 when we
M-A Ruel
2011/12/16 22:44:32
This is a bit sad, I would have preferred to assum
| |
1451 ['win_debug_OmitFramePointers==1', { | |
1452 'OmitFramePointers': 'true', | |
1453 }], | |
1454 ['win_debug_OmitFramePointers==0', { | |
1455 'OmitFramePointers': 'false', | |
brettw
2011/12/16 21:32:42
Just curious: would it be better to change OmitFra
Derek Bruening
2011/12/16 22:01:14
Yes, if we could, but we don't control that: Micro
| |
1456 # The above is not sufficient (http://crbug.com/106711): it | |
1457 # simply eliminates an explicit "/Oy", but both /O2 and /Ox | |
1458 # perform FPO regardless, so we must explicitly disable. | |
1459 # We still want the false setting above to avoid having | |
1460 # "/Oy /Oy-" and warnings about overriding. | |
1461 'AdditionalOptions': ['/Oy-'], | |
1462 }], | |
1442 ], | 1463 ], |
1464 'AdditionalOptions': [ '<@(win_debug_extra_cflags)', ], | |
1443 }, | 1465 }, |
1444 'VCLinkerTool': { | 1466 'VCLinkerTool': { |
1445 'LinkIncremental': '<(msvs_debug_link_incremental)', | 1467 'LinkIncremental': '<(msvs_debug_link_incremental)', |
1446 # ASLR makes debugging with windbg difficult because Chrome.exe and | 1468 # ASLR makes debugging with windbg difficult because Chrome.exe and |
1447 # Chrome.dll share the same base name. As result, windbg will | 1469 # Chrome.dll share the same base name. As result, windbg will |
1448 # name the Chrome.dll module like chrome_<base address>, where | 1470 # name the Chrome.dll module like chrome_<base address>, where |
1449 # <base address> typically changes with each launch. This in turn | 1471 # <base address> typically changes with each launch. This in turn |
1450 # means that breakpoints in Chrome.dll don't stick from one launch | 1472 # means that breakpoints in Chrome.dll don't stick from one launch |
1451 # to the next. For this reason, we turn ASLR off in debug builds. | 1473 # to the next. For this reason, we turn ASLR off in debug builds. |
1452 # Note that this is a three-way bool, where 0 means to pick up | 1474 # Note that this is a three-way bool, where 0 means to pick up |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1491 # "default inlining", not "/Ob0". | 1513 # "default inlining", not "/Ob0". |
1492 # Thus, we have to handle InlineFunctionExpansion==0 separately. | 1514 # Thus, we have to handle InlineFunctionExpansion==0 separately. |
1493 ['win_release_InlineFunctionExpansion==0', { | 1515 ['win_release_InlineFunctionExpansion==0', { |
1494 'AdditionalOptions': ['/Ob0'], | 1516 'AdditionalOptions': ['/Ob0'], |
1495 }], | 1517 }], |
1496 ['win_release_InlineFunctionExpansion!=""', { | 1518 ['win_release_InlineFunctionExpansion!=""', { |
1497 'InlineFunctionExpansion': | 1519 'InlineFunctionExpansion': |
1498 '<(win_release_InlineFunctionExpansion)', | 1520 '<(win_release_InlineFunctionExpansion)', |
1499 }], | 1521 }], |
1500 | 1522 |
1523 # if win_release_OmitFramePointers is blank, leave as default | |
1501 ['win_release_OmitFramePointers==1', { | 1524 ['win_release_OmitFramePointers==1', { |
1502 'OmitFramePointers': 'true', | 1525 'OmitFramePointers': 'true', |
1503 }], | 1526 }], |
1504 ['win_release_OmitFramePointers==0', { | 1527 ['win_release_OmitFramePointers==0', { |
1505 'OmitFramePointers': 'false', | 1528 'OmitFramePointers': 'false', |
1529 # The above is not sufficient (http://crbug.com/106711): it | |
1530 # simply eliminates an explicit "/Oy", but both /O2 and /Ox | |
1531 # perform FPO regardless, so we must explicitly disable. | |
1532 # We still want the false setting above to avoid having | |
1533 # "/Oy /Oy-" and warnings about overriding. | |
1534 'AdditionalOptions': ['/Oy-'], | |
1506 }], | 1535 }], |
1507 ], | 1536 ], |
1537 'AdditionalOptions': [ '<@(win_release_extra_cflags)', ], | |
1508 }, | 1538 }, |
1509 'VCLinkerTool': { | 1539 'VCLinkerTool': { |
1510 # LinkIncremental is a tri-state boolean, where 0 means default | 1540 # LinkIncremental is a tri-state boolean, where 0 means default |
1511 # (i.e., inherit from parent solution), 1 means false, and | 1541 # (i.e., inherit from parent solution), 1 means false, and |
1512 # 2 means true. | 1542 # 2 means true. |
1513 'LinkIncremental': '1', | 1543 'LinkIncremental': '1', |
1514 # This corresponds to the /PROFILE flag which ensures the PDB | 1544 # This corresponds to the /PROFILE flag which ensures the PDB |
1515 # file contains FIXUP information (growing the PDB file by about | 1545 # file contains FIXUP information (growing the PDB file by about |
1516 # 5%) but does not otherwise alter the output binary. This | 1546 # 5%) but does not otherwise alter the output binary. This |
1517 # information is used by the Syzygy optimization tool when | 1547 # information is used by the Syzygy optimization tool when |
(...skipping 1154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2672 # settings in target dicts. SYMROOT is a special case, because many other | 2702 # settings in target dicts. SYMROOT is a special case, because many other |
2673 # Xcode variables depend on it, including variables such as | 2703 # Xcode variables depend on it, including variables such as |
2674 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something | 2704 # PROJECT_DERIVED_FILE_DIR. When a source group corresponding to something |
2675 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the | 2705 # like PROJECT_DERIVED_FILE_DIR is added to a project, in order for the |
2676 # files to appear (when present) in the UI as actual files and not red | 2706 # files to appear (when present) in the UI as actual files and not red |
2677 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, | 2707 # red "missing file" proxies, the correct path to PROJECT_DERIVED_FILE_DIR, |
2678 # and therefore SYMROOT, needs to be set at the project level. | 2708 # and therefore SYMROOT, needs to be set at the project level. |
2679 'SYMROOT': '<(DEPTH)/xcodebuild', | 2709 'SYMROOT': '<(DEPTH)/xcodebuild', |
2680 }, | 2710 }, |
2681 } | 2711 } |
OLD | NEW |