Until recently I've been able to use a very simple procedure to build V8 on Windows:
1. Clone v8 and check out the required tag
2. Clone gyp and cygwin into build\gyp and third_party\cygwin respectively
3. Run gyp to generate the VS project (without i18n support)
4. Run msbuild to build V8
This procedure worked perfectly up to and including V8 4.7. As of V8 4.8 it no longer works; gyp now complains that it needs depot_tools.
C:\Code>fetch v8
Running: 'C:\Code\depot_tools\python276_bin\python.exe' 'C:\Code\depot_tools\gclient.py' root
Running: 'C:\Code\depot_tools\python276_bin\python.exe' 'C:\Code\depot_tools\gclient.py' config --spec 'solutions = [
{
"managed": False,
"name": "v8",
"custom_deps": {},
"deps_file": "DEPS",
"safesync_url": "",
},
]
'
Running: 'C:\Code\depot_tools\python276_bin\python.exe' 'C:\Code\depot_tools\gclient.py' sync --with_branch_heads
Error: Command 'C:\\Code\\depot_tools\\python276_bin\\python.exe v8/build/landmines.py' returned non-zero exit status 1 in C:\Code
Traceback (most recent call last):
File "C:\Code\depot_tools\\fetch.py", line 345, in <module>
sys.exit(main())
File "C:\Code\depot_tools\\fetch.py", line 340, in main
return run(options, spec, root)
File "C:\Code\depot_tools\\fetch.py", line 334, in run
return checkout.init()
File "C:\Code\depot_tools\\fetch.py", line 142, in init
self.run_gclient(*sync_cmd)
File "C:\Code\depot_tools\\fetch.py", line 76, in run_gclient
return self.run(cmd_prefix + cmd, **kwargs)
File "C:\Code\depot_tools\\fetch.py", line 66, in run
return subprocess.check_output(cmd, **kwargs)
File "C:\Code\depot_tools\python276_bin\lib\subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '('C:\\Code\\depot_tools\\python276_bin\\python.exe', 'C:\\Code\\depot_tools\\gclient.py', 'sync', '--with_branch_heads')' returned non-zero exit status 2