aboutsummaryrefslogtreecommitdiffhomepage
path: root/third_party/harfbuzz/README
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2016-05-03 15:09:52 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-05-03 15:09:52 -0700
commit00d44e014c805d06a59a74cd744e24482c218e9b (patch)
treeaf206d235dc1ebaf1a00908ea6882192ea7d1a9b /third_party/harfbuzz/README
parent02125d10d5d021f1f3190ca95a3ef62b43349a64 (diff)
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
Diffstat (limited to 'third_party/harfbuzz/README')
-rw-r--r--third_party/harfbuzz/README41
1 files changed, 41 insertions, 0 deletions
diff --git a/third_party/harfbuzz/README b/third_party/harfbuzz/README
new file mode 100644
index 0000000000..89bf93fa59
--- /dev/null
+++ b/third_party/harfbuzz/README
@@ -0,0 +1,41 @@
+#!/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