Make it possible to cross build linux->win in standalone v8 builds

With this, you can add `target_os = ['win']` to your .gclient file,
re-run runhooks, and then:

    $ cat out/gnwin/args.gn
    target_os = "win"
    use_goma = true

    $ gn gen out/gnwin
    Done. Made 234 targets from 103 files in 311ms

    $ ninja -C out/gnwin d8 -j1000
    ninja: Entering directory `out/gnwin'
    [1051/1051] LINK d8.exe d8.exe.pdb

    $ file out/gnwin/d8.exe
    out/gnwin/d8.exe: PE32+ executable (console) x86-64, for MS Windows

cbruni asked for this in
https://bugs.chromium.org/p/chromium/issues/detail?id=1196278#c6
I thought I'd give it a try and went to my v8 standalone checkout, only
to find that that already had a local diff for this. So I guess someone
else must've asked for this a while ago, so might as well check this in :)

Bug: chromium:1196278
Change-Id: I14909cc79912c0260f8d9db44f511dd7754aa172
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2805934
Auto-Submit: Nico Weber <thakis@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#73813}
This commit is contained in:
Nico Weber 2021-04-06 14:26:21 -04:00 committed by Commit Bot
parent 7aff133fb3
commit 6880cc2ddb

14
DEPS
View File

@ -475,12 +475,24 @@ hooks = [
'-s', 'third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1',
],
},
{
# Case-insensitivity for the Win SDK. Must run before win_toolchain below.
'name': 'ciopfs_linux',
'pattern': '.',
'condition': 'checkout_win and host_os == "linux"',
'action': [ 'download_from_google_storage',
'--no_resume',
'--no_auth',
'--bucket', 'chromium-browser-clang/ciopfs',
'-s', 'build/ciopfs.sha1',
]
},
{
# Update the Windows toolchain if necessary.
'name': 'win_toolchain',
'pattern': '.',
'condition': 'checkout_win',
'action': ['python', 'build/vs_toolchain.py', 'update'],
'action': ['python', 'build/vs_toolchain.py', 'update', '--force'],
},
{
# Update the Mac toolchain if necessary.