Windows上でV8をコンパイルする。

環境

  • OS:Windows10 64bit Home Edition
  • Visual Studio 2015 Community Edition Update 3

今回着手するまでに発生した問題点

  • gclient updateで、pythonでエラーが発生。独自にインストールしたpythonをPATHから外し、depot_toolsにインストールされたpythonへPATHを通しても、同じエラーが発生していた。

今回の対処方法

  • depot_toolsのインストールからやり直す。
  • あらかじめ環境変数PATHから別途インストールしたPythonへのパスを外しておく。

結果

当初、Visual Studioコンパイルするつもりであったが、v8(JavaScript)をWindowsでビルドする | 思い立ったが吉日の手順どおりにやっても、all.slnが生成されていなかった、。
そこで、Windows Build Instructions の手順に従い、ninjaでbuildした。

やったこと

  1. 「v8ソースを取得する」までを記事の通りに実行。
  2. V8のsrcディレクトリに移動して、以下を実行。

gn gen out\Default
ninja -C out\Default v8

src\out\Defaultに必要なファイルが生成され、ninjaでbuildし、out\Defaultにbuild結果が出力される。

  1. Visual Studio

「Developer Command Prompt for VS2015」を使用。

gn gen --ide=vs2015 out\VSIDE
devenv out\Default\all.sln

  1. gnのヘルプ

gn help gen

  1. gnのターゲット一覧

gn ls out/Default
//:v8
//:v8_base
//:v8_dump_build_config
//:v8_external_snapshot
//:v8_hello_world
//:v8_libbase
//:v8_libplatform
//:v8_libsampler
//:v8_maybe_snapshot
//:v8_nosnapshot
//:v8_parser_shell
//:v8_sample_process
//:v8_shell
//:v8_simple_json_fuzzer
//:v8_simple_parser_fuzzer
//:v8_simple_regexp_fuzzer
//:v8_simple_wasm_asmjs_fuzzer
//:v8_simple_wasm_code_fuzzer
//:v8_simple_wasm_data_section_fuzzer
//:v8_simple_wasm_function_sigs_section_fuzzer
//:v8_simple_wasm_fuzzer
//:v8_simple_wasm_globals_section_fuzzer
//:v8_simple_wasm_imports_section_fuzzer
//:v8_simple_wasm_memory_section_fuzzer
//:v8_simple_wasm_names_section_fuzzer
//:v8_simple_wasm_types_section_fuzzer