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
 |