1. 程式人生 > >windows vs2017環境下編譯webkit 2

windows vs2017環境下編譯webkit 2

存在 信息 目錄 命令提示符 eve mir nbsp www download

WebKit在Windows上

  • 安裝開發工具
  • 設置Git存儲庫
  • 設置支持工具
  • 構建WebKit
  • 安裝Cygwin(可選)
  • 得到一個崩潰日誌

本指南提供了用於構建WebKit的指令在Windows 8.1沒有Cygwin(AppleWin港口WebKit)。 你可以選擇安裝Cygwin運行測試。

安裝開發工具

首先安裝以下程序和設置您的環境:

  1. Visual Studio。 (確保你包括c++支持。) https://www.visualstudio.com/en-us/products/visual-studio-community-vs
  2. ActiveState的Perl。64位很好。
    http://www.activestate.com/activeperl/downloads
  3. ActiveState的Python。 確保它的版本2。 而不是3. x。 64位很好。http://www.activestate.com/activepython/downloads 確保你不從python.org下載它,因為我們硬編碼可執行文件的名稱為“python2.7”和python.org python不包括一個可執行的名字。
  4. Ruby。64位很好。 http://rubyinstaller.org/
  5. 野牛。 http://gnuwin32.sourceforge.net/packages/bison.htm 確保安裝路徑沒有空間,因為野牛不正確引用路徑時通過他們m4。
  6. Gperf。 http://gnuwin32.sourceforge.net/packages/gperf.htm
  7. Flex。 http://gnuwin32.sourceforge.net/packages/flex.htm
  8. CMake。 https://cmake.org/download/
  9. Git。 http://www.git-scm.com/download/win 註意:確保您選擇的選項“使用Git Windows命令提示符。 “這是因為它安裝一個sh.exe在你的路徑,如果sh.exe有空間的位置,使被搞糊塗了。 當我安裝這個,我不受控制的所有選項。
  10. iTunes。 這只是AppleWin所需的端口,不是WinCairo端口。
    http://www.apple.com/itunes/download/這是必要的,因為它包括了。 dll實現蘋果CoreGraphics這樣的框架,CoreAnimation等等。
  11. “嗯哼”字體,用於測試。 http://www.w3.org/Style/CSS/Test/Fonts/Ahem/
  12. (可選:如果你打算與Subversion補丁)Subversion。 http://sourceforge.net/projects/win32svn/
  13. (可選:加快構建過程)忍者構建。 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 安裝程序

註意: 如果您是在您需要設置代理 HTTP_PROXY 環境變量的URL代理。 這可能匹配模式: http[s]://[username[:password]@]somehost.com[:port] 。 方括號( […] )不是URL的一部分,但是用來表示可選元素的URL。 註意: Vista可能沒有警告你,Cygwin安裝正確。 忽略這個警告,告訴Vista,安裝成功。 警告: 如果您正在運行Vista和Windows 7,Cygwin可能難以實現 (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的代碼

  1. 打開一個Cygwin殼牌在桌面上雙擊Cygwin圖標啟動一個新的Shell。
  2. 你可以 下載一個快照 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

  1. 安裝WebKit支持庫

    下載WebKit支持庫 源代碼樹的根( C:\cygwin\home\<username>\WebKit )。

    如果文件是正確命名,重命名它 WebKitSupportLibrary.zip 。 不提取其內容。

  2. 運行 ./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加載時的崩潰的版本信息。

windows vs2017環境下編譯webkit 2