]> git.donarmstrong.com Git - lilypond.git/blob - smart-configure.sh
page-breaking: allow ragged pages to be compressed
[lilypond.git] / smart-configure.sh
1 #!/bin/sh
2
3 srcdir=${srcdir:-.}
4 set -ux
5
6 MAKEFILE_MD5=`find $srcdir -name GNUmakefile | grep -v '^./GNUmakefile$' | sort | md5sum | cut -b 1-32`
7 CONFIGURE_INPUT_MD5=`cat $srcdir/config.make.in $srcdir/config.hh.in $srcdir/GNUmakefile.in | md5sum | cut -b 1-32`
8 CONFIGURE_OPTIONS_MD5=`echo "$@" | tr ' ' '\n' | sed 's/  */ /g' | grep '.' | sort -u | md5sum | cut -b 1-32`
9
10 CONFIGURE_CHECKSUM_FILE=configure.checksum
11 CONFIGURE_CHECKSUM="$MAKEFILE_MD5$CONFIGURE_INPUT_MD5$CONFIGURE_OPTIONS_MD5"
12
13 if test `cat $CONFIGURE_CHECKSUM_FILE` = "$CONFIGURE_CHECKSUM" ; then
14   exit 0
15 fi
16
17 set -e
18 $srcdir/configure "$@"
19 printf "%s" $CONFIGURE_CHECKSUM > $CONFIGURE_CHECKSUM_FILE
20