summaryrefslogtreecommitdiffstats
path: root/build/toolchain/win
Commit message (Collapse)AuthorAgeFilesLines
* Detect and warn on missing vcvarsall.batbrucedawson2016-03-231-3/+7
| | | | | | | | | | | | | | | VC++ 2015 defaults to *not* installing the C++ toolchain. Several developers have failed to notice this and then hit cryptic errors when building Chrome. This detects the problem and gives a more informative error message for gn builds. crrev.com/1832593002 does this for gyp builds. BUG=440500 Review URL: https://codereview.chromium.org/1822383002 Cr-Commit-Position: refs/heads/master@{#382915}
* Make setup_toolchain.py run on non-Windows.thakis2016-03-211-20/+10
| | | | | | | | | | Also delete an unused, commented-out block of code. BUG=495204 Review URL: https://codereview.chromium.org/1822633002 Cr-Commit-Position: refs/heads/master@{#382330}
* win toolchain: Load env from json file, not .cmd file.thakis2016-03-161-21/+44
| | | | | | | | | | | | | | | | No behavior change. The motivation is that loading the json file works on non-Windows too. Requires a toolchain that was built with https://codereview.chromium.org/1706423002 and https://codereview.chromium.org/1776283002/ applied (such as the current 2015 package). BUG=495204 Review URL: https://codereview.chromium.org/1805173002 Cr-Commit-Position: refs/heads/master@{#381398}
* Reland of Change default Windows compiler to VS 2015 (patchset #1 id:1 of ↵brucedawson2016-03-111-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1778343002/ ) Reason for revert: Preparing a revert in order to reland VS 2015. The CL is not reading for committing yet. Original issue's description: > Revert of Change default Windows compiler to VS 2015 (patchset #1 id:1 of https://codereview.chromium.org/1740583002/ ) > > Reason for revert: > Broke isolate tests on Win8 GN (dbg) and Win x64 GN (dbg). > > Original issue's description: > > Reland of Change default Windows compiler to VS 2015 > > > > The change to get_landmines.py is there because modifying this file > > affects analyze behavior so that all tests run. Changing the printed > > message is purely a side effect. > > > > This change also removes some redundant INCLUDE paths. These are > > unnecessary when building with VS 2015 (because it defaults to the > > Windows 10 SDK) and actively harmful (they make the INCLUDE path > > problematically long). > > > > This change was redone in order to fix merge conflicts and because after > > a few weeks a fresh set of approvals seems reasonable. > > > > The original change was landed as crrev.com/1598493004 > > > > BUG=440500, 584782 > > > > Committed: https://crrev.com/d4dcbd342dd54f55383daf8bc44b2c9d97fe0d0b > > Cr-Commit-Position: refs/heads/master@{#380382} > > TBR=scottmg@chromium.org,dpranke@chromium.org,brucedawson@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=440500, 584782 > > Committed: https://crrev.com/cb3f85f80a2c146e0e4bf064f02bf68acb274ce5 > Cr-Commit-Position: refs/heads/master@{#380395} TBR=scottmg@chromium.org,dpranke@chromium.org,vasilii@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=440500, 584782 Review URL: https://codereview.chromium.org/1783773004 Cr-Commit-Position: refs/heads/master@{#380711}
* Revert of Change default Windows compiler to VS 2015 (patchset #1 id:1 of ↵vasilii2016-03-101-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1740583002/ ) Reason for revert: Broke isolate tests on Win8 GN (dbg) and Win x64 GN (dbg). https://build.chromium.org/p/chromium.win/builders/Win8%20GN%20%28dbg%29/builds/22695/steps/isolate%20tests/logs/stdio [found] [hashed/size/to hash] [looked up/to lookup] [uploaded/size/to upload/size] 04:10:31.512494 Root: E:\b\build\slave\Win8_GN__dbg_\build\src 04:10:31.513479 Root: E:\b\build\slave\Win8_GN__dbg_\build\src events_unittests GetFileAttributesEx E:\b\build\slave\Win8_GN__dbg_\build\src\out\Debug\msvcp120d.dll: The system cannot find the file specified. 04:10:31.988532 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\content\test\data\) = 1574 files 04:10:32.060523 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\media\test\data\) = 233 files 04:10:32.435549 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\net\data\) = 974 files 04:10:32.464549 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\net\tools\testserver\) = 11 files [2843] [6/29.0Mib/39] [0/6] [0/0b/0/0b] 1s 04:10:32.505555 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\third_party\pyftpdlib\) = 37 files 04:10:32.539557 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\third_party\pywebsocket\) = 99 files 04:10:32.578571 PushDirectory(E:\b\build\slave\Win8_GN__dbg_\build\src\third_party\tlslite\) = 105 files content_browsertests GetFileAttributesEx E:\b\build\slave\Win8_GN__dbg_\build\src\out\Debug\msvcp120d.dll: The system cannot find the file specified. Hits : 0 (0b) Misses : 0 (0b) Duration: 1.301s isolate: GetFileAttributesEx E:\b\build\slave\Win8_GN__dbg_\build\src\out\Debug\msvcp120d.dll: The system cannot find the file specified. step returned non-zero exit code: 1 Original issue's description: > Reland of Change default Windows compiler to VS 2015 > > The change to get_landmines.py is there because modifying this file > affects analyze behavior so that all tests run. Changing the printed > message is purely a side effect. > > This change also removes some redundant INCLUDE paths. These are > unnecessary when building with VS 2015 (because it defaults to the > Windows 10 SDK) and actively harmful (they make the INCLUDE path > problematically long). > > This change was redone in order to fix merge conflicts and because after > a few weeks a fresh set of approvals seems reasonable. > > The original change was landed as crrev.com/1598493004 > > BUG=440500, 584782 > > Committed: https://crrev.com/d4dcbd342dd54f55383daf8bc44b2c9d97fe0d0b > Cr-Commit-Position: refs/heads/master@{#380382} TBR=scottmg@chromium.org,dpranke@chromium.org,brucedawson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=440500, 584782 Review URL: https://codereview.chromium.org/1778343002 Cr-Commit-Position: refs/heads/master@{#380395}
* Reland of Change default Windows compiler to VS 2015brucedawson2016-03-101-12/+12
| | | | | | | | | | | | | | | | | | | | | | The change to get_landmines.py is there because modifying this file affects analyze behavior so that all tests run. Changing the printed message is purely a side effect. This change also removes some redundant INCLUDE paths. These are unnecessary when building with VS 2015 (because it defaults to the Windows 10 SDK) and actively harmful (they make the INCLUDE path problematically long). This change was redone in order to fix merge conflicts and because after a few weeks a fresh set of approvals seems reasonable. The original change was landed as crrev.com/1598493004 BUG=440500, 584782 Review URL: https://codereview.chromium.org/1740583002 Cr-Commit-Position: refs/heads/master@{#380382}
* Add gn option 'is_lto' to enable Link Time Optimization builds.krasin2016-02-251-1/+1
| | | | | | | | | | | We'll launch LTO builds on Linux first, and then add CFI (control flow integrity) on top of that. BUG=589915 Review URL: https://codereview.chromium.org/1734043003 Cr-Commit-Position: refs/heads/master@{#377695}
* vs toolchain: Move toolchain env computation into its own function.thakis2016-02-151-14/+20
| | | | | | | | | | | | Also replace a few ';'s with os.path.pathsep and a few \s with os.path.sep. No behavior change on Windows; the motivation is that this might make it possible to do this environment computation on non-Windows hosts too some day. BUG=495204 Review URL: https://codereview.chromium.org/1697023002 Cr-Commit-Position: refs/heads/master@{#375476}
* gn/win: Add a runtime_link_output to tool("solink")thakis2016-02-111-0/+1
| | | | | | | | | | | | See the CL description of https://codereview.chromium.org/1690843002/ for more. BUG=354261, 498033 TBR=scottmg NOTRY=true Review URL: https://codereview.chromium.org/1687323003 Cr-Commit-Position: refs/heads/master@{#374894}
* Revert of Change default Windows compiler to VS 2015 (patchset #1 id:1 of ↵blundell2016-02-091-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1676263003/ ) Reason for revert: Speculative revert to see if it fixes the "Duplicate COMDAT" compile error; will reland if it doesn't. Googling indicates that we have fought with "Duplicate COMDAT" errors in the past as part of trying to bring in VS 2015. This error occurred in #374346, which is a revert of #374322 due to that CL causing test failures on Linux. Note that the Windows compiler switch landed in #374324. Here is the error in question (from https://build.chromium.org/p/chromium.win/buildstatus?builder=Win%20x64%20Builder%20%28dbg%29&number=18343): FAILED: C:\b\depot_tools\python276_bin\python.exe gyp-win-tool link-with-manifests environment.x64 True mojo_system_impl.dll "C:\b\depot_tools\python276_bin\python.exe gyp-win-tool link-wrapper environment.x64 False link.exe /nologo /IMPLIB:mojo_system_impl.dll.lib /DLL /OUT:mojo_system_impl.dll @mojo_system_impl.dll.rsp" 2 mt.exe rc.exe "obj\third_party\mojo\mojo_system_impl.mojo_system_impl.dll.intermediate.manifest" obj\third_party\mojo\mojo_system_impl.mojo_system_impl.dll.generated.manifest mojo_system_impl2.node_controller.obj : fatal error LNK1179: invalid or corrupt file: duplicate COMDAT '??1?$Callback@$$A6AXAEBVPortRef@ports@edk@mojo@@@Z@base@@QEAA@XZ' Original issue's description: > Reland of Change default Windows compiler to VS 2015 (patchset #1 id:1 of https://codereview.chromium.org/1680533004/ ) > > Reason for revert: > The GPU bot problem (a bug with swarming tests on component builds) is fixed with crrev.com/1676943002 > > Original issue's description: > > Revert of Change default Windows compiler to VS 2015 (patchset #1 id:1 of https://codereview.chromium.org/1679693002/ ) > > > > Reason for revert: > > This breaks GPU win debug bots (https://build.chromium.org/p/chromium.gpu/builders/Win7%20Debug%20%28NVIDIA%29/builds/36633 for example, every GPU test is crashing) > > > > Original issue's description: > > > Reland of Change default Windows compiler to VS 2015 (patchset #1 id:1 of https://codereview.chromium.org/1678663002/ ) > > > > > > Reason for revert: > > > Issues that forced revert of VS 2015 as default compiler are believed to be fixed. > > > > > > Original issue's description: > > > > Revert of Change default Windows compiler to VS 2015 (patchset #10 id:180001 of https://codereview.chromium.org/1598493004/ ) > > > > > > > > Reason for revert: > > > > Speculative for https://code.google.com/p/chromium/issues/detail?id=498544#c20 . Will reland if this doesn't help. > > > > > > > > Original issue's description: > > > > > Change default Windows compiler to VS 2015 > > > > > > > > > > The change to get_landmines.py is there because modifying this file > > > > > affects analyze behavior so that all tests run. Changing the printed > > > > > message is purely a side effect. > > > > > > > > > > This change also removes some redundant INCLUDE paths. These are > > > > > unnecessary when building with VS 2015 (because it defaults to the > > > > > Windows 10 SDK) and actively harmful (they make the INCLUDE path > > > > > problematically long). > > > > > > > > > > BUG=440500,584782 > > > > > > > > > > Committed: https://crrev.com/4c17ac0db59d7dbe78734950f83912ab564bd6fe > > > > > Cr-Commit-Position: refs/heads/master@{#373955} > > > > > > > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,brucedawson@chromium.org > > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > > NOPRESUBMIT=true > > > > NOTREECHECKS=true > > > > NOTRY=true > > > > BUG=440500,584782 > > > > > > > > Committed: https://crrev.com/bbc766aef1bd8cb0d9546fec9abf264e7d8c1d96 > > > > Cr-Commit-Position: refs/heads/master@{#374013} > > > > > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org > > > # Not skipping CQ checks because original CL landed more than 1 days ago. > > > BUG=440500,584782 > > > > > > Committed: https://crrev.com/20e99ecb08da22582d435c1a5bba0a5c96345da3 > > > Cr-Commit-Position: refs/heads/master@{#374058} > > > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org,brucedawson@chromium.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=440500,584782 > > > > Committed: https://crrev.com/03f6b0af0a3a0127f5e939095157079659ab7cc8 > > Cr-Commit-Position: refs/heads/master@{#374062} > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org,zmo@chromium.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=440500,584782 > > Committed: https://crrev.com/36f03f2ac1f92b6f41129f013f8a808f7b9127fc > Cr-Commit-Position: refs/heads/master@{#374324} TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org,zmo@chromium.org,brucedawson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=440500,584782 Review URL: https://codereview.chromium.org/1680123002 Cr-Commit-Position: refs/heads/master@{#374349}
* Reland of Change default Windows compiler to VS 2015 (patchset #1 id:1 of ↵brucedawson2016-02-091-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1680533004/ ) Reason for revert: The GPU bot problem (a bug with swarming tests on component builds) is fixed with crrev.com/1676943002 Original issue's description: > Revert of Change default Windows compiler to VS 2015 (patchset #1 id:1 of https://codereview.chromium.org/1679693002/ ) > > Reason for revert: > This breaks GPU win debug bots (https://build.chromium.org/p/chromium.gpu/builders/Win7%20Debug%20%28NVIDIA%29/builds/36633 for example, every GPU test is crashing) > > Original issue's description: > > Reland of Change default Windows compiler to VS 2015 (patchset #1 id:1 of https://codereview.chromium.org/1678663002/ ) > > > > Reason for revert: > > Issues that forced revert of VS 2015 as default compiler are believed to be fixed. > > > > Original issue's description: > > > Revert of Change default Windows compiler to VS 2015 (patchset #10 id:180001 of https://codereview.chromium.org/1598493004/ ) > > > > > > Reason for revert: > > > Speculative for https://code.google.com/p/chromium/issues/detail?id=498544#c20 . Will reland if this doesn't help. > > > > > > Original issue's description: > > > > Change default Windows compiler to VS 2015 > > > > > > > > The change to get_landmines.py is there because modifying this file > > > > affects analyze behavior so that all tests run. Changing the printed > > > > message is purely a side effect. > > > > > > > > This change also removes some redundant INCLUDE paths. These are > > > > unnecessary when building with VS 2015 (because it defaults to the > > > > Windows 10 SDK) and actively harmful (they make the INCLUDE path > > > > problematically long). > > > > > > > > BUG=440500,584782 > > > > > > > > Committed: https://crrev.com/4c17ac0db59d7dbe78734950f83912ab564bd6fe > > > > Cr-Commit-Position: refs/heads/master@{#373955} > > > > > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,brucedawson@chromium.org > > > # Skipping CQ checks because original CL landed less than 1 days ago. > > > NOPRESUBMIT=true > > > NOTREECHECKS=true > > > NOTRY=true > > > BUG=440500,584782 > > > > > > Committed: https://crrev.com/bbc766aef1bd8cb0d9546fec9abf264e7d8c1d96 > > > Cr-Commit-Position: refs/heads/master@{#374013} > > > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org > > # Not skipping CQ checks because original CL landed more than 1 days ago. > > BUG=440500,584782 > > > > Committed: https://crrev.com/20e99ecb08da22582d435c1a5bba0a5c96345da3 > > Cr-Commit-Position: refs/heads/master@{#374058} > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org,brucedawson@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=440500,584782 > > Committed: https://crrev.com/03f6b0af0a3a0127f5e939095157079659ab7cc8 > Cr-Commit-Position: refs/heads/master@{#374062} TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org,zmo@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=440500,584782 Review URL: https://codereview.chromium.org/1676263003 Cr-Commit-Position: refs/heads/master@{#374324}
* Revert of Change default Windows compiler to VS 2015 (patchset #1 id:1 of ↵zmo2016-02-071-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1679693002/ ) Reason for revert: This breaks GPU win debug bots (https://build.chromium.org/p/chromium.gpu/builders/Win7%20Debug%20%28NVIDIA%29/builds/36633 for example, every GPU test is crashing) Original issue's description: > Reland of Change default Windows compiler to VS 2015 (patchset #1 id:1 of https://codereview.chromium.org/1678663002/ ) > > Reason for revert: > Issues that forced revert of VS 2015 as default compiler are believed to be fixed. > > Original issue's description: > > Revert of Change default Windows compiler to VS 2015 (patchset #10 id:180001 of https://codereview.chromium.org/1598493004/ ) > > > > Reason for revert: > > Speculative for https://code.google.com/p/chromium/issues/detail?id=498544#c20 . Will reland if this doesn't help. > > > > Original issue's description: > > > Change default Windows compiler to VS 2015 > > > > > > The change to get_landmines.py is there because modifying this file > > > affects analyze behavior so that all tests run. Changing the printed > > > message is purely a side effect. > > > > > > This change also removes some redundant INCLUDE paths. These are > > > unnecessary when building with VS 2015 (because it defaults to the > > > Windows 10 SDK) and actively harmful (they make the INCLUDE path > > > problematically long). > > > > > > BUG=440500,584782 > > > > > > Committed: https://crrev.com/4c17ac0db59d7dbe78734950f83912ab564bd6fe > > > Cr-Commit-Position: refs/heads/master@{#373955} > > > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,brucedawson@chromium.org > > # Skipping CQ checks because original CL landed less than 1 days ago. > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=440500,584782 > > > > Committed: https://crrev.com/bbc766aef1bd8cb0d9546fec9abf264e7d8c1d96 > > Cr-Commit-Position: refs/heads/master@{#374013} > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org > # Not skipping CQ checks because original CL landed more than 1 days ago. > BUG=440500,584782 > > Committed: https://crrev.com/20e99ecb08da22582d435c1a5bba0a5c96345da3 > Cr-Commit-Position: refs/heads/master@{#374058} TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org,brucedawson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=440500,584782 Review URL: https://codereview.chromium.org/1680533004 Cr-Commit-Position: refs/heads/master@{#374062}
* Reland of Change default Windows compiler to VS 2015 (patchset #1 id:1 of ↵brucedawson2016-02-071-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1678663002/ ) Reason for revert: Issues that forced revert of VS 2015 as default compiler are believed to be fixed. Original issue's description: > Revert of Change default Windows compiler to VS 2015 (patchset #10 id:180001 of https://codereview.chromium.org/1598493004/ ) > > Reason for revert: > Speculative for https://code.google.com/p/chromium/issues/detail?id=498544#c20 . Will reland if this doesn't help. > > Original issue's description: > > Change default Windows compiler to VS 2015 > > > > The change to get_landmines.py is there because modifying this file > > affects analyze behavior so that all tests run. Changing the printed > > message is purely a side effect. > > > > This change also removes some redundant INCLUDE paths. These are > > unnecessary when building with VS 2015 (because it defaults to the > > Windows 10 SDK) and actively harmful (they make the INCLUDE path > > problematically long). > > > > BUG=440500,584782 > > > > Committed: https://crrev.com/4c17ac0db59d7dbe78734950f83912ab564bd6fe > > Cr-Commit-Position: refs/heads/master@{#373955} > > TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,brucedawson@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=440500,584782 > > Committed: https://crrev.com/bbc766aef1bd8cb0d9546fec9abf264e7d8c1d96 > Cr-Commit-Position: refs/heads/master@{#374013} TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,thakis@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=440500,584782 Review URL: https://codereview.chromium.org/1679693002 Cr-Commit-Position: refs/heads/master@{#374058}
* Revert of Change default Windows compiler to VS 2015 (patchset #10 id:180001 ↵thakis2016-02-061-10/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1598493004/ ) Reason for revert: Speculative for https://code.google.com/p/chromium/issues/detail?id=498544#c20 . Will reland if this doesn't help. Original issue's description: > Change default Windows compiler to VS 2015 > > The change to get_landmines.py is there because modifying this file > affects analyze behavior so that all tests run. Changing the printed > message is purely a side effect. > > This change also removes some redundant INCLUDE paths. These are > unnecessary when building with VS 2015 (because it defaults to the > Windows 10 SDK) and actively harmful (they make the INCLUDE path > problematically long). > > BUG=440500,584782 > > Committed: https://crrev.com/4c17ac0db59d7dbe78734950f83912ab564bd6fe > Cr-Commit-Position: refs/heads/master@{#373955} TBR=dpranke@chromium.org,scottmg@chromium.org,sebmarchand@chromium.org,brucedawson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=440500,584782 Review URL: https://codereview.chromium.org/1678663002 Cr-Commit-Position: refs/heads/master@{#374013}
* Change default Windows compiler to VS 2015brucedawson2016-02-051-12/+10
| | | | | | | | | | | | | | | | | The change to get_landmines.py is there because modifying this file affects analyze behavior so that all tests run. Changing the printed message is purely a side effect. This change also removes some redundant INCLUDE paths. These are unnecessary when building with VS 2015 (because it defaults to the Windows 10 SDK) and actively harmful (they make the INCLUDE path problematically long). BUG=440500,584782 Review URL: https://codereview.chromium.org/1598493004 Cr-Commit-Position: refs/heads/master@{#373955}
* GN: Use special toolchain for nacl64.exe, force is_component_build offmcgrathr2016-01-301-16/+56
| | | | | | | | | | | | | The nacl64.exe build within the Windows 32-bit x86 Chrome build is not compatible with component-style builds. Build nacl64.exe in a special variant of the x64 toolchain, wherein is_component_build is always false. BUG=512869 CQ_EXTRA_TRYBOTS=tryserver.chromium.win:win8_chromium_gn_dbg,win_chromium_gn_x64_rel,win_clang_dbg Review URL: https://codereview.chromium.org/1650633003 Cr-Commit-Position: refs/heads/master@{#372485}
* Revert of GN: Use special toolchain for nacl64.exe, force is_component_build ↵joedow2016-01-291-54/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | off (patchset #2 id:20001 of https://codereview.chromium.org/1580723006/ ) Reason for revert: We are seeing errors on Win x64 fre/chk GN build bots and this is the most likely cause. Reverting. Original issue's description: > GN: Use special toolchain for nacl64.exe, force is_component_build off > > The nacl64.exe build within the Windows 32-bit x86 Chrome build is not > compatible with component-style builds. Build nacl64.exe in a special > variant of the x64 toolchain, wherein is_component_build is always false. > > BUG=512869 > R=bradnelson@chromium.org, dpranke@chromium.org > > Committed: https://crrev.com/8fdf65ae2d38dc0c7bb9ff8f36b4c1f48055844a > Cr-Commit-Position: refs/heads/master@{#372217} TBR=bradnelson@chromium.org,dpranke@chromium.org,mcgrathr@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=512869 Review URL: https://codereview.chromium.org/1643803006 Cr-Commit-Position: refs/heads/master@{#372229}
* GN: Use special toolchain for nacl64.exe, force is_component_build offmcgrathr2016-01-291-16/+54
| | | | | | | | | | | | | The nacl64.exe build within the Windows 32-bit x86 Chrome build is not compatible with component-style builds. Build nacl64.exe in a special variant of the x64 toolchain, wherein is_component_build is always false. BUG=512869 R=bradnelson@chromium.org, dpranke@chromium.org Review URL: https://codereview.chromium.org/1580723006 Cr-Commit-Position: refs/heads/master@{#372217}
* Fix gn builds with locally installed VSbrucedawson2016-01-211-3/+5
| | | | | | | | | | | | | gn builds that use a locally installed copy of Visual Studio (that is, builds with DEPOT_TOOLS_WIN_TOOLCHAIN=0) fail to build because they use the Windows 8.1 SDK, whereas Chrome now requires the Windows 10 SDK. This change updates the 8.1 references to point to 10.0.10586.0. BUG=568201 Review URL: https://codereview.chromium.org/1615603002 Cr-Commit-Position: refs/heads/master@{#370830}
* win: Call clang-cl instead of clang-cl.exe when targeting win on a non-win host.thakis2016-01-151-2/+8
| | | | | | | | | | | | | | | | | | | | | No behavior change, since non-win hosts targeting windows currently don't exist. But if they did, there are three choices for how to invoke the compiler: 1. Call the compiler on the host clang-cl.exe instead of clang-cl. That's weird because clang-cl is a host-native binary. 2. Don't append ".exe" to any program in build/toolchain/win/BUILD.gn -- it's probably not needed on Windows. But if we end up running real Windows binaries on non-Windows (e.g. midl.exe through wine), then those would have a .exe extension on the non-Windows host. 3. Do what this CL does. This seems nicest. BUG=495204 Review URL: https://codereview.chromium.org/1585113007 Cr-Commit-Position: refs/heads/master@{#369854}
* [gn] Detect location of Visual Studio in the registry.bratell2016-01-071-2/+14
| | | | | | | | | | | Look in the registry to figure out where Visual Studio is located on the disk. BUG=460462 Review URL: https://codereview.chromium.org/1556993002 Cr-Commit-Position: refs/heads/master@{#368089}
* Error checking to clarify SYSTEMROOT errorsbrucedawson2015-12-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Occasionally developers hit this cryptic error: Exception: Environment variable "SYSTEMROOT" required to be set to valid path The error message is well intentioned but inevitably misleading. The problem is rarely if ever caused by SYSTEMROOT not being set. In the most recent case it was caused by the "SetEnv.cmd && set" command failing. This change adds two bits of error checking - checking the error code of the Popen command, and ensuring that the results coming in to _ExtractImportantEnvironment are plausible. Both of these checks can detect this particular error, and one or both of them should detect future problems. This was initially done for gyp in crrev.com/1501673004, this makes the same fix for gn builds. R=jam@chromium.org Review URL: https://codereview.chromium.org/1502183004 Cr-Commit-Position: refs/heads/master@{#363930}
* GN: Fix use of current_cpu in //build/toolchain/winmcgrathr2015-12-071-15/+17
| | | | | | | | | | | | | | | | | | | Using current_cpu and current_os as names for template parameters is confusing and is inconsistent with the other toolchain-defining templates. Name them toolchain_cpu and toolchain_os for consistency with the other implementations. This makes it more obvious that testing invoker.toolchain_cpu inside a definition is the proper thing to do. The old code's test of current_cpu was wrong (see crbug.com/566241) and could have been fixed with invoker.current_cpu, but avoiding the current_cpu name makes things clearer. BUG= 566241 BUG= 512869 R=dpranke@chromium.org, scottmg@chromium.org Review URL: https://codereview.chromium.org/1499933004 Cr-Commit-Position: refs/heads/master@{#363571}
* get_concurrent_links.py: give more RAM per job in LTO builds.krasin2015-12-041-1/+7
| | | | | | | | | | | | | | | This is required for launching Control Flow Integrity on Linux x86-64, as it uses LTO builds, which use significantly more memory during link phase. Failing to do that lead me to see this OOM error message on the bot: https://chromegw.corp.google.com/i/official.desktop/builders/precise64/builds/253 BUG=565162,464797 Review URL: https://codereview.chromium.org/1492843006 Cr-Commit-Position: refs/heads/master@{#363137}
* GN: Propagate top-level host_toolchain through to all toolchainsmcgrathr2015-12-021-0/+3
| | | | | | | | | | | | | | | | | The logic to choose host_toolchain depends on variables like is_clang that might be overridden in toolchain_args() as well as set as a build argument by the user. Only the top-level build arguments should affect the host_toolchain value, not anything set in some toolchain's toolchain_args() block. To achieve this, set host_toolchain once at top level and then make each toolchain propagate that value down in its toolchain_args() block. BUG= 512869 R=dpranke@chromium.org Review URL: https://codereview.chromium.org/1467413005 Cr-Commit-Position: refs/heads/master@{#362758}
* Tweaks to vs_toolchain to simplify it, and support gn VS 2015brucedawson2015-11-211-2/+2
| | | | | | | | | | | | | | | | | | This change updates and simplifies vs_toolchain.py so that it supports VS 2015 in gn builds. The gn and gyp code now shares DLL copying code so that they should more naturally stay in sync in the future. The out_release_nacl64 directory now gets a PGO DLL that it didn't used to. The six warnings globally disabled are globally disabled in gyp builds as well. The equivalent warnings (narrowing conversions and variable shadowing) are disabled in gcc/clang so there is no bug for enabling them at this time. BUG=440500 Review URL: https://codereview.chromium.org/1468643002 Cr-Commit-Position: refs/heads/master@{#360988}
* Use label name to generate PDB names in GN.brettw2015-11-131-2/+2
| | | | | | | | | | On Windows the GN toolchain setup used the output name to make unique PDB names. But the output name isn't necessarily that unique. The only requirement on that is that the outputs not collide, but multiple targets can otherwise have the same output name. Also, the output name can contain slashes that put it in different directories, or spaces which might confuse certain tools. The label name is guaranteed to be unique in a given target_out_dir so this should give better names. Review URL: https://codereview.chromium.org/1443733003 Cr-Commit-Position: refs/heads/master@{#359677}
* Put GN object files in subdir based on the label.brettw2015-11-101-4/+7
| | | | | | | | | | | | Previously the subdir was based on the output name. These are usually the same but might be different if output_name is overridden, and for libraries on Linux that have a "lib" prefix. The label name is more unique better matches what one would expect (especiall for the "lib" prefix case). Most importantly, the output name might have spaces which confuses Mac. BUG=546894 Review URL: https://codereview.chromium.org/1417423007 Cr-Commit-Position: refs/heads/master@{#358925}
* Clean up Windows GN toolchains.brettw2015-11-101-59/+63
| | | | | | | | | | | | Properly sets up 64-bit cross compiles when targeting 32-bit CPUs on Windows. Enables the cloud print portmon library 64-bit cross-compile. Removes vc_bin_dir build argument. This doesn't play nicely with multiple architectures in a build. If we need this, a more expressive build setting will need to be invented. Review URL: https://codereview.chromium.org/1428123003 Cr-Commit-Position: refs/heads/master@{#358910}
* GN: Fix Windows tool("asm") for x86-64mcgrathr2015-11-051-1/+6
| | | | | | | | | | | | The Windows assembler is called ml.exe when it targets x86-32. But it's called ml64.exe when it targets x86-64. BUG= 512869 R=scottmg@chromium.org Review URL: https://codereview.chromium.org/1434453006 Cr-Commit-Position: refs/heads/master@{#357977}
* GN: Factor "stamp" and "copy" details out of toolchainsmcgrathr2015-10-271-6/+8
| | | | | | | | | | | | | | The "stamp" and "copy" tools are unlike all other tools in a toolchain: their definitions are entirely generic to a given host operating system, rather than depending on the exact the target of the toolchain. Use the same definitions in all toolchains, depending only on $host_os. BUG= 512869 R=dpranke@chromium.org Review URL: https://codereview.chromium.org/1412623007 Cr-Commit-Position: refs/heads/master@{#356416}
* [GN] Add solink_module tool on the Mac, Win, and GCC toolchains.andybons2015-10-151-0/+19
| | | | | | | | | | | For use by the loadable_module target type. BUG=369774 R=dpranke@chromium.org,brettw@chromium.org Review URL: https://codereview.chromium.org/1409553003 Cr-Commit-Position: refs/heads/master@{#354195}
* Add GCAPI to the GN build.brettw2015-10-071-1/+2
| | | | | | | | | | | | | | | | | | GCAPI is a Windows-specific API for distributors of Chrome. This adds all chrome/installer targets to "gn check" and fixes many associated issues. The result codes targets are also added to "gn check" to make sure people don't accidentally add stuff to those headers. Rather than add a disable for the size_t to int warning for this target, I just fixed the warning and removed the disable flag from GYP. Merged //chrome/common:result_codes into //chrome/common:constants. This is basically a constant and everybody that needed the result codes already depended on the constants target. Fix google_update build file. The midl template already did everything this file was trying to do. I clarified the template documentation a bit. BUG=539428 Review URL: https://codereview.chromium.org/1388943004 Cr-Commit-Position: refs/heads/master@{#352869}
* [GN]: BUILD file housecleaningandybons2015-09-281-3/+1
| | | | | | | | | | | | | + Turn on precompiled headers on Mac. + Change the toolchains to use asmflags instead of cflags and cflags_c. + Remove a TODO to hardcode the Mac SDK since the location of the SDK is not always guaranteed (on bots, for example). + GN: .S or .asm files no longer trigger cflags or cflags_c to be written to the ninja file. BUG=none Review URL: https://codereview.chromium.org/1368223002 Cr-Commit-Position: refs/heads/master@{#351202}
* Fix nested config in GN.brettw2015-09-141-13/+3
| | | | | | | | | | | | | This also moves the config out of the template. Otherwise this will generate an error if there is more than one MIDL target in the same directory. Use forward_variables_from in the MIDL template. TBR=dpranke@chromium.org Review URL: https://codereview.chromium.org/1335283002 Cr-Commit-Position: refs/heads/master@{#348664}
* GN: Use lib.unstripped rather than lib.stripped. Add a toolchain.gniagrieve2015-08-101-2/+1
| | | | | | | | | | | | | | | toolchain.gni introduces: root_shlib_dir, shlib_prefix, and shlib_extension The original goal of this change was to put shlibs under lib/ for Linux / Android, since that's where GYP puts them. However, the lack of support for loadable_module (or more specifically - per target output directory) in GN makes this infeasible at the moment. This change also mitigates a subtle bug where on Android the unstripped .so is used mistakenly instead of the lib.stripped/ version. It also fixes shlib's link_output being set to the unstripped .so rather than the stripped .so (on Android). BUG=509771 Review URL: https://codereview.chromium.org/1236503002 Cr-Commit-Position: refs/heads/master@{#342697}
* Copy only the DLLs for the default toolchain on Windows.brettw2015-08-071-13/+17
| | | | | | | | | | Previuosly this would copy them 4 times, once for each Windows toolchain: 32-bit, 64-bit clang-32-bit and clang-64-bit. This should only actually be needed for the default toolchain. This speeds up running GN on Windows by ~1/2 second on average. Review URL: https://codereview.chromium.org/1277243002 Cr-Commit-Position: refs/heads/master@{#342419}
* Restat shared library link ops in GN on Windows.brettw2015-08-061-0/+5
| | | | | | | | The lack of this is causing unnecessary rebuilds when changes in a source file affect the .dll but not the .lib. This restat flag addition matches GYP on Windows and how GN on Posix work. Review URL: https://codereview.chromium.org/1275983002 Cr-Commit-Position: refs/heads/master@{#342148}
* Laying the groundwork for targeting WinRT for WebRTC.fredlebel2015-07-292-0/+32
| | | | | | | | | | | | Now supporting various flavors of WinRT in the target_os argument. Setting compiler and linker flags so cc files are compiled to support C++/CX syntax. This is part of a larger effort to port WebRTC to WinRT. Review URL: https://codereview.chromium.org/1150183009 Cr-Commit-Position: refs/heads/master@{#340893}
* Annotate large GN targets for precompiled headersbrettw2015-07-281-6/+2
| | | | | | | | | | | | | | | | | | Adds the precompiled header config to most large-ish targets in the build, but keeps the config a no-op (so no precompiled headers will be used but this can bw switched with a one-line change). Removes Windows files from the precompiled header. This does not seem to affect the build speed much because most Chrome files don't depend on Windows any more. And windows.h injects typedefs and defines that conflict with some third party libraries and prevent using precompiled headers for those targets or any target that includes them. I counted ~50 files or bigger as large. The 50 file threshold is based on some previous approximate measurements (since the precompile step is an extra per-target compile, it can actually make small targets compile slower). For borderline cases, I added the precompiled header flag if I thought it was likely to have more files added, and didn't add it if I thought the target was likely to be static. This is a reland of https://codereview.chromium.org/1250273002/ with the config disabled for easier re-landing and iterating CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel TBR=dpranke Review URL: https://codereview.chromium.org/1258273004 Cr-Commit-Position: refs/heads/master@{#340728}
* Revert "Add precompiled headers to GN build for large targets."dpranke2015-07-281-2/+6
| | | | | | | | | | | | | | | | | This reverts commit 8f3218985dde74063ccc362da47803be163f3165. It looks like this may have broken incremental builds on Win. TBR=brettw@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1256223003 Cr-Commit-Position: refs/heads/master@{#340620}
* Add precompiled headers to GN build for large targets.brettw2015-07-271-6/+2
| | | | | | | | | | | | | | | | Turns on precompiled header support in the GN build on Windows, and adds the precompiled header config to most large-ish targets in the build. Removes Windows files from the precompiled header. This does not seem to affect the build speed much because most Chrome files don't depend on Windows any more. And windows.h injects typedefs and defines that conflict with some third party libraries and prevent using precompiled headers for those targets or any target that includes them. I counted ~50 files or bigger as large. The 50 file threshold is based on some previous approximate measurements (since the precompile step is an extra per-target compile, it can actually make small targets compile slower). For borderline cases, I added the precompiled header flag if I thought it was likely to have more files added, and didn't add it if I thought the target was likely to be static. CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1250273002 Cr-Commit-Position: refs/heads/master@{#340535}
* Enable -Wextra-tokens on win clang.Daniel Cheng2015-07-111-0/+8
| | | | | | | | | | | | | | | This warns on code of the form: #endif RANDOM_TEXT MIDL generated code tends to emit code in this pattern, so suppress this warning when compiling MIDL generated files. BUG=504663 R=thakis@chromium.org TBR=dtseng, robertshield, weitaosu Review URL: https://codereview.chromium.org/1233453008 Cr-Commit-Position: refs/heads/master@{#338435}
* Move GN obj files to target-specific dirsbrettw2015-07-111-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously GN would put object files in a similar place to GYP. They would go in a corresponding directory as the source file and would be prefixed with the target name for uniqueness. Since GN target names are not unique, this doesn't work as well. Instead use a simpler scheme and put all the object files in a directory for each target. This causes a few object file name collisions which this patch fixes in various ways: - Renamed chrome/browser/ui/views/find_bar_host_interactive_uitest.cc to have "views" in the name (collided with chrome/browser/ui/find_bar/find_bar_host_interactive_uitest.cc) - Renamed chrome/browser/apps/speech_recognition_browsertest.cc to have "app" in the name (collided with chrome/browser/speech/speech_recognition_browsertest.cc). - Renamed chrome/common/extensions/api/extension_api_unittest.cc to have "common" in the name (collided with chrome/browser/extensions/extension_api_unittest.cc which is actually a test harness with that name). - Moved the extensions files that were in the chrome interactive UI tests and browser tests to source sets in the extensions directory. These are things that should be cleaned up and moved there anyway. - Net has some messy duplication in quic files. I made a dummy target for them. Apparently each copy of this file (same code, different namespace) is supposed to match something different upstream and this should be fixed. - Moved chrome/browser/chromeos unit tests to its own target. - Renamed chrome/browser/favicon/favicon_helper to favicon_utils. It conflicted with chrome/browser/android/favicon_helper which has an actual class named "FaviconHelper. - Renamed service.* and service_factory.* in chrome/browser/chromeos/launcher_search_provider to have a launcher_search_provider prefix to avoid collisions with the file_system_provider one. - Added a "chromeos" prefix to chrome/browser/chromeos/first_run/first_run_browsertest.cc to avoid collisions with the one in browser/first_run. - Added "chromeos" to chrome/browser/chromeos/preferences_browsertest.cc to avoid collision with browser/ui/webui/options. - Rename "chrome/browser/chromeos/drive/test_util.*" to "drive_test_util.*". Update includes. Rename chrome/browser/chromeos/file_manager/drive_test_util* to mount_test_util to avoid colliding with above new file. The deps->public_deps changes in components/policy and content/test is because those targets were used externally in a way that this patch uncovered. Review URL: https://codereview.chromium.org/1208963003 Cr-Commit-Position: refs/heads/master@{#338408}
* Windows precompiled header support in GN.brettw2015-06-291-0/+6
| | | | | | | | | | | | | | Introduces aprecompiled_header_type flag on a tool to say whether it supports precompiled headers, and flags on configs/targets that allow one to specify which header is precompiled. This does not implement GCC precompiled headers, but the type flag will allow future expansion (the implementation will be mostly separate). Renames SOURCE_CC to SOURCE_CPP to avoid confusion with Toolchain::TYPE_CC (which is actually the C compiler). BUG=297678 Review URL: https://codereview.chromium.org/1207903002 Cr-Commit-Position: refs/heads/master@{#336674}
* clang/win: Start work on getting clang/win working in gn.thakis2015-06-031-11/+32
| | | | | | | | | | | | | | This is enough to get base building with clang on Windows. On Windows, we use clang-cl.exe which is command-line compatible with cl.exe. BUG=491209,404525 CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg Review URL: https://codereview.chromium.org/1158763006 Cr-Commit-Position: refs/heads/master@{#332563}
* Fix GN midl template for input/output checkingbrettw2015-06-021-1/+1
| | | | | | | | An upcoming version of GN will check that inputs to scripts are generated by public dependencies of the script. The MIDL rule is the only failing part of the Windows build. Review URL: https://codereview.chromium.org/1152743004 Cr-Commit-Position: refs/heads/master@{#332450}
* GN Windows build fixesbrettw2015-04-241-1/+1
| | | | | | | | | | | | | | | Most importantly, this passes cflags_cc to the C++ compiler. This fixes some flag differences with the GYP build, especially when running on 64 bit. It disables a TLS test on static debug x64 builds which also fails in GYP. This configuration is not run on the bots but is the standard GN Windows build. BUG=251251 CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg Review URL: https://codereview.chromium.org/1062743005 Cr-Commit-Position: refs/heads/master@{#326856}
* Remove old references to cpu_arch, os from GN files.dpranke2015-03-261-3/+0
| | | | | | | | | | | | Now that os and cpu_arch are no longer needed or used anywhere. R=brettw@chromium.org, rockot@chromium.org BUG=344767 CQ_EXTRA_TRYBOTS=tryserver.chromium.linux:android_chromium_gn_compile_dbg,android_chromium_gn_compile_rel;tryserver.chromium.win:win8_chromium_gn_rel,win8_chromium_gn_dbg;tryserver.chromium.mac:mac_chromium_gn_rel,mac_chromium_gn_dbg Review URL: https://codereview.chromium.org/1017273002 Cr-Commit-Position: refs/heads/master@{#322499}
* Add remoting and PPAPI tests to GN buildbrettw2015-03-041-0/+5
| | | | | | | | | Reland of https://codereview.chromium.org/961323004 TBR=dpranke Review URL: https://codereview.chromium.org/969173002 Cr-Commit-Position: refs/heads/master@{#319080}