blob: 59f86d122df6e6d757b8eb193828e1239c1e9b46 [file] [log] [blame]
#!/bin/bash
set -ex
source ./get_skia2.sh
source ./cache_helper.sh
ARCH=$1
CONFIG=$2
build_skia_android() {
cd $SKIA_DIR_NAME
if [ "$ARCH" != "x86" ] &&
[ "$ARCH" != "x64" ] &&
[ "$ARCH" != "arm" ] &&
[ "$ARCH" != "arm64" ]; then
printf "Invalid architecture: '%s'. Choose one between 'x86', \
'x64', \
'arm', \
or 'arm64'" "$ARCH"
exit 1
fi
BUILD_FLAGS=
EXTRA_CFLAGS=
if [ "$CONFIG" = "debug" ]; then
BUILD_FLAGS="is_official_build=false is_debug=true skia_enable_tools=false"
else # release
BUILD_FLAGS="is_official_build=true is_debug=false"
EXTRA_CFLAGS="\
\"-fno-rtti\", \
\"-flto=full\", \
\"-fembed-bitcode\", \
\"-DRIVE_OPTIMIZED\", \
\"-DSK_DISABLE_SKPICTURE\", \
\"-DSK_DISABLE_TEXT\", \
\"-DSK_DISABLE_LEGACY_SHADERCONTEXT\", \
\"-DSK_DISABLE_LOWP_RASTER_PIPELINE\", \
\"-DSK_FORCE_RASTER_PIPELINE_BLITTER\", \
\"-DSK_DISABLE_AAA\", \
\"-DSK_DISABLE_EFFECT_DESERIALIZATION\" \
"
fi
# Useful for debugging:
# bin/gn args --list out/${ARCH}
bin/gn gen out/"${CONFIG}"/"${ARCH}" --args=" \
ndk=\"${NDK_PATH}\" \
target_cpu=\"${ARCH}\" \
extra_cflags=[ \
${EXTRA_CFLAGS} \
] \
\
${BUILD_FLAGS} \
skia_gl_standard=\"gles\"
skia_use_zlib=true \
skia_use_egl=true \
skia_use_gl=true \
skia_enable_gpu=true \
skia_use_libpng_decode=false \
skia_use_libpng_encode=false \
skia_use_angle=false \
skia_use_dng_sdk=false \
skia_use_freetype=false \
skia_use_expat=false \
skia_use_fontconfig=false \
skia_use_system_freetype2=false \
skia_use_icu=false \
skia_use_libheif=false \
skia_use_system_libpng=false \
skia_use_system_libjpeg_turbo=false \
skia_use_system_libwebp=false \
skia_use_libjpeg_turbo_encode=false \
skia_use_libjpeg_turbo_decode=false \
skia_use_libwebp_encode=false \
skia_use_libwebp_decode=false \
skia_use_lua=false \
skia_use_piex=false \
skia_use_vulkan=false \
skia_use_system_zlib=false \
skia_enable_fontmgr_empty=false \
skia_enable_spirv_validation=false \
skia_enable_pdf=false \
skia_enable_skottie=false \
"
ninja -C out/"${CONFIG}"/"${ARCH}"
cd ..
}
if is_build_cached_locally; then
echo "Build is cached, nothing to do."
else
if is_build_cached_remotely; then
pull_cache
else
getSkia
build_skia_android
# hmm not the appiest with this guy
if [ "$CONFIG" != "debug" ]; then
OUTPUT_CACHE=out/"${CONFIG}"/$ARCH upload_cache
fi
fi
fi