美文网首页
Swift源码编译(5.3.1)

Swift源码编译(5.3.1)

作者: 移动端_小刚哥 | 来源:发表于2020-12-13 10:48 被阅读0次

    一、编译环境

    • macOS 11.0.1
    • Xcode version 12.2
    • Python 2.x
    • brew install make ninja

    二、编译步骤

    1. clone swift源码
    git clone --branch swift-5.3.1-RELEASE https://github.com/apple/swift.git
    

    如果想要编译其它版本的可以从分支中查找

    2. 进入swift-source目录运行update-checkout
    ./swift/utils/update-checkout --tag swift-5.3.1-RELEASE --clone
    

    这一步会下载Swift相关的库

    3. 编译Swift

    进入swift-source目录执行

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

    这里推荐使用ninja来编译,使用Xcode编译我还没尝试

    4. 使用vscode来调试swift源码

    首先我们需要安装vscode插件CodeLLDB
    接下来配置JSON文件


    配置json.png
    {
         "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}"
    } ]
    }
    

    run起来之后过掉第一个断点


    image.png image.png image.png image.png

    如果区域3不显示,先找到vscode的安装目录


    image.png

    显示隐藏文件的快捷键 command+shift+.
    然后找到LLDB目录拷贝以下文件到vscode安装目录对应位置


    image.png

    同时修改lib文件夹中的dylib文件


    image.png

    相关文章

      网友评论

          本文标题:Swift源码编译(5.3.1)

          本文链接:https://www.haomeiwen.com/subject/epmugktx.html