cf1e959c65
Importantly, this adds options for encoding using certain codecs, not just decoding. Change-Id: I4a610ebf985b67d4545c71b3f3eed4c7807e6a26 Bug: skia:12541 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/472277 Reviewed-by: Ben Wagner <bungeman@google.com> Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
166 lines
6.2 KiB
Makefile
166 lines
6.2 KiB
Makefile
clean:
|
|
- rm -rf ../../out/canvaskit_wasm
|
|
- rm -rf ./npm_build/bin
|
|
- rm -rf ./build/
|
|
$(MAKE) release
|
|
|
|
release:
|
|
# Does an incremental build where possible.
|
|
./compile.sh
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./build/
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
|
|
|
|
release_cpu:
|
|
# Does an incremental build where possible.
|
|
./compile.sh cpu_only
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./build/
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
|
|
|
|
release_viewer:
|
|
# Does an incremental build where possible.
|
|
./compile.sh viewer
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./build/
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
|
|
|
|
debug:
|
|
# Does an incremental build where possible.
|
|
./compile.sh debug
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.js ./build/
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
|
|
|
|
debug_cpu:
|
|
# Does an incremental build where possible.
|
|
./compile.sh debug cpu_only
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.js ./build/
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
|
|
|
|
debug_viewer:
|
|
# Does an incremental build where possible.
|
|
./compile.sh debug viewer
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.js ./build/
|
|
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
|
|
|
|
profile:
|
|
./compile.sh profiling
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../out/canvaskit_wasm_profile/canvaskit.js ./build/
|
|
cp ../../out/canvaskit_wasm_profile/canvaskit.wasm ./build/
|
|
|
|
npm:
|
|
rm -rf ./npm_build/bin
|
|
mkdir -p ./npm_build/bin
|
|
cp ./CHANGELOG.md ./npm_build/
|
|
|
|
mkdir -p ./npm_build/bin/full
|
|
./compile.sh release
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./npm_build/bin/full
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./npm_build/bin/full
|
|
|
|
# These features are turned off to keep code size smaller for the
|
|
# general use case.
|
|
./compile.sh release no_skottie no_particles no_rt_shader no_alias_font no_effects_deserialization
|
|
cp ../../out/canvaskit_wasm/canvaskit.js ./npm_build/bin
|
|
cp ../../out/canvaskit_wasm/canvaskit.wasm ./npm_build/bin
|
|
|
|
mkdir -p ./npm_build/bin/profiling
|
|
./compile.sh profiling
|
|
cp ../../out/canvaskit_wasm_profile/canvaskit.js ./npm_build/bin/profiling
|
|
cp ../../out/canvaskit_wasm_profile/canvaskit.wasm ./npm_build/bin/profiling
|
|
|
|
gm_tests_debug:
|
|
./compile_gm.sh debug
|
|
mkdir -p ./out
|
|
cp ../../out/wasm_gm_tests_debug/wasm_gm_tests.js ./out
|
|
cp ../../out/wasm_gm_tests_debug/wasm_gm_tests.wasm ./out
|
|
|
|
gm_tests:
|
|
./compile_gm.sh
|
|
mkdir -p ./out
|
|
cp ../../out/wasm_gm_tests/wasm_gm_tests.js ./out
|
|
cp ../../out/wasm_gm_tests/wasm_gm_tests.wasm ./out
|
|
|
|
local-example:
|
|
rm -rf node_modules/canvaskit
|
|
mkdir -p node_modules
|
|
ln -s ../npm_build node_modules/canvaskit
|
|
echo "Go check out http://localhost:8000/npm_build/example.html"
|
|
python3 ../../tools/serve_wasm.py
|
|
|
|
test-continuous:
|
|
echo "Assuming npm ci has been run by user"
|
|
echo "Also assuming make debug or release has also been run by a user (if needed)"
|
|
npx karma start ./karma.conf.js --no-single-run --watch-poll
|
|
|
|
test-continuous-headless:
|
|
npx karma start ./karma.conf.js --no-single-run --watch-poll --headless
|
|
|
|
node-example:
|
|
node ./npm_build/node.example.js --expose-wasm
|
|
|
|
docker-compile:
|
|
mkdir -p ${SKIA_ROOT}/out/canvaskit_wasm_docker
|
|
docker run --rm --volume ${SKIA_ROOT}:/SRC \
|
|
--volume ${SKIA_ROOT}/out/canvaskit_wasm_docker:/OUT \
|
|
gcr.io/skia-public/canvaskit-emsdk:2.0.0_v1 \
|
|
/SRC/infra/canvaskit/build_canvaskit.sh
|
|
|
|
typecheck:
|
|
echo "Make sure you've run cd npm_build && npm ci recently"
|
|
cd npm_build && npm run dtslint
|
|
|
|
bazel_gms_release:
|
|
# We use spawn_strategy=local for "everyday" builds because emscripten assumes there
|
|
# is a cache in the home directory that it needs to fill with compiled versions of libc etc.
|
|
# https://emscripten.org/docs/tools_reference/emcc.html
|
|
# By setting spawn_strategy=local, we can avoid recompiling all of this for every compilation
|
|
# unit, by letting the cache be used (and not dropped from the sandbox), which gets expensive.
|
|
# Local testing showed using the local strategy sped up a clean build from 9.5 minutes
|
|
# to 1 minute. https://docs.bazel.build/versions/main/user-manual.html#strategy-options
|
|
bazelisk build :gm-bindings-wasm --compilation_mode opt --spawn_strategy=local \
|
|
--gpu_backend=gl_backend --with_gl_standard=webgl_standard \
|
|
--include_decoder=jpeg_decode_codec --include_decoder=png_decode_codec \
|
|
--include_decoder=webp_decode_codec --include_decoder=gif_decode_codec
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../bazel-bin/modules/canvaskit/gm-bindings-wasm/gm-bindings.js build/gm-bindings.js
|
|
cp ../../bazel-bin/modules/canvaskit/gm-bindings-wasm/gm-bindings.wasm build/gm-bindings.wasm
|
|
|
|
bazel_gms_debug:
|
|
# See above note about spawn_strategy
|
|
bazelisk build :gm-bindings-wasm --compilation_mode dbg --spawn_strategy=local \
|
|
--gpu_backend=gl_backend --with_gl_standard=webgl_standard \
|
|
--include_decoder=jpeg_decode_codec --include_decoder=png_decode_codec \
|
|
--include_decoder=webp_decode_codec --include_decoder=gif_decode_codec
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../bazel-bin/modules/canvaskit/gm-bindings-wasm/gm-bindings.js build/gm-bindings.js
|
|
cp ../../bazel-bin/modules/canvaskit/gm-bindings-wasm/gm-bindings.wasm build/gm-bindings.wasm
|
|
|
|
bazel_canvaskit_debug:
|
|
# See above note about spawn_strategy
|
|
# TODO(kjlubick): Can we use transitions to have defaults set?
|
|
# https://github.com/bazelbuild/examples/tree/main/rules/starlark_configurations/cc_binary_selectable_copts
|
|
bazelisk build :canvaskit-wasm --compilation_mode dbg --spawn_strategy=local \
|
|
--gpu_backend=gl_backend --with_gl_standard=webgl_standard \
|
|
--include_decoder=jpeg_decode_codec --include_decoder=png_decode_codec \
|
|
--include_decoder=webp_decode_codec --include_decoder=gif_decode_codec \
|
|
--include_encoder=jpeg_encode_codec --include_encoder=png_encode_codec \
|
|
--include_fontmgr=custom_embedded_fontmgr --fontmgr_factory=custom_embedded_fontmgr_factory
|
|
- rm -rf build/
|
|
mkdir build
|
|
cp ../../bazel-bin/modules/canvaskit/canvaskit-wasm/canvaskit.js build/canvaskit.js
|
|
cp ../../bazel-bin/modules/canvaskit/canvaskit-wasm/canvaskit.wasm build/canvaskit.wasm
|