码迷,mamicode.com
首页 > Web开发 > 详细

Linux(ubuntu 20)下将Skia编译为Webassembly(Wasm)

时间:2021-06-04 19:19:02      阅读:0      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!