WebKit在Windows上
本指南提供了用于构建WebKit的指令在Windows 8.1没有Cygwin(AppleWin港口WebKit)。 你可以选择安装Cygwin运行测试。
安装开发工具
首先安装以下程序和设置您的环境:
- Visual Studio。 (确保你包括c++支持。) https://www.visualstudio.com/en-us/products/visual-studio-community-vs
- ActiveState的Perl。64位很好。 http://www.activestate.com/activeperl/downloads
- ActiveState的Python。 确保它的版本2。 而不是3. x。 64位很好。http://www.activestate.com/activepython/downloads 确保你不从python.org下载它,因为我们硬编码可执行文件的名称为“python2.7”和python.org python不包括一个可执行的名字。
- Ruby。64位很好。 http://rubyinstaller.org/
- 野牛。 http://gnuwin32.sourceforge.net/packages/bison.htm 确保安装路径没有空间,因为野牛不正确引用路径时通过他们m4。
- Gperf。 http://gnuwin32.sourceforge.net/packages/gperf.htm
- Flex。 http://gnuwin32.sourceforge.net/packages/flex.htm
- CMake。 https://cmake.org/download/
- Git。 http://www.git-scm.com/download/win 注意:确保您选择的选项“使用Git Windows命令提示符。 “这是因为它安装一个sh.exe在你的路径,如果sh.exe有空间的位置,使被搞糊涂了。 当我安装这个,我不受控制的所有选项。
- iTunes。 这只是AppleWin所需的端口,不是WinCairo端口。 http://www.apple.com/itunes/download/这是必要的,因为它包括了。 dll实现苹果CoreGraphics这样的框架,CoreAnimation等等。
- “嗯哼”字体,用于测试。 http://www.w3.org/Style/CSS/Test/Fonts/Ahem/
- (可选:如果你打算与Subversion补丁)Subversion。 http://sourceforge.net/projects/win32svn/
- (可选:加快构建过程)忍者构建。 https://github.com/ninja-build/ninja/releases
确保所有刚才安装的程序(除了Visual Studio和iTunes)是通过你来访问 美元的路径
http://www.itechtics.com/customize-windows-environment-variables/ 你可能需要修改后重新启动 美元的路径
新壳前将更新后的变量。
如果您是在代理,一定要设置 HTTP_PROXY
和 HTTPS_PROXY
环境变量。
设置Git存储库
git告诉你的名字。
> git config --global user.name "John Smith"
告诉git你的电子邮件地址。
> git config --global user.email "[email protected]"
下载一个克隆存储库。
> git clone <git://git.webkit.org/WebKit.git> > cd WebKit
(可选:如果你打算与Subversion补丁)
自动配置本地克隆遵循Subversion:
> python Tools\Scripts\webkit-patch setup-git-clone
设置支持工具
下载WebKit支持库源代码树的根 https://developer.apple.com/opensource/internet/webkit_sptlib_agree.html如果文件是正确命名,命名WebKitSupportLibrary.zip。 不提取其内容。 这个档案包含一个SDK(仅标题)Windows版本的苹果软件堆栈(比如CoreGraphics)。
此外,您需要下载 https://developer.apple.com/opensource/internet/WebKitAuxiliaryLibrary.zip
> cd Tools\Scripts
> perl update-webkit
如果上面的命令要求您重启你的机器,这样做。
注意,这个命令将自动下载 WebKitAuxiliaryLibrary.zip 从苹果和提取到你的树(WebKitLibraries文件夹内)。 这个档案包含的Windows版本的所有公共图书馆WebKit取决于(如libxml2)。 还请注意,该命令可能设置环境变量。
构建WebKit
> perl build-webkit
注意,这个命令将自动提取WebKitSupportLibrary。 步中下载zip(6)到你的树(WebKitLibraries文件夹内)。
安装Cygwin(可选)
您可以构建与Visual Studio 2015和Visual Studio 2015 Community Edition。
使用默认选项安装。
Cygwin是公用事业为Windows的集合,不仅包括Subversion的客户,但也需要额外的工具来构建
WebKit的来源。 我们取得了一个下载器可以自动收集所有必需的包。
下载 cygwin-downloader.zip 。 提取一些文件夹和档案的内容开始 cygwin-downloader.exe
从文件夹中。 这将下载所需的所有Cygwin包。 当所有的包已经完成下载,Cygwin安装程序将会启动。 选择 安装从本地目录 ,然后单击 下一个 直到安装完成。 如果您正在运行Vista,安装程序无法自动启动,你将不得不手动启动Cygwin 安装程序
。
[…]
)不是URL的一部分,但是用来表示可选元素的URL。叉
(POSIX函数经常用于启动子进程,需要许多的WebKit构建工具)。 为了使 cygwin1.dll
成功实现叉最好是如果没有DLL加载在父进程在运行时重新安置。 达到这一点的方法之一是变基所有 cygwin dll 除外 cyglsa64.dll
和 cygwin1.dll
基地地址,让他们不要重叠在内存中。为了变基所有cygwin dll rebaseall
cygwin提供的脚本安装的 本
目录(通常是 C:\cygwin\bin )。 该脚本必须逃离 ash.exe
(在相同的目录中),而没有其他应用程序运行cygwin。
ash.exe
命令行编辑功能非常有限所以剪切和粘贴命令行。
的 路径
环境变量可能不包含的 / bin
目录默认脚本应该推出 /bin/rebaseall 。
如果 rebaseall
是抱怨未能写入一个Windows临时目录(即 /cygdrive/c/Users/you/AppData/Local/Temp
),修复文件夹的权限(即 /cygdrive/c/Users/you/AppData/Local/Temp )或改变TMP环境变量,使之指向一个目录与适当的许可标志
(例如: export TMP=/tmp
)。 注意: 变基过程可能需要重复包含任何新的库后来添加的cygwin清单完整cygwin路径这些库的文件和传递文件 rebaseall
通过 -T fileName 文件名
命令行参数。 下的dll LayoutTests/http/conf
是一个相关的用例。
删除下面的台词 /home/[username]/.bashrc
(if present):
(如果存在):
unset TMP
unset TEMP
会防止捡Windows TMP和临时环境变量。
如果您是在代理需要做以下允许cygwin svn通过代理(类似步骤可供您的Windows svn):
- 在bash中(Cygwin)运行:
svn的帮助
。 这将创建在您的cygwin主目录文件.subversion/servers
.服务器
。 - 编辑上面提到的文件,按照文件中的指令设置你的代理设置。
安装Perl
下载Perl 5.18(或更新) activestate.com 并安装它。
安装Python
下载Python 2.7.8 activestate.com 并安装它。
安装Ruby
下载Ruby 2.0.0 rubyinstaller.org 并安装它。
安装php 中,我们使用以下步骤(你需要这个运行http布局测试):
1
cd /usr/local/bin
2
wget http://apt-cyg.googlecode.com/svn/trunk/apt-cyg
3所示
chmod a+x apt-cya
4所示。 改变的第341行 apt-cya
脚本
wget -nc $mirror/../$install
5。 安装php
apt-cyg -m ftp://sourceware.org/pub/cygwinports/x86 install php
可选 :64位Windows的热修复补丁(Windows 7或更早)禁用用户模式调滤波器为例外
没有 976038年热修复补丁 在回调例程可能抛出异常,不会导致崩溃,但离开应用程序处于不一致的状态,可能会导致崩溃。 你需要点击“视图和请求热修复补丁下载”并填写表单。 下载链接热修复补丁和密码将发邮件给你。
Cygwin的代码
- 打开一个Cygwin壳牌在桌面上双击Cygwin图标启动一个新的Shell。
- 你可以 下载一个快照 WebKit的源代码树。 这是每日更新。
类型这些命令来查看WebKit源树:
tar jxvf WebKit-SVN-source.tar.bz2
cd webkit
注意存档结帐使用一个HTTP连接。 我们建议使用HTTPS而不是运行以下命令:
svn switch --relocate http://svn.webkit.org/repository/webkit/trunk https://svn.webkit.org/repository/webkit/trunk
另外,输入这个命令查看WebKit源树:
svn checkout https://svn.webkit.org/repository/webkit/trunk WebKit
- 安装WebKit支持库
下载WebKit支持库 源代码树的根( C:\cygwin\home\<username>\WebKit )。
如果文件是正确命名,重命名它
WebKitSupportLibrary.zip
。 不提取其内容。 -
运行
./Tools/Scripts/update-webkit
脚本更新源代码树。如果你下载tarball,这将带来最新的。 Windows用户必须执行该命令后,首先获取代码,因为它会下载额外的库,需要构建。
一旦你有了一个当前的树,是下一步 建筑WebKit 。
得到一个崩溃日志
Windows错误报告(回答)已经被集成到操作系统。 默认情况下,微软Windows上传崩溃日志,但不保存一个本地副本。 这是通过注册表配置。
1 将以下文本保存到一个文件中命名 wer.reg
: Windows注册表编辑器5.00版本
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Wind
2 双击文件从Windows Explorer和肯定地回应任何提示。
3 重新启动
下次旅行(或任何其他应用程序)崩溃,崩溃信息将写入一个文件夹内 %LOCALAPPDATA%\Microsoft\Windows\WER\ReportQueue 检查修改日期,以确保您使用正确的文件。 一定要在错误报告中包含以下文件:
- WER_xxxx_.tmp.mdmp
- 这是最重要的文件。 里面包含崩溃转储,可以打开Visual Studio调试器或其他窗口。
- WER_xxxx_.tmp.version.txt
- 包含操作系统版本和其他硬件的信息。
- WER_xxxx_.tmp.appcompat.txt
- 列出所有的dll加载时的崩溃的版本信息。