JavaScript 引擎——Visual Studio 环境生成 V8 引擎
本文内容
- 下载 V8
- 生成 V8 先决条件:安装 GYP
- Visual Studio 先决条件
- 生成 V8 引擎
- 演示生成 V8 引擎
- 修改记录
下载 V8
下载 V8 https://developers.google.com/v8/build
生成 V8 先决条件:安装 GYP
首先,需要 GYP。在你想 make 程序的系统上(Linux、Mac、cygwin,大多数其他的 Unix 系统),很容易做:
make dependencies
另外,如在 Windows 下,你需要手动获得 GYP。用 svn 签出 gyp 并放到 V8 目录的 build 目录下:
svn co http://gyp.googlecode.com/svn/trunk build/gyp
Visual Studio 先决条件
在 Windows 系统,需要先安装其他依赖:
1,Python。你可以有很多选择:
- 使用 Windows installer,从 http://python.org/getit/ 获得。
- 签出由 Chromium 提供的版本:
svn co http://src.chromium.org/svn/trunk/tools/third_party/python_26@89111 third_party/python_26
- 使用 cygwin,而不是通常的 Windows 命令行。另外一个推荐的方式是,把 python.exe 放到 PATH 环境变量。
2,Chromium 提供的 cygwin 安装程序。这个是必需的,否则生成时会失败:
svn co http://src.chromium.org/svn/trunk/deps/third_party/cygwin@66844 third_party/cygwin
生成 V8 引擎
根据以上必需和可选的额外依赖,有两种生成方式。
方式一:命令行方式
- 创建项目文件
python build\gyp_v8
若没有将 python.exe 路径设置到 PATH 环境变量,则执行时要指定路径。若想生成 64 位二进制(需要用64 位 Visual Studio 来生成),则追加 -Dtarget_arch=x64 参数。若想在 ia32 和 x64 之间切换,则需要在重新产生前,手动删除已产生的 .vcproj/.sln 文件。如下所示:
third_party/python_26/python.exe build\gyp_v8 -Dtarget_arch=x64
- 生成
或者用 Visual Studio 打开 build\All.sln,或按如下方式(根据路径实际情况,或简单将 devenv.com 命令设置到 PATH 里)在命令行编译:
"c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv.com" /build Release build\All.sln
用 Debug 参数替换 Release 参数以调试模式生成。
方式二:使用 cygwin。该方式流程相同,只是语法稍有不同。
- 创建项目文件
build/gyp_v8
这将提示一堆关于缺少输入文件的警告,忽略它们就行。
- 生成
/cygdrive/c/Program\ Files\ (x86)/Microsoft\ Visual\ Studio\ 9.0/Common7/IDE/devenv.com /build Release build/all.sln
自定义生成设置
看考“自定义生成设置”。
演示生成 V8 引擎
这里是 Google 给出的生成步骤。但理论是理论,对于不熟悉的人来说,要想成功生成着实得花点心思。其实,在你下载的 *\V8\build 目录下的 README.txt 文件有较详尽的生成说明。唯一需要注意的是,你所下载的东西,要放到正确的路径,否则,无论是创建项目/解决方案,还是生成 V8 都会失败。
本文生成 V8 引擎是在 Windows 7 64 位操作系统,用 Visual Studio 2010。
根据以上描述,你下载了如下内容:
- V8
- gyp
- cypwin
- python_26
下载后,无论程序在什么位置,最后,必须将:
- gyp 放到 V8\build 目录下
- cypwin 和 python_26 放到 V8\third_party 目录下
否则,就要手动改人家项目文件,这就麻烦了。
接下来,无论是创建项目/解决方案,还是最终生成 V8 都不会有太大问题。
D:\Program Files\VisualSVN Server\bin\v8>python build\gyp_v8
Updating projects from gyp files...
D:\Program Files\VisualSVN Server\bin\v8>
D:\Program Files\VisualSVN Server\bin\v8>devenv.com /build release build\all.sln
Microsoft(R) Visual Studio 10.0.30319.1 版。
版权所有(C) Microsoft Corp。保留所有权利。
……
13>生成成功。
13>
13>已用时间 00:00:51.27
16>------ 已跳过生成: 项目: All ------
16>
========== 生成: 成功 15 个,失败 0 个,最新 0 个,跳过 1 个 ==========
D:\Program Files\VisualSVN Server\bin\v8>
图 1 V8 目录内容
图 2 V8\build 目录内容
图 3 V8\build\release 目录内容
图 4 V8\build\release\lib 目录内容
修改记录
- 第一次 2012-11-4 [UPDATE][ADD]