blob: 925ed9b4c3fc91a71bafbb5e826350d7111a61db [file] [log] [blame]
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_build
- 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_build 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_build 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_sksl_trace no_alias_font \
no_effects_deserialization no_encode_jpeg no_encode_webp legacy_draw_vertices
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:
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 :wasm_gm_tests --compilation_mode opt --spawn_strategy=local
- rm -rf build/
mkdir build
cp ../../bazel-bin/modules/canvaskit/wasm_gm_tests/wasm_gm_tests.js build/wasm_gm_tests.js
cp ../../bazel-bin/modules/canvaskit/wasm_gm_tests/wasm_gm_tests.wasm build/wasm_gm_tests.wasm
bazel_gms_debug:
# See above note about spawn_strategy
bazelisk build :wasm_gm_tests --compilation_mode dbg --spawn_strategy=local
- rm -rf build/
mkdir build
cp ../../bazel-bin/modules/canvaskit/wasm_gm_tests/wasm_gm_tests.js build/wasm_gm_tests.js
cp ../../bazel-bin/modules/canvaskit/wasm_gm_tests/wasm_gm_tests.wasm build/wasm_gm_tests.wasm
bazel_canvaskit_debug:
# See above note about spawn_strategy
bazelisk build :canvaskit_wasm --compilation_mode dbg --spawn_strategy=local
- 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
bazel_canvaskit_release:
# See above note about spawn_strategy
bazelisk build :canvaskit_wasm --compilation_mode opt --spawn_strategy=local
- 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
ls -l build
bazel_test_canvaskit:
bazelisk test :canvaskit_js_wasms --compilation_mode opt --spawn_strategy=local \
--test_output=streamed
echo "test output in //bazel-testlogs/modules/canvaskit/canvaskit_js_wasms/test.outputs/"
ls ../../bazel-testlogs/modules/canvaskit/canvaskit_js_wasms/test.outputs/
with_debugger:
# Does an incremental build where possible.
./compile.sh debug_build enable_debugger
- rm -rf build/
mkdir build
cp ../../out/canvaskit_wasm_debug/canvaskit.js ./build/
cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
- mkdir ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
cp ./build/canvaskit.js ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
cp ./build/canvaskit.wasm ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
cp ./npm_build/types/index.d.ts ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/canvaskit.d.ts
with_debugger_release:
./compile.sh enable_debugger
- rm -rf build/
mkdir build
cp ../../out/canvaskit_wasm/canvaskit.js ./build/
cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
- mkdir ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
cp ./build/canvaskit.js ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
cp ./build/canvaskit.wasm ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
cp ./npm_build/types/index.d.ts ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/canvaskit.d.ts