您的位置:首页 > 其它

用Visual Studio 2008(VS)编译WebKit的r63513

2010-07-16 21:10 344 查看

准备:

Cygwin:官方提供的

QuickTime SDK:需要注册一个Apple ID

WebKitSupportLibrary和WebKitAuxiliary:http://developer.apple.com/opensource/网页底部,顺便一起下了。

WebKit



WebKit is the open source web browser engine at the heart of Apple's Safari web browser on Mac, Windows, and iOS. It also provides a system-level framework engine that powers Dashboard, Mail, and many other Mac OS X applications. Webkit Open Source Project

iOS and Mac OS X

Safari Reference Library

Mac OS X Reference Library

Windows

WebKit Support Library

WebKit Auxiliary Library

这三个软件按照自己喜欢爱装哪就哪,不一定要在系统盘的(C盘)。

代码:

http://nightly.webkit.org/,下了个最新的。在Cygwin中使用tar -xjvf WebKit-r63513.tar.bz2,然后重命名为WebKit。

环境变量:

WEBKIT_DIR=刚才的WebKit目录。

WEBKITLIBRARIESDIR=%WEBKIT_DIR%\WebKitLibraries\win。

WEBKITOUTPUTDIR=%WEBKIT_DIR%\WebKitBuild。

VS2008=这个不用说就是我常用的也是唯一一个版本的VS。

QT_SDK=之前的QuickTime的目录。

CYG_HOME=Cygwin目录。

项目修改:

所有的项目,用记事本打开,替换%SystemDrive%\cygwin为%CYG_HOME%这个很关键,所有的都替换了。

脚本修改:

build-webkit 437行

if ($ENV{'VS2008'}) {
$result = buildVisualStudioProject("../WebKit2/WebKit2-2008.sln", $clean);
} else {
$result = buildVisualStudioProject("../WebKit2/WebKit2.sln", $clean);
}
webkitdirs.pm 1066行

if ($ENV{'VS2008'}) {
$vsInstallDir = $ENV{'VS2008'};
}
$vsInstallDir = `cygpath "$vsInstallDir"`;

。。。

my $qtSDKPath = "$programFilesPath/QuickTime SDK";
if ($ENV{'QT_SDK'}) {
$qtSDKPath = $ENV{'QT_SDK'};
}
parallelcl 19行

my $clexe;
if ($ENV{'VS2008'}) {
$clexe = `cygpath -u '$ENV{'VS90COMNTOOLS'}/http://www.cnblogs.com/VC/bin/cl.exe'`;
} else {
$clexe = `cygpath -u '$ENV{'VS80COMNTOOLS'}/http://www.cnblogs.com/VC/bin/cl.exe'`;
}
chomp $clexe;
如果愿意,把update-webkit-auxiliary-libs也改了,下载临时目录,多浪费呀。这个自己改,我经常不能联网,所以对下下来的资源分外看重,宁可硬盘塞满。

最后,复制WebKit2下的WebKit2.sln为WebKit2-2008.sln,在Cygwin中定位到WebKit的上层目录,

依次输入

WebKit/webkittools/scripts/update-webkit

WebKit/webkittools/scripts/build-webkit

由于版本问题,不会编译的,但重要的是,此时编译环境已经完成。

打开WebKit2-2008.sln,自动升级为2008的项目,然后依次编译JavaScriptCore、WebKitCore。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: