OLD | NEW |
(Empty) | |
| 1 #!/bin/sh |
| 2 # Some of HarfBuzz's headers are created at build time using the Ragel |
| 3 # State Machine Compiler. To reduce complex dependencies, I pre-built |
| 4 # these files: |
| 5 # hb-buffer-deserialize-json.hh |
| 6 # hb-buffer-deserialize-text.hh |
| 7 # hb-ot-shape-complex-indic-machine.hh |
| 8 # hb-ot-shape-complex-myanmar-machine.hh |
| 9 # hb-ot-shape-complex-use-machine.hh |
| 10 # from these sources: |
| 11 # ../externals/harfbuzz/src/hb-buffer-deserialize-json.rl |
| 12 # ../externals/harfbuzz/src/hb-buffer-deserialize-text.rl |
| 13 # ../externals/harfbuzz/src/hb-ot-shape-complex-indic-machine.rl |
| 14 # ../externals/harfbuzz/src/hb-ot-shape-complex-myanmar-machine.rl |
| 15 # ../externals/harfbuzz/src/hb-ot-shape-complex-use-machine.rl |
| 16 # |
| 17 # The files in this directory are created by installing the |
| 18 # prerequiste packages, checking out a new version of HarfBuzz, doing |
| 19 # `./autogen.sh && ./configure && make`, then copying the |
| 20 # autogenerated .h and .hh files to this directory. |
| 21 |
| 22 set -e |
| 23 set -x |
| 24 for package in automake libtool pkg-config ragel gtk-doc-tools; do |
| 25 if ! ( dpkg-query -W -f'${Status}' "$package" 2>/dev/null | \ |
| 26 grep -q "ok installed" ); then |
| 27 sudo apt-get install "$package" |
| 28 fi |
| 29 done |
| 30 cd "$(dirname "$0")/../externals/harfbuzz" |
| 31 ./autogen.sh |
| 32 ./configure |
| 33 make -j4 |
| 34 cp src/hb-version.h ../../harfbuzz/ |
| 35 for RAGEL_FILE in src/*.rl; do |
| 36 BUILT_HEADER="src/$(basename "$RAGEL_FILE" '.rl').hh" |
| 37 if [ -f "$BUILT_HEADER" ]; then |
| 38 cp -v "$BUILT_HEADER" ../../harfbuzz/ |
| 39 fi |
| 40 done |
| 41 git clean -fxd |
OLD | NEW |