-
Notifications
You must be signed in to change notification settings - Fork 19
SHBuild.zh CN
FrankHB edited this page Dec 2, 2014
·
22 revisions
试验支持的命令行工具,位于 Tools/SHBuild
,可以用来遍历目录编译链接本机程序。当前仅支持 MinGW32/MinGW64 环境。
直接(不带参数)运行 SHBuild
查询使用方法和选项等说明。
当前 SHBuild 支持的命令行直接传递给后端,若需要构建复杂项目,可以使用其它的脚本支持。
运行脚本 Tools/SHBuild-build.sh
生成 SHBuild 可执行文件,然后使用 SHBuild-YSLib.sh
生成本机 release
(非调试)配置的静态库和动态库。暂时不支持其它配置。
运行脚本 Tools/SHBuild-self-host.sh
自举测试使用上述脚本编译得到的 SHBuild
。
关于使用 bash
构建库、测试项目和用户程序,以及基于 SHBuild 上的,参见关于 MinGW sysroot 的说明。
SHBuild 支持本机自举,即在本机环境上直接构建 SHBuild 后继续使用 SHBuild 构建自身。
- 第一阶段(stage 1) 。
- 调用脚本
Tools/Scripts/SHBuild-build.sh
。只依赖编译器进行编译链接。 - 这个阶段的 SHBuild 通过脚本直接选取 YSLib 中的源文件作为依赖进行构建。
- 因为直接调用编译器驱动链接,不支持显式指定并行编译,相对比较慢。编译的结果是静态链接的,文件体积比较大。
- 主要用于下一阶段使用。不建议直接使用。
- 调用脚本
- 第二阶段(stage 2) 。
- 在脚本
Tools/install-sysroot.sh
内直接调用上一阶段构建的SHBuild
,构建时链接到之前构建的 YFramework.dll 和 YBase.dll 。 - 这是当前最终生成的 SHBuild 。
- 链接和运行依赖 YFramework.dll 和 YBase.dll 。
- 在脚本
也可以直接使用 SHBuild-self-host.sh
和 SHBuild-self-host-DLL.sh
进行直接自举。这两个脚本主要用于内部测试。