Граф коммитов

81 Коммитов

Автор SHA1 Сообщение Дата
drbasic d9f7991400 Get Chrome compiling on VS2017 Community edition
R=scottmg@chromium.org
BUG=683729

Review-Url: https://codereview.chromium.org/2815873002
Cr-Original-Commit-Position: refs/heads/master@{#464657}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 461b329afc65973c9d25edbae1eff9e0b6979d07
2017-04-14 02:13:01 +00:00
jochen 199e673c90 Enable content shell crash integration test on Windows
BUG=688737,706744
R=dpranke@chromium.org

Review-Url: https://codereview.chromium.org/2782603002
Cr-Original-Commit-Position: refs/heads/master@{#461175}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2511b73c11a55d8bb8a4c730d0cb308fbc821780
2017-03-31 18:24:15 +00:00
brucedawson bd82dfa88e New VS 2017 toolchain with dbghelp.dll fixes
This updates the package used when building Chrome with VS 2017 based
on the changes in https://chromium-review.googlesource.com/461385.

This packages versions of dbghelp.dll that can handle VS 2017's
/debug:fastlink binaries without hanging. This avoids hangs in windbg
and in base_unittests, and elsewhere.

See this bug for details:
https://developercommunity.visualstudio.com/content/problem/36255/chromes-base-unittests-fails-with-vs-2017-due-to-s.html

R=scottmg@chromium.org
BUG=683729

Review-Url: https://codereview.chromium.org/2778323002
Cr-Original-Commit-Position: refs/heads/master@{#460236}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6a01e98bf1f7cd1b9418698808ae83fca54fb626
2017-03-28 23:28:26 +00:00
brucedawson 9f91eb223d Remove VS 2013 from vs_toolchain.py
Chrome has not built with VS 2013 for a while now, so no need to carry
that baggage around as we add VS 2017 support.

Review-Url: https://codereview.chromium.org/2771333002
Cr-Original-Commit-Position: refs/heads/master@{#459876}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e7c0d998d5416b380ffefe1f6acd6126e35d11ed
2017-03-27 20:59:15 +00:00
brucedawson e176b47d66 Add VS 2017 toolchain hash
This change adds a hash for the VS 2017 RTM toolchain download in depot
tools. This allows Googlers to use VS 2017 to build Chrome without
needing to install it, and lets build machines use VS 2017 (although
they continue to default to VS 2015.

The package was created on a Windows Server 2016 VM. One would hope that
the OS used wouldn't matter, but ...? Previous installs of VS 2015 or
the platform SDK are likely to leave files lying around that will alter
the hash so a clean VM is needed. Then follow these steps:

Install VS 2017 Professional RTM, selecting the "Desktop development with
C++" component, and add the MFC and ATL support option.

After this is done you need to install the debugger packages from the
Windows 10 SDK. Go to:
https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
and be sure to check the Debugging Tools option. Once the installers
have downloaded you can find the x86 and x64 debugger installers in the
download directory in "Windows Kits\10\StandaloneSDK\Installers" - run
them both.

Then run the packaging script, like this:
> python depot_tools\win_toolchain\package_from_installed.py 2017

Note that this packages the 10.0.14393.0 SDK, but this is not the same
10.0.14393.0 SDK that was used in the previous VS 2015 packaging. The
SDK was updated without changing the version number. Most of the changes
should not matter, but be aware.

To use this package set these two environment variables:
    DEPOT_TOOLS_WIN_TOOLCHAIN=1
    GYP_MSVS_VERSION=2017

Then run "gclient runhooks" to download the new package. The .ninja
files will not automatically update so you may need to run gn gen on
your output directories.

The 'chrome' target should build cleanly without warnings. However
VS 2017 is not yet a supported toolchain so warnings may appear. You
may want to use the treat_warnings_as_errors = false build flag.

To run VS 2017 tests on the buildbots you need to change the
CURRENT_DEFAULT_TOOLCHAIN_VERSION in build\vs_toolchain.py to '2017'
and you need to add a landmine to force a rebuild.

The build process was tested on two separate VMs to ensure that the
results were consistent. They were.

BUG=683729

Review-Url: https://codereview.chromium.org/2777643002
Cr-Original-Commit-Position: refs/heads/master@{#459593}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 560bb951d9a6625633fcad4e4168fb7054bb4dfa
2017-03-24 23:10:01 +00:00
brucedawson 3c5003eba8 Copy *all* UCRT DLLs to the output directory
In component builds where DEPOT_TOOLS_WIN_TOOLCHAIN=0 the VS toolchain
script would copy *most* of the UCRT DLLs, but not all of them. It would
fail to copy the api-ms-win-crt-*.dll files. This was not noticed
because these only need to be copied in if you make the mini_installer
target, and if you had previously done generated your output directory
with DEPOT_TOOLS_WIN_TOOLCHAIN=1 then the files would be copied in then,
and retained.

This changes the script to copy from %WINDOWSSDKDIR%\Redist\ucrt\DLLs
directory, or the default location if this variable is not set. This
path is used elsewhere, why copy_cdb_to_output.py and is supported by
both values of DEPOT_TOOLS_WIN_TOOLCHAIN. If the SDK is installed in a
non-default location then DEPOT_TOOLS_WIN_TOOLCHAIN=0 users will have to
ensure that WINDOWSSDKDIR is set.

Local testing confirms that the set of files copied is now identical for
DEPOT_TOOLS_WIN_TOOLCHAIN=0/1 (the file versions are different due to
SDK updates but that is known and expected).

BUG=692300

Review-Url: https://codereview.chromium.org/2743423002
Cr-Original-Commit-Position: refs/heads/master@{#456484}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 46cd6d9361fffc104929e0ed654576eb3b286f14
2017-03-13 21:12:31 +00:00
thestig cc228aba0c Only import gyp when required in vs_toolchain.py.
Also replace some elifs after returns with ifs.

BUG=648423

Review-Url: https://codereview.chromium.org/2745863002
Cr-Original-Commit-Position: refs/heads/master@{#456250}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9b24fa5e6df163fc6aaea2fbc9150016af90a2ce
2017-03-11 01:46:42 +00:00
brucedawson 86d81d7640 Don't confuse VS 2013 with VS 2017
Building with VS 2017 using a packaged toolchain is not yet supported
but if you try to do it you get a surprising result - the VS 2013
toolchain gets downloaded. This adds a 2013 check to avoid this, and
also simplifies/corrects an existing 2017 check and comment.

This lets us fail-fast if a user tries the VS 2017 depot-tools
combination before it is supported.

BUG=683729

Review-Url: https://codereview.chromium.org/2741783006
Cr-Original-Commit-Position: refs/heads/master@{#456226}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fead74a8e3d55044bc89fe96500275a0b5e3f24c
2017-03-11 00:14:47 +00:00
jochen c8fd116a14 Copy cdb.exe to build_root_dir so it's available to isolated tests
BUG=690344
R=dpranke@chromium.org,scottmg@chromium.org

Review-Url: https://codereview.chromium.org/2684033010
Cr-Original-Commit-Position: refs/heads/master@{#450820}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6c29ace559b19a2071f4402cd201d162abd1b7ac
2017-02-15 22:45:26 +00:00
brucedawson 3031ba2738 Allow building Chrome with local VC++ 2017 install
This updates the toolchain scripts enough so that it is possible to
build Chrome with VC++ 2017 if DEPOT_TOOLS_WIN_TOOLCHAIN=0 and
GYP_MSVS_VERSION=2017, followed by gclient runhooks.

There are still some local patches needed to make it work, and
treat_warnings_as_errors = false and is_component_build = false in
args.gn may be needed initially, but my local builds are working.

The toolchain code should be updated eventually to use COM to locate
the VC++ install location, instead of the hard-coded path which is being
used as a temporary measure in this change.

R=scottmg@chromium.org
BUG=683729

Review-Url: https://codereview.chromium.org/2653473002
Cr-Original-Commit-Position: refs/heads/master@{#445329}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: adddab40528d1fb6dd94c0e4d2bc794ffccf194a
2017-01-23 06:57:21 +00:00
scottmg 7b9031c801 win: Switch to 10.0.14393.0 SDK
The 10.0.14393.0 SDK was packaged at the same time as the 10.0.10586.0
SDK, during the switch to VS 2015 Update 3. The only reason the SDK
wasn't switched at the same time was to isolate the two changes from
each other, and there's no reason I am aware not to change the SDK now.

R=brucedawson@chromium.org
BUG=440500

Review-Url: https://codereview.chromium.org/2555393003
Cr-Original-Commit-Position: refs/heads/master@{#437190}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b77dd4921b8c3bd94d4543d88dfc160a85dbf868
2016-12-08 06:01:07 +00:00
brucedawson dc8cb2c8bc Add an option to build with the 10.0.14393 SDK
At some point we may need to build with the 10.0.14393 (Windows 10
Anniversary Edition) SDK. It's all packaged up and ready to go, and
this is as good a way as any to record what the hash is for when we
need it.

Any Google employee developing Chrome on Windows can test this out by
setting DEPOT_TOOLS_WIN_SDK_PRERELEASE=1 and running gclient
runhooks.

BUG=440500

Review-Url: https://codereview.chromium.org/2492573002
Cr-Original-Commit-Position: refs/heads/master@{#431387}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5456b380fd8b29d954ad293c19d13b18b975f166
2016-11-10 23:09:37 +00:00
brucedawson 625d00bab6 Switch to VS 2015 Update 3
VS 2015 Update 3 offers numerous improvements such as improved
language conformance, fixes to avoid linker crashes, and
improved code-gen for faster performance. Update 3 also resolves
some problems with incremental linking silently falling back to
a full link.

It also fixes an internal compiler error in /analyze builds.

The landmines change is needed because otherwise things like the
out\Release\cdb directory do not get regenerated.

The process for creating this package is:
- Create a clean Windows VM running Windows Server 2012 R2 (en_windows_server_2012_r2_vl_with_update_x64_dvd_6052766.iso, SHA1: 247EAEE5628850A41F0C51471656AAFB2492EA08, Standard Edition)
- Install depot tools, run ‘gclient’, and add depot_tools to the path
- Install VS 2015 Professional Update 3 - must have been installed after July 12th to get the latest fixes - with these settings and nothing else:
 * Visual C++ and make sure the three nodes underneath are also selected
 * Under Universal Windows App Development Tools make sure the "Tools (1.4.1) and Windows 10 SDK (10.0.14393)" and the "Windows 10 SDK (10.0.10586)" nodes are selected and nothing else
- Copy the *Debugger and Tools*.msi installers from another machine and run them. The 10.0.14393 versions (Anniversary Edition) should be used.
- Then run:
    python depot_tools\win_toolchain\package_from_installed.py 2015

It is also possible to package the 14393 SDK by running this command,
but that change is being saved for later:
    python depot_tools\win_toolchain\package_from_installed.py 2015 -w 10.0.14393.0

BUG=627216,636468,427616,637456

Review-Url: https://codereview.chromium.org/2106203002
Cr-Original-Commit-Position: refs/heads/master@{#417157}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 02343c661ee0482cb73ad0cf861999f2c57eeb11
2016-09-08 01:54:27 +00:00
brucedawson 45f1f694ad Allow testing of Update 3 final
Upgrading to Update 3 is hitting a few roadblocks, which is preventing
Windows developers from getting its fast-incremental-linking goodness.
This change lets developers opt-in to using it by going:

    set DEPOT_TOOLS_WIN_TOOLCHAIN_PRERELEASE=1
    gclient runhooks

If the environment variable is not set then this has no effect.

BUG=627216

Review-Url: https://codereview.chromium.org/2263763002
Cr-Original-Commit-Position: refs/heads/master@{#413279}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0ea25a46ed83e529d928190cbf3259964acd3ad1
2016-08-19 23:18:23 +00:00
brucedawson 15ccbc4439 Copy local CRT DLLs to gn output directories
When DEPOT_TOOLS_WIN_TOOLCHAIN=0 it is assumed that the developer has a
local install of Visual Studio, and therefore the CRT DLLs don't need to
be copied to the output directory in order to run binaries. However,
when creating packages for running elsewhere (isolates or the
mini_installer) those DLLs are needed. In order to avoid special cases
elsewhere this change copies them to the output directories when 'gn gen'
or 'gn args' runs.

This change also makes the newly copied files writable so that they can
easily be deleted. For backwards compatibility it also makes the files
writable before deleting them. This avoids a problem with pgort140.dll
which can end up read-only and thus impossible to copy over or delete
without first removing the read-only flag.

This change also removes the need for create_installer_archive.py to
copy CRT DLLs, which should avoid bugs with over-copying of these DLLs.
This change also updates that script to say that ucrtbase*.dll is
required.

BUG=611934,585556, 610336

Review-Url: https://codereview.chromium.org/2021353003
Cr-Original-Commit-Position: refs/heads/master@{#397189}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e7bd0348e692e635c039328cd06aac1ce23b7d4f
2016-06-01 19:11:15 +00:00
brucedawson 472c097e59 Allow building with VS 2015 Update 3 pre-release
Add toolchain hash for Update 3 pre-release and fix declarations of
delay-load hooks for VS 2015 Update 3. The new toolchain is not used
unless you go "set DEPOT_TOOLS_WIN_TOOLCHAIN_PRERELEASE=1", run
"gclient runhooks", and then regenerate ninja files (if using gn).
Therefore this change is a NOP for the build machines and the code
we ship.

VS 2015 Update 3 changes the delay hook function pointers to be const
because this is important for security. This matches that change.

The new compiler is discussed here:
https://blogs.msdn.microsoft.com/vcblog/2016/05/04/new-code-optimizer/

The version packaged up for this change was installed May 16th.

BUG=440500

Review-Url: https://codereview.chromium.org/1959413002
Cr-Original-Commit-Position: refs/heads/master@{#394031}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a80d80c3e4c086a791b93a07ee089413fa60630d
2016-05-17 02:45:31 +00:00
gab d66f2d1afa Stop gyp_chromium prior to mass DLL copies on error
Also fix last-modified-time comparison code to handle minor float
differences and thus correctly not copy identical files (for some
reason there appears to be a ~1e-07 diff between last-modified-time
of copied files...?).

BUG=603603
TEST=No more copy output from gyp_chromium when copied DLLs are already
there or gyp_rc != 0 :-)

Review URL: https://codereview.chromium.org/1890053004

Cr-Original-Commit-Position: refs/heads/master@{#387911}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 381d9f17b002b97ea4cf38a859d91fafd051c587
2016-04-18 15:31:44 +00:00
brucedawson e18458ecd0 New VS 2013 toolchain with setenv.*.json
VS 2015 is used for Chromium builds, but having VS 2013 available is
useful, in particular for SDK bots for nacl. This changes the VS 2013
tool set to one that has setenv.*.json files that were made necessary
by crrev.com/1805173002 so that VS 2013 can still be used.

BUG=495204

Review URL: https://codereview.chromium.org/1886493002

Cr-Original-Commit-Position: refs/heads/master@{#387032}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b10de5ecc2966315ace053a8f8f6054844324d3a
2016-04-13 18:20:28 +00:00
brucedawson e7edc3f267 VS 2015 Update 2 RTW (final)
This is the official VS 2015 Update 2 release. This includes all of the
bug fixes which Chromium has been depending on.

BUG=440500

Review URL: https://codereview.chromium.org/1851573002

Cr-Original-Commit-Position: refs/heads/master@{#384480}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 21d776d93f2e432995f6076045f8183c141cd335
2016-04-01 04:11:28 +00:00
brucedawson 8690dfe0ef Strip trailing backslashes from vcvarsall results
When building with DEPOT_TOOLS_WIN_TOOLCHAIN=0 the vs_toolchain.py
script uses environment variables set up by vcvarsall.bat, such as
WINDOWSSDKDIR. The default value of this with VS 2015 is
WindowsSdkDir=C:\Program Files (x86)\Windows Kits\10\ - note the
trailing slash.

When ninja runs "build\vs_toolchain.py get_toolchain_dir" it translates
this to:

sdk_path = "C:\Program Files (x86)\Windows Kits\10\"

The trailing slash in front of the quote confuses the gn parser. This
change strips those trailing slashes. For more details see the gn
docs:

https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/language.md#Strings

BUG=593154

Review URL: https://codereview.chromium.org/1827663002

Cr-Original-Commit-Position: refs/heads/master@{#382752}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 12bbca48cda56b2a10a68f8f69bb90906189c4bf
2016-03-23 00:59:30 +00:00
brucedawson c015f66b0a New VS 2015 toolchain from 2016_03_10
BUG=440500

Review URL: https://codereview.chromium.org/1796933002

Cr-Original-Commit-Position: refs/heads/master@{#381221}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a75b523af7b2e85970875a4060b74980c1761845
2016-03-15 14:47:26 +00:00
brucedawson 68daea643a Reland of Change default Windows compiler to VS 2015 (patchset #1 id:1 of 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-Original-Commit-Position: refs/heads/master@{#380711}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2b33e7eee5db5f956426dbf664f68bff3fe7daee
2016-03-11 19:56:33 +00:00
vasilii 2d00025c23 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).
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-Original-Commit-Position: refs/heads/master@{#380395}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: cb3f85f80a2c146e0e4bf064f02bf68acb274ce5
2016-03-10 12:41:45 +00:00
brucedawson 30fe0e8246 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

Review URL: https://codereview.chromium.org/1740583002

Cr-Original-Commit-Position: refs/heads/master@{#380382}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d4dcbd342dd54f55383daf8bc44b2c9d97fe0d0b
2016-03-10 09:22:49 +00:00
brucedawson 5676d0b615 New VS 2015 compiler toolchain, early Update 2
This fixes some compiler/linker bugs including some code-gen bugs. This
should allow switching the default Windows compiler to VS 2015.

BUG=440500

Review URL: https://codereview.chromium.org/1748583002

Cr-Original-Commit-Position: refs/heads/master@{#380021}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ddab530d959c07bf6eac7e8dd4218fe9af83d319
2016-03-09 01:43:25 +00:00
brucedawson 077e877436 CR tweaks that missed the last CL
In crrev.com/1676943002 a couple of CR comments were made after the
commit button was checked. This applies those fixes.

BUG=440500

Review URL: https://codereview.chromium.org/1708663003

Cr-Original-Commit-Position: refs/heads/master@{#376843}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c6f6c69e52a78e9feeb7f7b82283764386f5570f
2016-02-22 23:11:01 +00:00
thakis 1d76ed0ebf vs toolchain: Move toolchain env computation into its own function.
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-Original-Commit-Position: refs/heads/master@{#375476}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 44a40f8429c25eaf7bf8577cafbcf3a8df100840
2016-02-15 18:19:25 +00:00
brucedawson 6e95dad5ef New VS 2015 package with two hot fixes
This new VS 2015 package contains updated c2.dll, link.exe, and cl.exe
binaries (four variations of each) to fix two bugs. One is a silent
bad code-gen bug:

https://connect.microsoft.com/VisualStudio/feedback/details/2291638

The other is a bug that causes randomly corrupt object files in
debug builds:
https://connect.microsoft.com/VisualStudio/feedback/details/1853228

The modification to cl.exe is purely a change to the link timestamp so
that goma will detect that this is a new toolchain.

Local testing and testing with crrev.com/1680133003 indicate that this
is working correctly. The crrev.com/1680133003 compiles failed until
goma was updated (good) and all of the tests passed. Committing this
change will cause the VS 2015 fyi builders to start using this compiler
which will let us gather data on whether the corrupt object file bug is
fixed.

BUG=440500

Review URL: https://codereview.chromium.org/1696813002

Cr-Original-Commit-Position: refs/heads/master@{#375221}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 8bc2e367ea28a21a1c03333832a7339007d9b9db
2016-02-12 19:07:48 +00:00
blundell c559ac63b0 Revert of Change default Windows compiler to VS 2015 (patchset #1 id:1 of 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-Original-Commit-Position: refs/heads/master@{#374349}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: b9643d8169d78b6f3fdbc43895c5e830655291d9
2016-02-09 11:18:12 +00:00
brucedawson 2db0837c2c 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

Review URL: https://codereview.chromium.org/1676263003

Cr-Original-Commit-Position: refs/heads/master@{#374324}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 36f03f2ac1f92b6f41129f013f8a808f7b9127fc
2016-02-09 06:35:51 +00:00
brucedawson 01d09f8b38 Copy the Universal CRT files to the output dirs
Chromium component builds rely on the Windows 10 Universal CRT which
must be either installed (problematic) or copied to the directory where
the executables are located. This change copies those files to the
output directories when "gclient runhooks" or "gclient sync" is run.
It also copies ucrtbase.dll to release directories, which was
previously erroneously skipped.

Note that this process doesn't happen and isn't needed when
DEPOT_TOOLS_WIN_TOOLCHAIN=0 is set because then the UCRT is guaranteed
to be installed.

This also updates msvs_dependencies.isolate so that the necessary DLLs,
include vcruntime140*.dll and ucrtbase*.dll, get copied to swarming
machines.

TBR=thakis@chromium.org
BUG=440500

Review URL: https://codereview.chromium.org/1676943002

Cr-Original-Commit-Position: refs/heads/master@{#374300}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d5273ddb31a98cc84c2ec6e74ff0d8ccd5952693
2016-02-09 04:29:40 +00:00
zmo 961ac31b12 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

Review URL: https://codereview.chromium.org/1680533004

Cr-Original-Commit-Position: refs/heads/master@{#374062}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 03f6b0af0a3a0127f5e939095157079659ab7cc8
2016-02-07 19:44:32 +00:00
brucedawson 6eb1a486bd 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

Review URL: https://codereview.chromium.org/1679693002

Cr-Original-Commit-Position: refs/heads/master@{#374058}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 20e99ecb08da22582d435c1a5bba0a5c96345da3
2016-02-07 18:18:53 +00:00
thakis 1bf6bbe58a 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

Review URL: https://codereview.chromium.org/1678663002

Cr-Original-Commit-Position: refs/heads/master@{#374013}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: bbc766aef1bd8cb0d9546fec9abf264e7d8c1d96
2016-02-06 06:29:46 +00:00
brucedawson 30c0fafe79 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

Review URL: https://codereview.chromium.org/1598493004

Cr-Original-Commit-Position: refs/heads/master@{#373955}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4c17ac0db59d7dbe78734950f83912ab564bd6fe
2016-02-05 23:55:12 +00:00
brucedawson 0d680b6c9b Update to VS 2015 package with embedded UCRT
Recent packaging changes in depot_tools have given us a package that
appears to build Chromium with VS 2015 on machines without the UCRT
installed. This switches VS 2015 builds to this package.

This needs to be done separately from the switch to VS 2015 so that if
that change is reverted we don't needlessly revert toolchains.

BUG=440500

Review URL: https://codereview.chromium.org/1662133002

Cr-Original-Commit-Position: refs/heads/master@{#373436}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3bb12bc92eaea734f91c0c3dfbb6e8c5c0c8eb51
2016-02-04 02:32:40 +00:00
brucedawson 4c58372bf8 Update VS 2013 package to support Win10 10586 SDK
This also incorporates other fixes such as crrev.com/1608373002 and
crrev.com/1609933004.

This is needed to allow building crrev.com/1626623003 with VS 2013.

Review URL: https://codereview.chromium.org/1616553002

Cr-Original-Commit-Position: refs/heads/master@{#373026}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: adb68ba6a3698c049d1185ec507674aa509bbb00
2016-02-02 20:51:24 +00:00
brucedawson fcd6b99663 Fix gn builds with locally installed VS
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-Original-Commit-Position: refs/heads/master@{#370830}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 953e376855384defa8c9b127e010c88cb6c56957
2016-01-21 23:37:55 +00:00
brucedawson 981fc97f56 VS 2015 package with VSINSTALLDIR and VCINSTALLDIR
This is a rebuild of the VS 2015 package that incorporates
the changes made in crrev.com/1604423002

BUG=82385

Review URL: https://codereview.chromium.org/1608373002

Cr-Original-Commit-Position: refs/heads/master@{#370586}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9b7851a6d4410fa5aecb3a8c13cae8c709f9d2ee
2016-01-21 02:43:50 +00:00
lwchkg 076acf686f Fix undefined GYP_MSVS_VERSION failure for non-googlers
This CL adds the missing GYP_MSVS_VERSION environment variable. Without
the patch the following error happen when a non-googler runs
gyp_chromium in Windows.

  File "E:\chromium\src\tools\gyp\pylib\gyp\MSVSVersion.py", line 430, in SelectVisualStudioVersion
    raise ValueError('GYP_MSVS_OVERRIDE_PATH requires GYP_MSVS_VERSION to be '
ValueError: GYP_MSVS_OVERRIDE_PATH requires GYP_MSVS_VERSION to be set to a particular version (e.g. 2010e).

The discussion is found here:
https://groups.google.com/a/chromium.org/forum/#!topic/chromium-dev/XWZ3hZW8Lco

BUG=460462

Review URL: https://codereview.chromium.org/1593313002

Cr-Original-Commit-Position: refs/heads/master@{#370065}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 833a437f479bdd1653b0eff8fb5e75883df7ae88
2016-01-19 00:40:52 +00:00
sebmarchand aa4e1b2081 Update the toolchain if there's a mismatch between the env and win_toolchain.json
BUG=569152

Review URL: https://codereview.chromium.org/1582173003

Cr-Original-Commit-Position: refs/heads/master@{#369867}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e44b02e42a8b593a83bc569240923d0e6faa64d0
2016-01-15 22:30:53 +00:00
brucedawson 89b4dae037 New VS 2015 package and copy ucrtbased.dll
This switches the VS 2015 package to one that includes the UCRT
installers, and it copies ucrtbased.dll to debug directories so that
debug binaries will run.

The new VS 2015 package was created using the changes in
crrev.com/1588673004. This package was created on a clean VM in hopes
of making it reproducible. The steps to create it are:

Install Windows 7 Professional, 64-bit
Install VS 2015 Professional Update 1. Select custom install and these
minimum options:
- Visual C++ (which selects three sub-categories including MFC)
- Universal Windows App Development Tools
  - Tools (1.2) and Windows 10 SDK (10.0.10586)

Then download the Windows 10 SDK. The version must match the one
installed with VS 2015 Update 1 or else there will be warnings about
the need to uninstall the previous version. Select "Debugging Tools
for Windows" in addition to the defaults (Windows App Certification Kit,
Windows Software Development Kit). Note, however, that this just
downloads the installers. A message will suggest that running setup.exe
will install the requested components but actually you have to go into
the Downloads\Windows Kits\10\StandaloneSDK\Installers directory to
run the x86 and x64 debugger installers.

Then download three copies of update 2999226, the Windows 10 Universal
C Runtime, for 64-bit Windows 7, Windows 8, and Windows 8.1. Leave these
in the downloads folder. This URl contains the download links:
https://support.microsoft.com/en-us/kb/2999226

Then install depot_tools and run:

> python depot_tools\win_toolchain\package_from_installed.py 2015

Then upload the package with this syntax (replace hash.zip):

> python depot_tools\third_party\gsutil\gsutil cp hash.zip
gs://chrome-wintoolchain/hash.zip

BUG=440500

Review URL: https://codereview.chromium.org/1587073006

Cr-Original-Commit-Position: refs/heads/master@{#369841}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 51f790c13ee0d450d15eca26c3fb558818b7173d
2016-01-15 21:19:09 +00:00
halton.huo 48e729b4fa Ensure GYP_MSVS_VERSION is set for GN build.
BUG=460462

Review URL: https://codereview.chromium.org/1580703002

Cr-Original-Commit-Position: refs/heads/master@{#369079}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 815e177eeae85e09c9ad93bca88cd4d299a62e19
2016-01-13 02:24:46 +00:00
brucedawson 6ca17d59f5 Change VS 2015 Update 1 package to VM version
The original VS 2015 Update 1 toolchain package was created on a
development machine and was not reproducible. This package was
created on a clean VM in hopes of making it reproducible. The
steps to create it are:

Install Windows 7 Professional, 64-bit
Install VS 2015 Professional Update 1. Select custom install and these
minimum options:
- Visual C++ (which selects three sub-categories including MFC)
- Universal Windows App Development Tools
  - Tools (1.2) and Windows 10 SDK (10.0.10586)

Then download the Windows 10 SDK. The version must match the one
installed with VS 2015 Update 1 or else there will be warnings about
the need to uninstall the previous version. Select "Debugging Tools
for Windows" in addition to the defaults (Windows App Certification Kit,
Windows Software Development Kit). Note, however, that this just
downloads the installers. A message will suggest that running setup.exe
will install the requested components but actually you have to go into
the Downloads\Windows Kits\10\StandaloneSDK\Installers directory to
run the x86 and x64 debugger installers.

Then install depot_tools and run:

> python depot_tools\win_toolchain\package_from_installed.py 2015

The package is uploaded with this syntax (replace hash.zip):

> python depot_tools\third_party\gsutil\gsutil cp hash.zip
gs://chrome-wintoolchain/hash.zip

This process arguably packages up more files than are needed. The
sys32\api_ms-* files can't actually be used in this form - the Universal
Windows 10 C Runtime needs to be installed. These files are also
different on difference OSes, so packaging them doesn't really make
sense. Also the VC\lib\onecore and VC\redist\onecore files are large and
appear to be unneeded. But, removing these is not important.

BUG=440500

Review URL: https://codereview.chromium.org/1576203002

Cr-Original-Commit-Position: refs/heads/master@{#368760}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 94c4e7106c3783cf35f5fe00561ce445382fc0ae
2016-01-12 01:32:26 +00:00
bratell 9f750de1ab [gn] Detect location of Visual Studio in the registry.
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-Original-Commit-Position: refs/heads/master@{#368089}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c7af879c6c72db32930e25f20f9a9f602f11840c
2016-01-07 16:32:08 +00:00
sebmarchand 4239bb58fb Copy vcruntime*.dll to the build directory for the VS2015 builds.
It looks like it's needed at least for the PGI instrumented builds (my guess is that pgort140.dll has a dependency on this).

R=scottmg@chromium.org
BUG=440500

Review URL: https://codereview.chromium.org/1532163002

Cr-Original-Commit-Position: refs/heads/master@{#365875}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7cebe2199a4ed5b97f00369b54788216e7f399d6
2015-12-17 20:45:36 +00:00
brucedawson c1d483170c Update the depot_tools version of VS 2015 to Update 1
This uses VS 2015 Update 1 and the 10.0.10586.0 SDK, created by an
updated depot_tools\win_toolchain\package_from_installed.py

The previous update to Update 1 only updated the compiler to
19.00.23504, when the final Update 1 is actually 19.00.23506.

R=scottmg@chromium.org
BUG=440500,567328

Review URL: https://codereview.chromium.org/1510983002

Cr-Original-Commit-Position: refs/heads/master@{#363878}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f37301d6d5018a0ee473ea3f89f8216d95072db4
2015-12-09 01:03:15 +00:00
brucedawson cbf57fe40b Update the depot_tools version of VS 2015 to Update 1
This uses VS 2015 Update 1 and the 10.0.10586.0 SDK, created by an
updated depot_tools\win_toolchain\package_from_installed.py

R=scottmg@chromium.org
BUG=440500,567328

Review URL: https://codereview.chromium.org/1509583003

Cr-Original-Commit-Position: refs/heads/master@{#363645}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d6491e05a583e957148ba5d901cbfe50ce18d3d8
2015-12-08 00:54:28 +00:00
scottmg 86609ae8de Reland of win: Update to Win 10 SDK (patchset #1 id:1 of https://codereview.chromium.org/1410153007/ )
Reason for revert:
Relanding, we think all bots are updated now.

Original issue's description:
> Revert of win: Update to Win 10 SDK (patchset #8 id:140001 of https://codereview.chromium.org/1378153003/ )
>
> Reason for revert:
> This is a suspect in breaking Win bots (e.g. here http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win%20Builder/builds/93039)
>
> Original issue's description:
> > win: Update to Win 10 SDK
> >
> > Tested on clean Win7 VM against both VS2013 and clang=1 at 247874-1.
> >
> > R=brucedawson@chromium.org
> > BUG=491424
> >
> > Committed: https://crrev.com/3f6f89251dc210b24a36398237d374a87d4a3b33
> > Cr-Commit-Position: refs/heads/master@{#352667}
> >
> > Committed: https://crrev.com/1feffb4b7b1c2bfaf112a8993ae7ab0c16a52da9
> > Cr-Commit-Position: refs/heads/master@{#356373}
>
> TBR=brucedawson@chromium.org,sky@chromium.org,scottmg@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=491424
>
> Committed: https://crrev.com/e4a933bfce1dce211b29c392a681513a9d69a85c
> Cr-Commit-Position: refs/heads/master@{#356484}

TBR=brucedawson@chromium.org,sky@chromium.org,caseq@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=491424

Review URL: https://codereview.chromium.org/1502563003

Cr-Original-Commit-Position: refs/heads/master@{#363257}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 510a9e822cf893ec133f1f48643fbf913c24d8c1
2015-12-04 18:47:02 +00:00
brucedawson f1b479b99f Tweaks to vs_toolchain to simplify it, and support gn VS 2015
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-Original-Commit-Position: refs/heads/master@{#360988}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: aaff8dcb6ee993a18ab6e7236711839e72e81cc3
2015-11-21 02:22:49 +00:00