从源码构建
里面到底有什么,你不必只听我们一面之词。开源版构建的设计初衷就是让任何人都能自行重新构建。
本页重新构建的是开源版构建——也就是 GitHub Releases 上的那个版本。授权版构建(GitHub 免费版和 Pro)包含未公开的补丁,无法用这份源码重新构建。
构建的组成
一个 Clearcote 构建就是上游 Chromium 加上一套透明、有序的补丁集:
- 拉取固定版本的 ungoogled-chromium(Chromium 149)。
- 精简源码,然后应用 ungoogled 补丁集(去 Google 化)。
- 应用 Clearcote 补丁(引擎层面的身份控制)。
- 放入公开的
config/args.gn(Windows)或config/args.linux.gn(Linux)。 - 先运行
gn gen out/Default,再运行ninja -C out/Default chrome。
bash
# high-level outline — see docs/BUILDING.md for the exact, pinned steps
git clone https://github.com/clearcotelabs/clearcote-browser
cd clearcote-browser
# fetch upstream, apply the patches, configure, build (gn + ninja) and package
WORK=~/clearcote-build ./build.sh windows # or: ./build.sh linux
# the archive lands in $WORK/dist推荐使用 BUILDING.md 中介绍的固定版本构建容器,它包含了所有工具链的版本锁定。请准备 16 GB 或更多内存(推荐 32 GB)、约 120 GB 磁盘空间,以及数小时的时间。
目标平台
Windows x64 在 Linux 上用 clang-cl / lld-link 交叉编译;Linux x64 则是原生构建。Windows 这一侧确实比较繁琐(Windows SDK + CRT 的准备、工具链 shim),因此每个步骤和每个坑都记录在案,确保可以复现。
权威指南
- docs/BUILDING.md:完整的从源码构建指南。
- patches/README.md:每个已提交补丁的作用;docs/PATCHES.md 是范围更广的设计说明。
- docs/RESEARCH-DOSSIER.md:深入的交叉编译笔记。
- config/args.gn:公开的构建配置。
由于开源版构建的补丁集和配置都是公开且固定的,你自己构建出的产物在行为上应当与发布的产物一致——你还可以把这些补丁与原始上游做 diff,逐一查看每一处改动。目前各次构建还不能做到逐位一致,所以请比较行为,而不是比较哈希。