Chromium Code Reviews| 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 |