Index: third_party/harfbuzz/README |
diff --git a/third_party/harfbuzz/README b/third_party/harfbuzz/README |
new file mode 100644 |
index 0000000000000000000000000000000000000000..89bf93fa59c16a148400f12ae6650cee16c663de |
--- /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 |