diff options
Diffstat (limited to 'toolchain/dependencies/check-host-sed.sh')
| -rwxr-xr-x | toolchain/dependencies/check-host-sed.sh | 38 | 
1 files changed, 38 insertions, 0 deletions
| diff --git a/toolchain/dependencies/check-host-sed.sh b/toolchain/dependencies/check-host-sed.sh new file mode 100755 index 000000000..ba99a4258 --- /dev/null +++ b/toolchain/dependencies/check-host-sed.sh @@ -0,0 +1,38 @@ +SEDLIST="/usr/bin/sed /bin/sed sed gnused gsed" + +DIFF=$(which diff) +if ! test -x "$DIFF" ; then +	/bin/echo -e "\n\ntesting for sed needs 'diff' on your build machine\n"; +	exit 1; +fi; + +for SED in $SEDLIST +do +	if ! test -x $SED ; then +		SED=$(which $SED) +		if ! test -x "$SED" > /dev/null ; then +			SED="" +			continue +		fi +	fi + +	echo "HELLO" > .sedtest +	echo "GOODBYE" > .sedtest-correct +	$SED -i -e "s/HELLO/GOODBYE/" .sedtest >/dev/null 2>&1 + +	if test $? != 0 ; then +		SED="" +	elif test -e ".sedtest-e" ; then +		rm -f ".sedtest-e" +		SED="" +	elif ! $DIFF ".sedtest" ".sedtest-correct" > /dev/null ; then +		echo "diff failed" +		SED="" +	fi + +	rm -f .sedtest .sedtest-correct +	if [ ! -z "$SED" ] ; then +		break +	fi +done +echo $SED | 
