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

25 Коммитов

Автор SHA1 Сообщение Дата
thakis 3f32260bb0 Let build/vs_toolchain.py run on non-Windows if requested.
If `build/vs_toolchain.py update --force` is run once on non-Windows, the
script will start keeping a Windows toolchain in depot_tools up-to-date, and
it'll copy runtime dlls into the build directory, and so on.  (One can delete
build/win_toolchain.json to disable this behavior again.)

Depends on https://codereview.chromium.org/1284723006
BUG=495204

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

Cr-Original-Commit-Position: refs/heads/master@{#342917}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4f4b137f26afe39a02f789832e840757b11f088d
2015-08-11 22:25:28 +00:00
sebmarchand 50ba842b6f win 2015: Update the toolchain package to VS2015 RTM.
I've tried it locally (build Chrome with this archive on a fresh VM) and it worked well, the archive has been generated with package_from_installed.py (from depot_tools/win_toolchain)

BUG=

Committed: https://crrev.com/f04ff85d2b85833971ef7ca7f31f4fd5a1b1f3aa
Cr-Commit-Position: refs/heads/master@{#340898}

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

Cr-Original-Commit-Position: refs/heads/master@{#341146}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 21f280ff2c7838a748b7aa93391164fcd185d53b
2015-07-30 17:25:25 +00:00
sebmarchand 872b4360a2 Revert of win 2015: Update the toolchain package to VS2015 RTM. (patchset #2 id:20001 of https://codereview.chromium.org/1265503002/)
Reason for revert:
It's breaking the VS2015 builder. I'm looking at it.

Original issue's description:
> win 2015: Update the toolchain package to VS2015 RTM.
>
> I've tried it locally (build Chrome with this archive on a fresh VM) and it worked well, the archive has been generated with package_from_installed.py (from depot_tools/win_toolchain)
>
> BUG=
>
> Committed: https://crrev.com/f04ff85d2b85833971ef7ca7f31f4fd5a1b1f3aa
> Cr-Commit-Position: refs/heads/master@{#340898}

TBR=brucedawson@chromium.org,thakis@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Original-Commit-Position: refs/heads/master@{#340906}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ff200aeebf10796f772ea5ecc61ec1be9b7cdac3
2015-07-29 17:08:06 +00:00
sebmarchand ad51766a53 win 2015: Update the toolchain package to VS2015 RTM.
I've tried it locally (build Chrome with this archive on a fresh VM) and it worked well, the archive has been generated with package_from_installed.py (from depot_tools/win_toolchain)

BUG=

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

Cr-Original-Commit-Position: refs/heads/master@{#340898}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f04ff85d2b85833971ef7ca7f31f4fd5a1b1f3aa
2015-07-29 16:44:44 +00:00
scottmg 4e39f31e54 win vs2015: rev toolchain package again
Corresponds to https://codereview.chromium.org/1162003009.

TBR=sebmarchand@chromium.org
BUG=492774, 495944

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

Cr-Original-Commit-Position: refs/heads/master@{#332754}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 3d7990c2db2181834232559d778566f51a5b35fa
2015-06-04 00:40:25 +00:00
scottmg 4541031e1f win 2015: update windows toolchain package
Corresponds to https://codereview.chromium.org/1154623007/.

TBR=sebmarchand@chromium.org
BUG=492774, 495944

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

Cr-Original-Commit-Position: refs/heads/master@{#332714}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2890c4f69867f2c75cb4359ef698a66b2eba2b5f
2015-06-03 22:42:51 +00:00
scottmg 90b20d5d77 Update vs2015 toolchain hash
Missed some files in the last version. (Corresponds to
ps#8 in https://codereview.chromium.org/1165563003/ )

TBR=dpranke@chromium.org
BUG=492774,440500

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

Cr-Original-Commit-Position: refs/heads/master@{#332339}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 176353a4bceff74ca34d6ebd0708b8894cda6d73
2015-06-02 03:33:51 +00:00
scottmg c28c8ccc08 Prepare for VS2015 toolchain
This is not intended to change anything for current VS2013 users.

The 2015 code here will not work until a change in depot_tools side
lands. (It might not work after that either, but this is
the first step in getting a 2015 fyi bot up.)

R=dpranke@chromium.org
BUG=492774

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

Cr-Original-Commit-Position: refs/heads/master@{#332296}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 54e450611852fcf8cb120f73b381a50768212415
2015-06-02 01:16:21 +00:00
dpranke 6b94cd7a12 Update Chomium's build files to work w/ latest GN binaries.
The latest GN binaries rename cpu_arch to current_cpu and/or target_cpu
as appropriate, build_cpu_arch to host_cpu, and os to current_os and target_os as appropriate.

R=brettw@chromium.org
TBR=ddorwin@chromium.org
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
BUG=344767

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

Cr-Original-Commit-Position: refs/heads/master@{#317223}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4327621a322c964a8bc6d1ef5a4534f0f877d63e
2015-02-20 02:56:07 +00:00
yyanagisawa fc4db16112 Fixed several pylint warnings on Windows.
Review URL: https://codereview.chromium.org/929183002

Cr-Original-Commit-Position: refs/heads/master@{#316527}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a0f67e034ea83f64ba12240176cd6fdd0ac8b878
2015-02-17 04:02:45 +00:00
scottmg 3d7a455c47 win gn: Semi-support for non-depot_tools toolchain
I had to set:

DEPOT_TOOLS_WIN_TOOLCHAIN=0
GYP_MSVS_OVERRIDE_PATH=C:/Program Files (x86)/Microsoft Visual Studio 12.0
GYP_MSVS_VERSION=2013
WindowsSdkDir=C:/Program Files (x86)/Windows Kits/8.1

then

gn gen out\gn --args="is_debug=true cpu_arch=\"x86\""
ninja -C out/gn base

worked OK.

Further patches welcome to make this less ugly.

R=dpranke@chromium.org

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

Cr-Original-Commit-Position: refs/heads/master@{#307791}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fa5da3e4e515967d593c3822b1d82f5e844080c5
2014-12-10 23:34:32 +00:00
scottmg 3945ce8135 gn win: Various toolchain fixes to get compile working
This fixes
"fatal error C1902: Program database manager mismatch; please check your installation"
and
"cannot find msvcr120.dll"
during gn compilation.

There were many things wrong. The primary ones were that:
1) the compiler's setup script wasn't called so we didn't get
   PATH/LIB/INCLUDE for the correct cl.
2) the VS runtime dirs were not getting added to environment block.

I also removed the Express handling, as that's been removed from the
gyp path now.

This does not yet support a system-installed Visual Studio. Code
needs to be added to query the registry to find the install location.
(see _SetupScript).

R=dpranke@chromium.org
TBR=brettw@chromium.org
BUG=432375

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

Cr-Original-Commit-Position: refs/heads/master@{#304864}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 9bf8fb3b74de68a85122cb45bb477d604b8c3898
2014-11-19 19:33:52 +00:00
scottmg 8b665c00f2 Update to VS2013 Update 4, and Windows SDK 8.1
- Disable 4996 (deprecated functions in 8.1, these don't help us because we have to run on old OSs anyway)
- Simplify Bluetooth LE header hacks (these headers are buggy in 8.0 and 8.1 SDKs, but less buggy in 8.1)
- Revert attempt to centralize toolchain hashes as it didn't work well, and made it hard to roll anyway (see 400830).
- Instead of basing C4702 (unreachable code) on Pro vs. Express, check whether it's actually disabled in the xtree header
- Remove automatic calling of Express toolchain setup script. It hasn't worked well since post VS2013 RTM because of being distributed as .msp files, and the new Community edition is relatively easy to install so can subsume that usage (that being the motivation for the 4702 change above)
- goma package for u4 is pushed
- ANGLE is switched to load d3dcompiler_47 and build against 8.1 sdk, roll included here.

Xrefs:
- https://codereview.chromium.org/719343004/
- https://chromium-review.googlesource.com/#/c/229616/
- b2/18365241
- https://codereview.chromium.org/733563003/
- https://codereview.chromium.org/732673002/
- https://codereview.chromium.org/729453004/
- https://chromereviews.googleplex.com/120597013/

BUG=311488,432748,400830

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

Cr-Original-Commit-Position: refs/heads/master@{#304329}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a6675a5f1f55e66b1d6625af6225d44f5d9b0f3d
2014-11-15 01:38:14 +00:00
dpranke 7265358749 Rework win_toolchains a bit and copy the vs runtime DLLs as needed.
In order to run both the visual studio tools and the binaries built
by them (and ninja), we need to ensure that the VS runtime DLLs
are available in the path.

In the GYP build, we accomplish this by copying them into the
Debug and Debug_x64 dirs as appropriate inside the gyp_chromium
script.

In the pure-GN build, then, things would be broken, so we need to
modify the GN build to do the copy as well, or we need to inject
a step somewhere that happens after GN runs but before Ninja tries
to run (since none of the toolchain binaries will work).

This patch accomplishes this by calling out to vs_toolchain.py to
copy the DLLs as neede when the toolchain is defined. This is somewhat
less than ideal (makes 'gn gen' slower) but seems better than forcing
devs to have to run an additional command.

In addition, the GYP build writes targets into Debug and Debug_x64
concurrently. This doesn't really carry over into GN correctly, and
we probably only ever want to write targets into Debug and Debug/64
(or some such).

However, the way the toolchains are currently implemented, it's not
clear if this really works and the interplay between 32-bit and 64-bit
is weird (we apparently normally "force" 32-bit even if we set cpu_arch
to 64-bit, and require you to specify force_win64). To work around this
and make sure that we copy the right DLLs for the right arch into the
outer Debug/ directory, this patch temporarily disables the cross-arch
part of the build, forcing the host_toolchain to match the target_toolchain.

This likely means that 'cpu_arch="x86"' works (the default), but the 'host'
binaries like image_diff and mksnapshot will be compiled in 32-bit mode,
not 64-bit mode. 'cpu_arch="x64" force_win64=true' should also work, and
produce all-64-bit binaries. 'cpu_arch="x64"' does not work at all and
won't until we can clean up the above stuff.

R=scottmg@chromium.org, brettw@chromium.org
BUG=430661

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

Cr-Original-Commit-Position: refs/heads/master@{#304310}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0b95195e49489b7a4d87048d2ce4b747173a5b8a
2014-11-15 00:10:27 +00:00
ckocagil 647f7a9ef1 gn: Fix more build issues on Win
BUG=354261
R=brettw
TBR=piman,wtc
NOTRY=true

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

Cr-Original-Commit-Position: refs/heads/master@{#297481}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: fc8d7f23b2f20a93c5d987d0c073e892d09f0ade
2014-09-30 19:32:02 +00:00
ckocagil 0fdceebcd7 gn: Make WDK_DIR environment variable optional for VS professional users
BUG=

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

Cr-Original-Commit-Position: refs/heads/master@{#294967}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 7427e6aa9f2f77edf07bf506561047a355155b98
2014-09-16 01:39:16 +00:00
scottmg@chromium.org f55feb4fa0 Make landmines work on local builds too
Moves (some of) gyp environment setup out of gyp_chromium into separate
module, and shares that between gyp_chromium and landmines.py.

landmines.py is added as the first entry in DEPS hooks so that it can
clobber the entire build directory before running other hooks that
extract/generate into the build dir.

Reland with fix for ios, and for clean pull.

R=iannucci@chromium.org
BUG=400011

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=289099

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@289546 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-14 14:03:30 +00:00
scottmg@chromium.org 1d9d8fd468 Use toolchain hash that's in buildtools
Hash copied at https://codereview.chromium.org/449673003/.

R=iannucci@chromium.org
BUG=400830

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@288477 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-08-09 00:27:26 +00:00
sebmarchand@chromium.org 21b38ef160 Copy the PGO runtime library to the release directory (take 2)
This is a reland of https://codereview.chromium.org/402993002/ with an additional check to make sure that the DLLs exist before trying to copy them.

BUG=395183

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284550 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-22 00:18:32 +00:00
sebmarchand@chromium.org 7a2805f249 Revert of Copy the PGO runtime library to the release directory (https://codereview.chromium.org/402993002/)
Reason for revert:
pgort120.dll isn't present in the express version of VC.

Original issue's description:
> Copy the PGO runtime library to the release directory
> 
> BUG=395183
> 
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=284261

TBR=scottmg@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=395183

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284369 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-20 13:53:15 +00:00
sebmarchand@chromium.org 028b5f7f6c Copy the PGO runtime library to the release directory
BUG=395183

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@284261 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-07-19 00:25:18 +00:00
brettw@chromium.org da6b387202 Add support for VS express to the GN build.
BUG=
R=scottmg@chromium.org

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@273345 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-05-28 20:32:01 +00:00
scottmg@chromium.org 323af8f195 Split toolchain update and install lookup to make generation faster
runhooks does toolchain update, saving relevant information to
build/win_toolchain.json, and during generation this is loaded
and used. This worked almost the same previously, however update
was called at generation time and the .json was deleted after
it was used. This speeds up generation time by a few seconds.

(In preference to https://codereview.chromium.org/228093002/)

R=dpranke@chromium.org
BUG=360878

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@262590 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-04-09 01:56:20 +00:00
scottmg@chromium.org 9d740d955f Use depot_tools toolchain, remove now unneeded code, fix not including path to win sdk tools
This is enough for this to work OK:

[gn-2013]d:\src\cr\src>gn gen out_gn
[gn-2013]d:\src\cr\src>ninja -C out_gn gn
[gn-2013]d:\src\cr\src>out_gn\gn gen out_gn2
[gn-2013]d:\src\cr\src>ninja -C out_gn2 gn
...
[297/297] LINK gn.exe

I'm not sure if we need all the deleted stuff for something
else, but I guess we can revive it when we need it.

(There's some dependency problem with linking atm, as
"ninja -C out_gn gn" always relinks, but I think it's unrelated.)

R=brettw@chromium.org
BUG=297677

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@258327 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-03-20 17:42:25 +00:00
scottmg@chromium.org d70a05ad13 Refactor VS toolchain code in gyp_chromium
Pull out some code from gyp_chromium for less clutter, and easier to
share with GN build files this way.

R=brettw@chromium.org
BUG=297677

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

git-svn-id: http://src.chromium.org/svn/trunk/src/build@258119 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
2014-03-19 22:01:39 +00:00