首页
» 从源代码构建 Emscripten
自己构建 Emscripten 是使用 emsdk 获取二进制文件的另一种方法。
Emscripten 本身是用 Python 和 JavaScript 编写的,因此不需要编译。但是,签出后,你需要执行一些步骤才能使用它(例如 npm install
)。存储库顶层的 bootstrap
脚本负责运行这些步骤,并且 emcc
会在检测到需要运行 bootstrap
时报错。
除了主 emscripten 存储库外,你还需要签出并构建 LLVM 和 Binaryen(如下所述)。编译完这些后,你需要编辑你的 .emscripten
文件,使其指向它们对应的位置。
使用这些存储库中的每个存储库的 main
分支,或者查看 打包 说明,以识别特定版本中使用的精确提交。
从 git 仓库 构建 LLVM。包括 clang 和 wasm-ld(使用类似 -DLLVM_ENABLE_PROJECTS='lld;clang'
的内容)以及 Wasm 后端(默认包含;不要禁用它),按照 该项目的说明 操作。例如,以下内容可以正常工作
mkdir build cd build/ cmake ../llvm -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS='lld;clang' -DLLVM_TARGETS_TO_BUILD="host;WebAssembly" -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF # -DLLVM_ENABLE_ASSERTIONS=ON cmake --build .
然后将环境变量 EM_LLVM_ROOT
设置为 <llvm_src>/build/bin
(无需安装)。
如果你需要匹配 emsdk 版本的 LLVM,查看 emscripten-release 构建和测试脚本。特别是 src/build.py。
有关更多详细信息,请参阅上游文档。
查看 Binaryen 构建说明。