Chromium 編譯問題

Chromium 編譯問題

網(wǎng)絡(luò)環(huán)境準備

  • 科學(xué)上網(wǎng)自備, 這里假定 proxy為 http://127.0.0.1:1087 郑藏。
  • 打開 ~/.bash_profile 脐往,加入如下內(nèi)容
function proxy_off(){
        unset http_proxy
        unset https_proxy
        unset ftp_proxy
        unset rsync_proxy
        echo -e "關(guān)閉代理"
}
 
function proxy_on() {
        export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
        export http_proxy="http://127.0.0.1:1087"  #注意惊科,這里根據(jù)自己科學(xué)上網(wǎng)的具體情況修改
        export https_proxy=$http_proxy
        export ftp_proxy=$http_proxy
        export rsync_proxy=$http_proxy
        export HTTP_PROXY=$http_proxy
        export HTTPS_PROXY=$http_proxy
        export FTP_PROXY=$http_proxy
        export RSYNC_PROXY=$http_proxy
        echo -e "開啟代理"
}
  • 打開一個終端 , 根據(jù)自己情況建立目錄理张, /xxxx/xxxxx/browser

$ source ~/.bash_profile

之后可以根據(jù)需要運行proxy_on / proxy_off 打開和關(guān)閉科學(xué)上網(wǎng)的代理慷垮。

$ proxy_on

  • 在/xxxx/xxxxx/browser 下, 執(zhí)行 git clone

配置depot_tools和ninja環(huán)境句灌。

 $  export PATH=/xxxx/xxxxx/browser/depot_tools:$PATH
 $  cd ninja && ./configure.py --bootstrap && cd ..
 $  export PATH=/xxxx/xxxxx/browser/ninja:$PATH
  • 為了確保Unicode文件名不會被HFS損壞夷陋, git config 配置
  • git config --global http.postBuffer 524288000
  • git config --global core.precomposeUnicode true

自此欠拾,環(huán)境準備已完成。
分別進入Chromium編譯和V8單獨編譯

Chromium編譯 -- fetch 代碼

$ mkdir chromium && cd chromium
$ fetch chromium
    • 需要注意的是骗绕,由于Chromium項目龐大而且歷史悠久藐窄,直接使用$ fetch chromium 耗時漫長,初次使用可以通過 $ fetch --no-history chromium酬土, 待到項目編譯結(jié)束后根據(jù)需要荆忍,使用$ git fetch --unshallow 得到全部歷史記錄文件。
    • 由于網(wǎng)絡(luò)中斷等各種原因?qū)е碌膄etch中斷撤缴,可以用$ gclient sync --no-history 斷點續(xù)傳 直至結(jié)束刹枉。 這個過程根據(jù)網(wǎng)絡(luò)狀況 ,幾小時到二十幾小時不等屈呕。
    • python3的問題微宝,fetch chromium --> gclient sync. --> gclient runhooks, 其中runhook調(diào)用了python3 所以剛安裝的python3的需要應(yīng)用程序中python3 里 install certficate 如圖:
      python3

      ref https://groups.google.com/g/v8-dev/c/ZCH5jyVHAUA

Chromium編譯Build

  • 進入Chromium下的 src目錄
$ cd src
  • 在Chromium下建立安裝目錄
$ gn gen out/Default

這里的Default 可以自己命名。

  • Build命令
$ autoninja -C out/Default chrome

這個過程根據(jù)PC性能虎眨,用時幾小時到十幾小時不等.
另外新版的arm芯片Mac需要一些額外的步驟芥吟,可直接參考官網(wǎng)
完成后在 out/Default 目錄下有各類Build好的文件 如圖

Build結(jié)果

Chromium編譯 -- Xcode 環(huán)境準備

  • 首先要明確的是Chromium對于Xcode這樣的IDE支持并不好专甩,不過仍然不妨礙使用Xcode作為一個IDE環(huán)境,至少可以用來讀代碼和編輯钉稍。 todo 不過編譯和調(diào)試還是要使用后面所提示的辦法涤躲。
gn gen out/gn --ide=xcode

然后生成了這個目錄下的文件
xcode編譯環(huán)境
$ open out/gn/all.xcodeproj

打開xcode后 面臨漫長的indexing。

ccache

編譯緩存問題的安裝

  • brew install ccache

debug

ref: gdb lldb調(diào)試軟件的使用 todo

Build V8

v8是獨立于Chromium項目的javascript引擎項目

環(huán)境準備

proxy 代理設(shè)置贡未, deptool ninja等環(huán)境設(shè)置參考前文种樱。

拉取代碼

mkdir jsEngine # 此處自定義
cd v8
fetch v8
cd v8

alias

alias gm=/xxxx/xxxxx/jsEngine/v8/tools/dev/gm.py

tools/dev/v8gen.py x64.debug
ninja -C out.gn/x64.debug

編譯

然后如果只是想編譯d8的話(這樣更快),最后一個命令后面加個d8的參數(shù)ninja -C out.gn/x64.debug d8俊卤。

編譯release版本的話嫩挤,最后兩行改成這個。

tools/dev/v8gen.py x64.release
ninja -C out.gn/x64.release

alias gm=tools/dev/gm.py
gm arm64.debug

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末消恍,一起剝皮案震驚了整個濱河市岂昭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌狠怨,老刑警劉巖约啊,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異佣赖,居然都是意外死亡恰矩,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門憎蛤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來外傅,“玉大人,你說我怎么就攤上這事∥龋” “怎么了碾盟?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長奥洼。 經(jīng)常有香客問我巷疼,道長,這世上最難降的妖魔是什么灵奖? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任嚼沿,我火速辦了婚禮,結(jié)果婚禮上瓷患,老公的妹妹穿的比我還像新娘骡尽。我一直安慰自己,他們只是感情好擅编,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布攀细。 她就那樣靜靜地躺著,像睡著了一般爱态。 火紅的嫁衣襯著肌膚如雪谭贪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天锦担,我揣著相機與錄音俭识,去河邊找鬼。 笑死洞渔,一個胖子當著我的面吹牛套媚,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播磁椒,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼堤瘤,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了浆熔?” 一聲冷哼從身側(cè)響起本辐,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎医增,沒想到半個月后师郑,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡调窍,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年宝冕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片邓萨。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡地梨,死狀恐怖菊卷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情宝剖,我是刑警寧澤洁闰,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站万细,受9級特大地震影響扑眉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜赖钞,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一腰素、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雪营,春花似錦弓千、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谴餐,卻和暖如春姻政,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背岂嗓。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工扶歪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人摄闸。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像妹萨,于是被迫代替她去往敵國和親年枕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內(nèi)容