92eaa3cafd
Bug: skia: Change-Id: I5ab9a4d42e9eec6563499a09e08ed8b183ac91b2 Reviewed-on: https://skia-review.googlesource.com/141426 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
89 lines
2.1 KiB
Bash
Executable File
89 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Copyright 2018 Google LLC
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
|
|
# Run this from $SKIA_HOME, not from the directory this file is in.
|
|
# This expects the environment variable EMSDK to be set
|
|
HTML_SHELL="./experimental/wasm/shell.html"
|
|
|
|
if [[ ! -d $EMSDK ]]; then
|
|
echo "Be sure to set the EMSDK environment variable."
|
|
exit 1
|
|
fi
|
|
|
|
source $EMSDK/emsdk_env.sh
|
|
|
|
echo "Compiling"
|
|
|
|
set -e
|
|
|
|
mkdir -p out/wasm
|
|
|
|
# Use -O0 for larger builds (but generally quicker)
|
|
# Use -Oz for (much slower, but smaller/faster) production builds
|
|
em++ -Oz -std=c++14 \
|
|
-Iinclude/config \
|
|
-Iinclude/core \
|
|
-Iinclude/gpu \
|
|
-Iinclude/pathops \
|
|
-Iinclude/private \
|
|
-Iinclude/utils \
|
|
-Isrc/core \
|
|
-Isrc/gpu \
|
|
-Isrc/shaders \
|
|
-Isrc/opts \
|
|
--bind \
|
|
-s WASM=1 \
|
|
-s NO_EXIT_RUNTIME=1 \
|
|
-s ERROR_ON_UNDEFINED_SYMBOLS=1 \
|
|
-s ERROR_ON_MISSING_LIBRARIES=1 \
|
|
--shell-file $HTML_SHELL \
|
|
-o out/wasm/pathkit.html \
|
|
experimental/wasm/wasm_main.cpp \
|
|
src/core/SkAnalyticEdge.cpp \
|
|
src/core/SkArenaAlloc.cpp \
|
|
src/core/SkBlitter.cpp \
|
|
src/core/SkCoverageDelta.cpp \
|
|
src/core/SkEdge.cpp \
|
|
src/core/SkEdgeBuilder.cpp \
|
|
src/core/SkEdgeClipper.cpp \
|
|
src/core/SkFDot6Constants.cpp \
|
|
src/core/SkGeometry.cpp \
|
|
src/core/SkLineClipper.cpp \
|
|
src/core/SkMallocPixelRef.cpp \
|
|
src/core/SkMath.cpp \
|
|
src/core/SkMatrix.cpp \
|
|
src/core/SkOpts.cpp \
|
|
src/core/SkPath.cpp \
|
|
src/core/SkPathRef.cpp \
|
|
src/core/SkPoint.cpp \
|
|
src/core/SkRect.cpp \
|
|
src/core/SkRegion.cpp \
|
|
src/core/SkRegion_path.cpp \
|
|
src/core/SkScan_Path.cpp \
|
|
src/core/SkStream.cpp \
|
|
src/core/SkString.cpp \
|
|
src/core/SkStringUtils.cpp \
|
|
src/core/SkUtils.cpp \
|
|
src/pathops/*.cpp \
|
|
src/ports/SkDebug_stdio.cpp \
|
|
src/ports/SkMemory_malloc.cpp \
|
|
src/utils/SkParse.cpp \
|
|
src/utils/SkParsePath.cpp
|
|
|
|
# Add the following for debugging (bloats production code size otherwise)
|
|
# list of all (most?) settings: https://github.com/kripken/emscripten/blob/incoming/src/settings.js
|
|
#-s ASSERTIONS=1 \
|
|
#-s DEMANGLE_SUPPORT=1 \
|
|
#-g2
|
|
|
|
# To build with ASM.js (instead of WASM)
|
|
# This doesn't give the same results as native c++ or wasm....
|
|
#-s WASM=0 \
|
|
#-s ALLOW_MEMORY_GROWTH=1 \
|
|
|
|
python -m SimpleHTTPServer 8000
|