1.源码下载的地址:http://nightly.webkit.org/。这里有关于webkit众多的资料可以查询。
2.准备开发IDE,根据文章介绍,
Installing the Developer Tools
OS X or iOS Simulator
-
Install Xcode
Get Xcode from https://developer.apple.com/downloads. To build WebKit for OS X, Xcode 5.1.1 or later is required. To build WebKit for iOS Simulator, Xcode 6.1.1 is required.
-
Install the Xcode Command Line Tools by running
xcode-select --install
in the Terminal. -
Install Java for Mac OS X Developer Package
Download and install the latest OS-appropriate “Java for Mac OS X Developer Package” from https://developer.apple.com/downloads.
- 这里有一个tip,是本人在查询关于webkit资料发现的:如果遇到遇到一些如内存访问错误等,请查看所使用的mac系统和xcode版本是否为最新
Windows
-
You can build with either Visual Studio 2013 or Visual Studio 2013 express. (Newer versions currently unsupported)
Use the default options for the installation.
-
Install Cygwin
Cygwin is a collection of utilities for Windows that includes not only a Subversionclient, but also additional tools that are required to build the WebKit source. Wehave made a downloader available that automatically collects all of the requiredpackages.
Download cygwin-downloader.zip.
Extract the content of the archive to some folder and start
cygwin-downloader.exe
from that folder.This will download all the Cygwin packages you need.When all the packages have finished downloading, the Cygwin installer will launch. Choose Install from Local Directory, then click Next until theinstall is complete. If you are running Vista, the installer won't be able to launch automatically, so you will have to manually launch Cygwin's Setup.exe.
Note: If you are behind a proxy you need to set the
http_proxy
environment variable to the URL of the proxy. This wouldlikely match this pattern:http[s]://[username[:password]@]somehost.com[:port]
. Where the square brackets ([]) are not part of the url but enclose url elements that are optional indicating that those elements might be missing in your case together with their enclosed delimiter such as @ and :.Note: Vista may warn you that Cygwin did not install correctly. Ignore this warning and tell Vista that the install was successful.
Warning: If you are running Vista or Windows 7, Cygwin may have trouble with implementing
fork
(the POSIX function frequently used to start child processes, needed by many of the WebKit build tools).In order to enablecygwin1.dll
to implement fork successfully it is better if no DLL loaded in the parent process is relocated at runtime.One way to achive this is to rebase all cygwin dlls exceptcyglsa64.dll
andcygwin1.dll
to base addresses that cause them to not overlap in memory.In order to rebase all cygwin dlls a
rebaseall
script is provided in the cygwin installation'sbin
directory(usuallyC:\cygwin\bin
).This script must be run fromash.exe
(found in the same directory) while no other cygwin application is running.
ash.exe
has very limited command line editing features so cutting and pasting to the commandline is recommended.
ThePATH
environment variable may not contain the/bin
directory by defaultthus the script should be launched as/bin/rebaseall
.
Ifrebaseall
is complaining about failure to write to a Windows Temp directory (i.e./cygdrive/c/Users/you/AppData/Local/Temp
),fix the permissions on that folder (i.e./bin/chown you /cygdrive/c/Users/you/AppData/Local/Temp
) orchange the TMP environment variable to point to a directory with the appropriate permission flags (i.e.:export TMP=/tmp
).Note: The rebase process may need to be repeated to include any new libraries added later to cygwin by listing these libraries by full cygwin path in a file and passing the file to
rebaseall
via the-T fileName
commandline argument.The dlls underLayoutTests/http/conf
are a relevant use case.Remove the following lines from
/home/[username]/.bashrc
(if present):unset TMPunset TEMPThose lines would prevent picking up the Windows TMP and TEMP environment variables.If you are behind a proxy you need to do the following to allow cygwin svn to get through the proxy。
- 看到上面一大段英文是不是很崩溃。在window下我们准备好vs2013(文档推荐)和Cygwin(一种模拟了Unix环境的软件),注意在这里文章提示如果我们使用的是visa系统,可能会遇到问题。在warning提到了window7这个重要的系统,并且提到了在window7遇到问题可以使用
cygwin1.dll
文件和cyglsa64.dll
文件去解决内存的问题。 - usually
C:\cygwin\bin
)还是老实根据官方文档混吧 - 在写入临时文件遇到问题时,请查看文件的权限((i.e.
/bin/chown you /cygdrive/c/Users/you/AppData/Local/Temp
),(i.e.:export TMP=/tmp
).) - svn下载
- 最后请准备好c/c++参考书籍一本。