标签:dep syn 开始 usr art inux mic font bic
emsdk:
git clone https://github.com/emscripten-core/emsdk.git
depot_tools:
git clone ‘https://chromium.googlesource.com/chromium/tools/depot_tools.git‘
将depot_tools目录添加到环境变量 : export PATH="${PWD}/depot_tools:${PATH}"
Tip : 使用命令“ninja --version”检查ninja是否可用,ninja位于depot_tools目录
python2:
sudo apt install python2
由于skia编译过程中使用的是python2,请确保python2的使用优先级高于python3
使用以下命令设置:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
其它依赖:
sudo apt-get install cmake
sudo apt-get install default-jre
sudo apt install llvm
sudo apt install clang
由于skia与emsdk的源码经常变动,使用最新的skia、emsdk进行编译失败的概率很大
可以在skia在github上的提交日志中找到这skia提交对应的emsdk的版本https://github.com/google/skia/commits?author=kjlubick
比如:
可以使用skia的 2e24270的提交与emsdk 2.0.20进行编译
skia配置
cd切换到skia代码目录,使用命令 : git reset 2e24270
emsdk配置
cd切换到emsdk的代码目录
使用命令:
./emsdk install 2.0.20
./emsdk activate 2.0.20
设置环境变量(临时)
source ./emsd_env.sh
注意:source ./emsd_env.sh设置的环境变量仅当前控制台可用,下次再启动emsdk需要再次执行该条命令。这样子做的目的是不污染系统的环境。
查看emsdk是否生效:
emcc --version
若是切换过emsdk的版本,需要清空编译缓存:
emcc --clear-cache
cd切换到skia目录
同步依赖:
python2 tools/git-sync-deps
生成构建文件:
bin/gn gen out/Static --args=‘is_official_build=true‘
bin/gn gen out/Shared --args=‘is_official_build=true is_component_build=true‘
这里参数代表的意义在skia官网(英语)有更详细的说明:https://skia.org/docs/user/build/
开始编译:
cd modules/canvaskit
./compile.sh no_skottie no_particles no_font
Linux(ubuntu 20)下将Skia编译为Webassembly(Wasm)
标签:dep syn 开始 usr art inux mic font bic
原文地址:https://www.cnblogs.com/xie-kang/p/14845928.html