Tianjie Xu | a5dcb7c | 2018-09-25 12:25:15 -0700 | [diff] [blame] | 1 | # !/bin/sh -e |
| 2 | |
| 3 | REQUIRED='is required, but not installed.' |
| 4 | bc -v >/dev/null 2>&1 || { echo >&2 "'bc' $REQUIRED"; exit 1; } |
| 5 | if [ `uname -s` != "FreeBSD" ]; then |
| 6 | sed --version >/dev/null 2>&1 || { echo >&2 "'sed' $REQUIRED"; exit 1; } |
| 7 | fi |
| 8 | autoreconf --version >/dev/null 2>&1 || { echo >&2 "'autoconf' $REQUIRED"; exit 1; } |
| 9 | |
| 10 | # If libtool is not installed -> "error: Libtool library used but 'LIBTOOL' is undefined" |
| 11 | |
| 12 | mkdir m4 2>/dev/null |
| 13 | |
| 14 | BROTLI_ABI_HEX=`sed -n 's/#define BROTLI_ABI_VERSION 0x//p' c/common/version.h` |
| 15 | BROTLI_ABI_INT=`echo "ibase=16;$BROTLI_ABI_HEX" | bc` |
| 16 | BROTLI_ABI_CURRENT=`expr $BROTLI_ABI_INT / 16777216` |
| 17 | BROTLI_ABI_REVISION=`expr $BROTLI_ABI_INT / 4096 % 4096` |
| 18 | BROTLI_ABI_AGE=`expr $BROTLI_ABI_INT % 4096` |
| 19 | BROTLI_ABI_INFO="$BROTLI_ABI_CURRENT:$BROTLI_ABI_REVISION:$BROTLI_ABI_AGE" |
| 20 | |
| 21 | BROTLI_VERSION_HEX=`sed -n 's/#define BROTLI_VERSION 0x//p' c/common/version.h` |
| 22 | BROTLI_VERSION_INT=`echo "ibase=16;$BROTLI_VERSION_HEX" | bc` |
| 23 | BROTLI_VERSION_MAJOR=`expr $BROTLI_VERSION_INT / 16777216` |
| 24 | BROTLI_VERSION_MINOR=`expr $BROTLI_VERSION_INT / 4096 % 4096` |
| 25 | BROTLI_VERSION_PATCH=`expr $BROTLI_VERSION_INT % 4096` |
| 26 | BROTLI_VERSION="$BROTLI_VERSION_MAJOR.$BROTLI_VERSION_MINOR.$BROTLI_VERSION_PATCH" |
| 27 | |
| 28 | sed -i.bak -r "s/[0-9]+:[0-9]+:[0-9]+/$BROTLI_ABI_INFO/" Makefile.am |
| 29 | sed -i.bak -r "s/\[[0-9]+\.[0-9]+\.[0-9]+\]/[$BROTLI_VERSION]/" configure.ac |
| 30 | |
| 31 | autoreconf --install --force --symlink || exit $ |