Swift原始碼專案編譯

2021-10-11 13:10:27 字數 1748 閱讀 3697

本文記錄了swift原始碼專案在macos系統下的編譯過程,電腦配置低,4g記憶體 + 128g硬碟,最後編譯下來大約使用了50多g硬碟空間,耗時大概7個小時。編譯過程建議學習ninja和build-script相關引數按自己所需進行配置

通過homebrew安裝cmake、ninja,我這裡沒有使用sccache

brew install cmake ninja
我的編譯環境:

//建立目錄

clone編譯swift相關的庫

.

/swift/utils/build-script -r --debug-swift-stdlib --lldb

可通過./swift/utils/build-script -h了解相關的引數。

-r, --release-debuginfo:構建所有內容的relwithdebinfo變體(預設是none)

--debug-swift-stdlib:構建swift標準庫和sdk覆蓋層的debug變體

-l, --lldb: 構建lldb

找到編譯後的lldb檔案目錄,把bin目錄下的檔案全部拷貝到codelldb的bin目錄下

lldb目錄:

codelldb目錄:(在當前賬戶的.vscode目錄中)

同時修改codelldb的lib檔案下面的liblldb.dylib檔案

因電腦硬碟只有128g,擠出50多g空間還是很費事的(可以考慮在行動硬碟中編譯),另一方面這樣編譯下來的時間也很長(中間因誤操作失敗重新編譯一次白白花費5個小時)。最後編譯下來發現有以下四個目錄

其中llvm-macosx-x86_64占用了28g左右的空間,當我把llvm刪除後也能執行和除錯swift。

在官方文件中看到如下內容:

以及

todo:學習ninja以及build-script相關引數,以達到根據自己當前需要的內容進行編譯,從而節省時間和空間。

手動編譯原始碼安裝mysql 原始碼編譯安裝mysql

1 安裝mysql需要的依賴包 yum y install ncurses devel libaio devel 2 安裝編譯mysql需要的軟體 mysql 有3個版本分支 5.0 5.1系列 5.4 5.7系列 6.0 7.1群集產品系列 最早的mysql 5.0 5.1產品 直接.config...

chromium 原始碼編譯

以下內容基於 linux ubuntu3.0.0 16 generic 28 ubuntu smp fri jan 27 17 44 39 utc 2012 x86 64 gnu linux 參考網頁給出的步驟 1 安裝 depot tools,cd 到你想要的工作目錄 1.1 通過 svn 獲取 ...

Chrome原始碼編譯

根據中的描述,先裝vc2008,打好各種補丁,再裝june 2010 directx sdk,再裝winsdk7.1,配置vc上的路徑,在配路徑時,要把dx的路徑放到winsdk的前面。否則在編包含xinput檔案的時候會出錯。編譯時才發現chrome用起來很爽,開發起來很吃機器,真不是我這種屌絲程...