编译环境
macOS Big Sur 11.0.1
Xcode 12.2
Python 2.x
brew install cmake ninja
编译步骤
第一步:clone swift源码
如果想要编译最新的,可在官网上找分支,同时注意对应的Xcode
版本要匹配。目前最新分支5.3.1.release
,当前编译的也是这个版本。
首先,新建一个文件夹swift-source
并确保当前在此目录下,然后执行如下命令:
git clone --branch swift-5.3.1-RELEASE https://github.com/apple/swift.git
第二步:update-checkout
首先确保当前在swift-source
目录下,然后执行如下命令:
./swift/utils/update-checkout --tag swift-5.3.1-RELEASE --clone
注意:这一步非常重要,因为update-checkout
会clone
编译swift
相关的库,不然那后面在编译swift
源码的过程中一定会失败。
第三步:编译
编译过程中既可以使用ninja
,也可以使用Xcode
进行编译。但Xcode
编译后的支持性不是特别的好,所以推荐使用ninja
来编译。编译命令如下:
./swift/utils/build-script -r --debug-swift-stdlib --lldb
第四步:使用VSCode
来调试Swfit
源码
首先在VSCode中安装一个插件CodeLLDB
接下来配置
JSON
文件{
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/build/Ninja-RelWithDebInfoAssert+stdlib-DebugAssert/swift-macosx-x86_64/bin/swift",
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
注意:上述program的文件路径和你编译的文件路径相同
run
起来之后:
过掉断点之后:
可在上述红色框中编写
swift
看到下图红色框中的信息就表示运行成功,就可以在终端输入swift代码
进行调试了~!