mac ollvm環(huán)境編譯

前言

經(jīng)過完整2天的折騰,最總還是放棄了Windows上編譯ollvm的想法冰肴,Mac上目前編譯成功了屈藐。

想看Windows的坑可以去這里看一下:windows10 ollvm編譯環(huán)境

目前的時間是2020年04月29日,當(dāng)前最新的ndk版本號是21.1.6352462熙尉,編譯前先需要查看當(dāng)前ndk中的llvm的版本是多少联逻。目前21.1.6352462版本的使用是9.0.8 svn版本的llvm。

^^/L/A/s/n/21.1.6352462 >>> toolchains/llvm/prebuilt/darwin-x86_64/bin/clang --version 
(https://android.googlesource.com/toolchain/llvm-project e0caee08e5f09b374a27a676d04978c81fcb1928) (based on LLVM 9.0.8svn)
Target: x86_64-apple-darwin19.3.0
Thread model: posix
InstalledDir: /Users/sollyu/Library/Android/sdk/ndk/21.1.6352462/toolchains/llvm/prebuilt/darwin-x86_64/bin

有了版本就可以針對性的編譯ollvm了检痰,這里使用的是goron感謝大佬的提供包归,因為GitHub的下載太慢了,所以我這里鏡像了一份在gitee攀细,這樣下載會快很多箫踩。

說明 地址
GitHub https://github.com/amimo/goron
Gitee https://gitee.com/sollyu/goron.git 鏡像
文檔 https://gitee.com/sollyu/goron/blob/master/README.md

編譯

下載

首先先下載代碼,然后切換到對應(yīng)的分支上谭贪,這里的分支目前有:

# 查看當(dāng)前分支
$ git branch -r
  origin/HEAD -> origin/master
  origin/llvm-10.x
  origin/llvm-10.x-porting
  origin/llvm-7.1.0
  origin/llvm-8.0.1
  origin/llvm-8.0.1-oc-cse
  origin/llvm-9.0.0
  origin/master

# ndk的llvm是9.0的
$ git checkout llvm-9.0.0
  ……

環(huán)境

cmake

$ brew info cmake

cmake: stable 3.17.2 (bottled), HEAD
Cross-platform make
https://www.cmake.org/
/usr/local/Cellar/cmake/3.17.2 (6,156 files, 58MB) *
  Poured from bottle on 2020-04-29 at 09:43:13
From: https://gitee.com/brew-cn/homebrew-core.git/Formula/cmake.rb
==> Dependencies
Build: sphinx-doc ?
==> Options
--HEAD
    Install HEAD version
==> Caveats
Emacs Lisp files have been installed to:
  /usr/local/share/emacs/site-lisp/cmake
==> Analytics
install: 138,094 (30 days), 422,332 (90 days), 1,479,338 (365 days)
install-on-request: 88,967 (30 days), 268,669 (90 days), 939,209 (365 days)
build-error: 0 (30 days)

gcc

$ brew info gcc
gcc: stable 9.3.0 (bottled), HEAD
GNU compiler collection
https://gcc.gnu.org/
/usr/local/Cellar/gcc/9.3.0_1 (1,461 files, 279MB) *
  Built from source on 2020-04-22 at 21:57:23
From: https://gitee.com/brew-cn/homebrew-core.git/Formula/gcc.rb
==> Dependencies
Required: gmp ?, isl ?, libmpc ?, mpfr ?
==> Options
--HEAD
    Install HEAD version
==> Analytics
install: 122,518 (30 days), 314,652 (90 days), 1,140,559 (365 days)
install-on-request: 59,000 (30 days), 155,692 (90 days), 561,521 (365 days)
build-error: 0 (30 days)

編譯

參照官方文檔可以知道,首先在goron下創(chuàng)建一個build文件夾用來存放編譯過后的文件锦担。

$ cd goron

# 創(chuàng)建build文件夾并進(jìn)入
$ mkdir build
$ cd build

# 執(zhí)行cmake
# 請盡量安裝官方文檔進(jìn)行編譯
# 我這里只是我需要俭识,不一定你也需要
# -DCMAKE_BUILD_TYPE=Release                 發(fā)布版
# -DLLVM_ENABLE_ASSERTIONS=ON                編譯時開啟斷言檢查
# -DLLVM_ENABLE_PROJECTS=clang               構(gòu)建的LLVM子項目clang
# -DLLVM_INCLUDE_TESTS=OFF                   關(guān)閉test減少編譯時間
# -DLLVM_TARGETS_TO_BUILD="ARM;X86;AArch64"  只構(gòu)建arm,arm64,x86版本
$ cmake \
  -DCMAKE_BUILD_TYPE=Release \
  -DLLVM_ENABLE_ASSERTIONS=ON \
  -DLLVM_ENABLE_PROJECTS=clang \
  -DLLVM_INCLUDE_TESTS=OFF \
  -DLLVM_TARGETS_TO_BUILD="ARM;X86;AArch64" \
  -G "Unix Makefiles" \
  ../llvm

# 功力全開 盡情的享受cpu的香氣吧
# 建議不要火力全開,我火力全開編譯不通過
$ make -j

經(jīng)過差不多1個小時的編譯洞渔,終于看到了成功提示。


查看編譯完成的clang版本。


集成NDK

看下一篇文章吧:mac ollvm 和 ndk 集成

總結(jié)

還是Mac編譯簡單啊白华,一個早上不到就搞定了杏糙,Windows 2天都沒有弄好,還是不要在Windows上編譯了浆熔,別自討苦吃了本辐。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市医增,隨后出現(xiàn)的幾起案子慎皱,更是在濱河造成了極大的恐慌,老刑警劉巖叶骨,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件茫多,死亡現(xiàn)場離奇詭異,居然都是意外死亡忽刽,警方通過查閱死者的電腦和手機(jī)天揖,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門夺欲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人今膊,你說我怎么就攤上這事洁闰。” “怎么了万细?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵扑眉,是天一觀的道長。 經(jīng)常有香客問我赖钞,道長腰素,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任雪营,我火速辦了婚禮弓千,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘献起。我一直安慰自己洋访,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布谴餐。 她就那樣靜靜地躺著姻政,像睡著了一般。 火紅的嫁衣襯著肌膚如雪岂嗓。 梳的紋絲不亂的頭發(fā)上汁展,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天,我揣著相機(jī)與錄音厌殉,去河邊找鬼食绿。 笑死,一個胖子當(dāng)著我的面吹牛公罕,可吹牛的內(nèi)容都是我干的器紧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼楼眷,長吁一口氣:“原來是場噩夢啊……” “哼铲汪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起摩桶,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤桥状,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后硝清,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辅斟,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年芦拿,在試婚紗的時候發(fā)現(xiàn)自己被綠了士飒。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片查邢。...
    茶點故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖酵幕,靈堂內(nèi)的尸體忽然破棺而出扰藕,到底是詐尸還是另有隱情,我是刑警寧澤芳撒,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布邓深,位于F島的核電站,受9級特大地震影響笔刹,放射性物質(zhì)發(fā)生泄漏芥备。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一舌菜、第九天 我趴在偏房一處隱蔽的房頂上張望萌壳。 院中可真熱鬧,春花似錦日月、人聲如沸袱瓮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尺借。三九已至,卻和暖如春台颠,著一層夾襖步出監(jiān)牢的瞬間褐望,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工串前, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人实蔽。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓荡碾,卻偏偏與公主長得像,于是被迫代替她去往敵國和親局装。 傳聞我的和親對象是個殘疾皇子坛吁,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,724評論 2 354

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