Swift源码编译

2022-08-09  本文已影响0人  方小花c

Swift源码编译,小坑比较多,历时2周(乐色)。

一、编译环境

官方文档:https://github.com/apple/swift/blob/main/docs/HowToGuides/GettingStarted.md#system-requirements

Xcode版本:Version 13.4.1 (13F100),macOS版本:12.3.1

安装VSCode

安装Homebrew

安装cmake:brew install cmake

安装njnia:brew install njnia:brew

建议:下载源码和编译需要50G~60G,可选择在移动硬盘上(坑1:电脑内存不够用卡死)

二、下载源码

2.0、创建文件夹

mkdir swift-build

cd swift-build

2.1、查看当前swift版本

swift --version     当前版本是5.6.1

2.2、下载与自己xcode的swift release源码匹配版本

git clone --branch swift-5.6.1-RELEASE https://github.com/apple/swift.git

2.3、下载编译过程中需要的其他分支文件

./swift/utils/update-checkout --tag swift-5.6.1-RELEASE --clone

坑2:提示xcode不匹配

env SKIP_XCODE_VERSION_CHECK=1 ./swift/utils/update-checkout --tag swift-5.6.1-RELEASE --clone

坑3:没有找到python2.7

查看本地python版本:python --version (本地python 3.7)

去官网下载python2.7:https://www.python.org/downloads/release/python-2718/

下载安装完以后,vim ~./bash_profile ,写入alias python='/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7'

生效:source ~./bash_profile

再次查看python版本,已经切换到2.7

三、编译

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

提示:这步需要很长的时间

坑4:ImportError: No module named six

python缺少文件,去官网下载:https://pypi.org/project/six/#files

下载完后命令行,cd进入该根目录

执行 python setup.py install,此时安装six完成

再次执行编译命令

四:配置VSCode调试swift

4.1、用VSCode打开swift-build文件

4.2、安装codelldb插件

4.3、配置json文件

{

    "version": "0.2.0",

    "configurations": [

        {

            "type": "lldb",

            "request": "launch",

            "name": "Debug",

            //此处路径为swift编译文件的路径

            "program": "${workspaceFolder}/build/Ninja-RelWithDebInfoAssert+stdlib-DebugAssert/swift-macosx-x86_64/bin/swift",

            "args": [],

            "cwd": "${workspaceFolder}"

        }

    ]

}

4.4、开始调试swift

过掉断点继续执行

上一篇下一篇

猜你喜欢

热点阅读