51d83abcd2
Skia has been using the not entirely public HarfBuzz subsetting API. This API is changing for public release. In order to make the transition from old to new build flags were added, which would require build changes as HarfBuzz is updated downstream. Instead detect the existence of the old or new API and use whichever is present automatically. Change-Id: I0727f97ad7d394dfb24553076d4b383570cf0002 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/437121 Reviewed-by: Garret Rieger <grieger@google.com> Commit-Queue: Ben Wagner <bungeman@google.com> |
||
---|---|---|
.. | ||
BUILD.gn | ||
config-override.h | ||
LICENSE | ||
README |
#!/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. # # These files are now checked into the git repository and the HarfBuzz # maintainers keep them up to date by using the build rules in the HarfBuzz # build. As a result this step is no longer necessary, but if we need to # regenerate these files ourselves, this is how to do it. 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