Alby's blog

世上没有巧合,只有巧合的假象。

0%

Libuv 源码分析(1):准备工作

一、概述

Github 上有 Libuv 的镜像,直接下载即可。想在 macOS 系统下进行源码分析,Source Insight 没有 macOS 版,wine 执行也不好用,虚拟机不想装,类似的源码分析工具没试过。幸好 Libuv 支持使用 GYP 生成 Xcode 项目文件。

二、获取 Libuv 源码

1
2
3
4
cd ~
mkdir Libuv
cd Libuv
git clone https://github.com/libuv/libuv.git

三、安装 GYP for macOS

1
2
3
4
cd ~/Libuv
git clone https://chromium.googlesource.com/external/gyp.git build/gyp
cd build/gyp
sudo ./setup.py install

备注:

  1. 备用下载地址:https://github.com/svn2github/gyp.git
  2. 应该也可以使用 nodejs 项目下的 gyp ,但使用 svn2github 的 gyp 已经可用,也就没再试。

四、生成 Libuv 的 Xcode 项目

进入 Libuv 目录生成 Xcode 项目:

1
2
cd ~/Libuv/libuv
./gyp_uv.py -f xcode

执行完成后生成 Xcode 项目 uv.xcodeproj 。

01

图1: Libuv 的 Xcode 项目截图

五、编译

可在 Xcode 中进行编译,也可以通过命令行:

1
xcodebuild -ARCHS="x86_64" -project uv.xcodeproj -configuration Release -target All

六、生成文档

1、安装 sphinx

1
brew install sphinx-doc

1
pip install sphinx

2、设置 PATH

1
echo "export PATH=/usr/local/opt/sphinx-doc/bin:$PATH" >> ~/.bash_profile

如果使用的是 zsh ,则:

1
echo "export PATH=/usr/local/opt/sphinx-doc/bin:$PATH" >> ~/.zshrc

3、进入Libuv 的 docs 目录 make :

1
2
cd ~/Libuv/libuv/docs
make epub

02

图2: Libuv epub 文档在 iBooks 的截图

参考资料