skia2/third_party/harfbuzz/README
halcanary 00d44e014c Start building HarfBuzz+Skia example
(prevent bitrot in example code)

tools/using_skia_and_harfbuzz.cpp was written by aam@:
  https://github.com/aam/skiaex

update HarfBuzz to latest release: 1.2.7

BUG=skia:4742
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1940393002

Review-Url: https://codereview.chromium.org/1940393002
2016-05-03 15:09:52 -07:00

42 lines
1.5 KiB
Bash

#!/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