swift 源码编译
2021-02-19 本文已影响0人
Bepawbikvy
编译环境
MacOS Big Sur 11.0.1
Xcode 12.4
Python 2.x
brew install cmake ninja
编译步骤
第一步:clone swfit源码
$ git clone --branch swift-5.3.1-RELEASE https://github.com/apple/swift.git
因为我的Xcode的版本较新,所以我这里是编译的是swift-5.3.1-Release
,这里可以根据自己的Xcode系统版本自行在官网上找到分支(这个在官网文档编辑Swift的时候会有说明)
第二步:update-checkout
$ ./swift/utils/update-checkout --tag swift-5.3.1-RELEASE --clone
这里update-checkout
会clone
编译swift
相关的库,编译失败的话,后面编译swift
源码就不会顺利。编译过程长,可利用休息时间编译。
第三步:编译
编译过程中可以采用ninja
编译,使用Xcode
编译也可以,但是实际测试过程中Xcode
编译之后的支持性不是特别好~~~
$ ./swift/utils/build-script -r --debug-swift-stdlib --lldb
第四步:使用VSCode 来调试Swift
首先在VSCode中安装插件LLDB
这里可以参考任何快速安装CodeLLDB,就不多讲解了。
接下来配置JSON
文件

注意
如图program
文件路径和你编译的文件路径相同即可
run
起来之后

过掉断点之后

e.g:
