47 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/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
 |