mac上面進行chromium編譯

英文版教程:
https://chromium.googlesource.com/chromium/src/+/master/docs/mac_build_instructions.md

系統(tǒng)要求

64位mac,系統(tǒng)版本10.11+

系統(tǒng)版本,屏幕左上角 蘋果圖標 -> 關于本機 -> 概覽

Xcode 7.3+

在 App Store搜索下載

OSX 10.10 SDK

裝完Xcode以后在終端輸入下面的代碼葛虐,如下圖所示應該就可以了

 $ ls `xcode-select -p`/Platforms/MacOSX.platform/Developer/SDKs

安裝depot_tools

用git復制 depot_tools 資源

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

把depot_tools加入路徑,假設你放在/path/to/depot_tools路徑下面,那么就在終端輸入关噪,不過這是臨時的中捆,

$ export PATH="$PATH:/path/to/depot_tools"

獲取代碼

創(chuàng)建一個新的chromium文件夾并進入文件夾蛀醉,你可以叫它別的名字,可以放在任意的位置,但是要保證路徑?jīng)]有空格

$ mkdir chromium && cd chromium

使用fetch來檢出代碼和依賴(這個代碼我現(xiàn)在下大概是7.2GB愈捅,如果不想要所有的歷史記錄可以加--no-history,下載會快一點)

帶歷史記錄的源碼

$ fetch chromium

不帶歷史記錄的源碼

$ fetch --no-history  chromium

會產(chǎn)生隱藏的.gclient的文件慈鸠,如果下載失敗蓝谨,可以把這個文件刪了重新執(zhí)行

中間不會有任何的提示,請安靜地等待~
這種應該是下載成功了吧



然后你就會發(fā)現(xiàn)目錄下面有src文件夾青团,進入文件夾

$ cd src

這里有提示install API keys 譬巫,但是對大多數(shù)的開發(fā)者不是必選項,所以就先跳過督笆。

開始編譯

之前裝了 depot_tools芦昔,那么就可以用下面的代碼開新建一個build的目錄文件夾,(my_build可以換名字娃肿,但是out文件夾是必需的)

gn gen out/my_build

更快地編譯

官網(wǎng)給了三個配置可以加快build咕缎,分別是is_debug,is_component_build咸作,symbol_level锨阿,配置方式如下(關于配置的說明)

  1. 輸入下面的命令行會打開一個配置文件
gn args out/my_build
  1. 可以在文件里面輸入配置,像下面展示的這樣
is_component_build = true
is_debug = false
symbol_level = 0

其實他們應該保存在src/out/my_build/args.gn這邊

  1. 輸入下面的代碼你能夠查看所有可配置的參數(shù)以及他們的默認值
gn args --list out/my_build

同時也可以通過install ccache 记罚,在再次compile的時候會更快墅诡,下面也略微講了一下

build chromium

使用Ninja來build chromium,這個過程會比較耗時

$ ninja -C out/Default chrome

運行chromium

輸入

$ out/Default/chrome

Debugging 調(diào)試

debug資料
這里的意思是用圖形化的環(huán)境不用在xcode里面配置
Debugging in Xcode
前面按照教程取消了crash的記錄

最后的配置是在生成的文件夾下面找到products.xcodeproj桐智,然后雙擊就會用xcode打開末早,然后配置scheme,
第一次應該沒有scheme配置,選擇New Scheme说庭,然后Info這邊然磷,Executable選擇Chromium.app,‘



然后啟動chromium , Debug -》Attach to Processes ->
選擇Chomium程序
下面可以參考這個文章姿搜、
https://zhuanlan.zhihu.com/p/24911872

首先是第一個資料

推薦蘋果開發(fā)者閱讀的Mac OS X Debugging Magic Technote
重要提醒

  1. 在xcode里面寡润,為了讓斷點生效舅柜,Debugging面板中取消Load Symbols Lazily
  2. GYP_DEFINES的fast_build如果是1的話,那么你想要的斷點可能拿不到致份,如果你去掉它变抽,要重新運行gyp_chromium以及rebuild
    禁用ReportCrash,在終端輸入man ReportCrash绍载,然后找到這一行
launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.ReportCrash.Root.plist

調(diào)試渲染進程

XCode本身不支持多于一個的進程滔蝉,對子進程的支持也不友好击儡,有兩種方法應付。

(a)單進程運行chrome

(不被推薦)

CCache

據(jù)說是加速recompilation的锰提,他通過存儲原來的compilation曙痘,當compilations相同的時候立肘,能夠有一個顯著的加速名扛,特別是切換分支的時候谅年。
首先用brew下載
在環(huán)境變量里面配置 肮韧,下面是臨時的

Export PATH=“$PATH:/usr/local/opt/ccache/libexec ccahe”

然后要讓gn配置使用
配置環(huán)境變量

export CCACHE_CPP2=yes
export CCACHE_SLOPPINESS=time_macros
export PATH=`pwd`/third_party/llvm-build/Release+Asserts/bin:$PATH

運行 ninja

ninja -C out/Release chrome
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末弄企,一起剝皮案震驚了整個濱河市超燃,隨后出現(xiàn)的幾起案子拘领,更是在濱河造成了極大的恐慌,老刑警劉巖届良,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件圣猎,死亡現(xiàn)場離奇詭異,居然都是意外死亡送悔,警方通過查閱死者的電腦和手機爪模,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門屋灌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鞋喇,“玉大人,你說我怎么就攤上這事侦香。” “怎么了罐韩?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長龙考。 經(jīng)常有香客問我矾睦,道長,這世上最難降的妖魔是什么枚冗? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮赁温,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘袜匿。我一直安慰自己稚疹,他們只是感情好,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布贫堰。 她就那樣靜靜地躺著,像睡著了一般喇勋。 火紅的嫁衣襯著肌膚如雪偎行。 梳的紋絲不亂的頭發(fā)上贰拿,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天熄云,我揣著相機與錄音,去河邊找鬼缴允。 笑死,一個胖子當著我的面吹牛矗漾,可吹牛的內(nèi)容都是我干的薄料。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼誊役,長吁一口氣:“原來是場噩夢啊……” “哼谷市!你這毒婦竟也來了蛔垢?” 一聲冷哼從身側(cè)響起迫悠,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤及皂,失蹤者是張志新(化名)和其女友劉穎且改,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體又跛,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年感混,在試婚紗的時候發(fā)現(xiàn)自己被綠了礼烈。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡庭呜,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出募谎,到底是詐尸還是另有隱情,我是刑警寧澤节槐,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布拐纱,位于F島的核電站,受9級特大地震影響戳玫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜币绩,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一府阀、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧试浙,春花似錦、人聲如沸田巴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽管宵。三九已至,卻和暖如春箩朴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背钱床。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工燕雁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留鲸拥,地道東北人僧免。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像懂衩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子浊洞,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

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

  • 前言:2017年2月6號谷歌宣布iOS版的Chrome瀏覽器的代碼并歸到Chromium項目開源出來了法希,正好自己最...
    馬修王閱讀 17,960評論 16 15
  • 八月了,立秋中不覺夏已遠去润匙。 八月唉匾,是很多孩子們的分水嶺孕讳,進入了哪所學校巍膘,現(xiàn)在雖不能定義未來一定會見高下。但...
    心靈煙火閱讀 128評論 0 0
  • 2 構(gòu)思寫于2015.6.15 修改2015.6.16 攻是軍人蟀苛,被迫退役回來繼承家業(yè)逮诲。受一向貪圖享樂,不愿吃苦梅鹦。...
    糕冷的四月sama閱讀 856評論 0 1
  • 01 我是一個相信緣分的人冻河,所以茉帅,我從來不主動交朋友锭弊。 一個有趣的人堪澎,出現(xiàn)的時機味滞,往往很偶然剑鞍,也很短暫。 但緣分蚁署,...
    懷左同學閱讀 1,619評論 19 40