6d75d119dc
Change-Id: I0c2f050c70755523abfbe98c17e90a90ecbedff5 Reviewed-on: https://skia-review.googlesource.com/8113 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
42 lines
1.5 KiB
Bash
Executable File
42 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
# Some of HarfBuzz's headers are created at build time using the Ragel
|
|
# State Machine Compiler. To reduce complex dependencies, I pre-built
|
|
# these files:
|
|
# hb-buffer-deserialize-json.hh
|
|
# hb-buffer-deserialize-text.hh
|
|
# hb-ot-shape-complex-indic-machine.hh
|
|
# hb-ot-shape-complex-myanmar-machine.hh
|
|
# hb-ot-shape-complex-use-machine.hh
|
|
# from these sources:
|
|
# ../externals/harfbuzz/src/hb-buffer-deserialize-json.rl
|
|
# ../externals/harfbuzz/src/hb-buffer-deserialize-text.rl
|
|
# ../externals/harfbuzz/src/hb-ot-shape-complex-indic-machine.rl
|
|
# ../externals/harfbuzz/src/hb-ot-shape-complex-myanmar-machine.rl
|
|
# ../externals/harfbuzz/src/hb-ot-shape-complex-use-machine.rl
|
|
#
|
|
# The files in this directory are created by installing the
|
|
# prerequiste packages, checking out a new version of HarfBuzz, doing
|
|
# `./autogen.sh && ./configure && make`, then copying the
|
|
# autogenerated .h and .hh files to this directory.
|
|
|
|
set -e
|
|
set -x
|
|
for package in automake libtool pkg-config ragel gtk-doc-tools; do
|
|
if ! ( dpkg-query -W -f'${Status}' "$package" 2>/dev/null | \
|
|
grep -q "ok installed" ); then
|
|
sudo apt-get install "$package"
|
|
fi
|
|
done
|
|
cd "$(dirname "$0")/../externals/harfbuzz"
|
|
./autogen.sh
|
|
./configure
|
|
make -j4
|
|
cp src/hb-version.h ../../harfbuzz/
|
|
for RAGEL_FILE in src/*.rl; do
|
|
BUILT_HEADER="src/$(basename "$RAGEL_FILE" '.rl').hh"
|
|
if [ -f "$BUILT_HEADER" ]; then
|
|
cp -v "$BUILT_HEADER" ../../harfbuzz/
|
|
fi
|
|
done
|
|
git clean -fxd
|