diff options
Diffstat (limited to 'toolchain/dependencies')
-rw-r--r-- | toolchain/dependencies/dependencies.mk | 25 | ||||
-rwxr-xr-x | toolchain/dependencies/dependencies.sh | 129 |
2 files changed, 154 insertions, 0 deletions
diff --git a/toolchain/dependencies/dependencies.mk b/toolchain/dependencies/dependencies.mk new file mode 100644 index 000000000..1b25a1573 --- /dev/null +++ b/toolchain/dependencies/dependencies.mk @@ -0,0 +1,25 @@ +###################################################################### +# +# Check buildroot dependencies and bail out if the user's +# system is judged to be lacking.... +# +###################################################################### + +dependencies: + $(TOPDIR)/toolchain/dependencies/dependencies.sh + +dependencies-source: + +dependencies-clean: + rm -f $(SSTRIP_TARGET) + +dependencies-dirclean: + true + +############################################################# +# +# Toplevel Makefile options +# +############################################################# +# unconditionally include this one... +TARGETS+=dependencies diff --git a/toolchain/dependencies/dependencies.sh b/toolchain/dependencies/dependencies.sh new file mode 100755 index 000000000..c0a23ae1c --- /dev/null +++ b/toolchain/dependencies/dependencies.sh @@ -0,0 +1,129 @@ +#!/bin/sh + +set -e +#set -x + +echo "Checking build system dependencies:" +echo "" + + +############################################################# +# +# check build system 'make' +# +############################################################# +MAKE=$(which make) +if [ -z "$MAKE" ] ; then + echo "make installed: FALSE" + echo -e "\n\nYou must install 'make' on your build machine\n"; + exit 1; +fi; +MAKE_VERSION=$($MAKE --version 2>&1 | head -n1 | sed -e 's/^.* \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g') +if [ -z "$MAKE_VERSION" ] ; then + echo "make installed: FALSE" + echo -e "\n\nYou must install 'make' on your build machine\n"; + exit 1; +fi; +MAKE_MAJOR=$(echo $MAKE_VERSION | sed -e "s/\..*//g") +MAKE_MINOR=$(echo $MAKE_VERSION | sed -e "s/^$MAKE_MAJOR\.//g" -e "s/\..*//g") +if [ $MAKE_MAJOR -lt 3 -o $MAKE_MAJOR -eq 3 -a $MAKE_MINOR -lt 8 ] ; then + echo "You have make '$MAKE_VERSION' installed. GNU make >=3.80 is required" + exit 1; +fi; +echo "GNU make version '$MAKE_VERSION': Ok" + + + +############################################################# +# +# check build system 'gcc' +# +############################################################# +COMPILER=$(which gcc) +if [ -z "$COMPILER" ] ; then + COMPILER=$(which cc) + if [ -z "$COMPILER" ] ; then + echo "gcc installed: FALSE" + echo -e "\n\nYou must install 'gcc' on your build machine\n"; + exit 1; + fi; +fi; +COMPILER_VERSION=$($COMPILER --version 2>&1 | head -n1 | sed -e 's/^.* \([0-9\.]\)/\1/g' -e "s/[-\ ].*//g") +if [ -z "$COMPILER_VERSION" ] ; then + echo "gcc installed: FALSE" + echo -e "\n\nYou must install 'gcc' on your build machine\n"; + exit 1; +fi; +COMPILER_MAJOR=$(echo $COMPILER_VERSION | sed -e "s/\..*//g") +COMPILER_MINOR=$(echo $COMPILER_VERSION | sed -e "s/^$COMPILER_MAJOR\.//g" -e "s/\..*//g") +if [ $COMPILER_MAJOR -lt 3 -o $COMPILER_MAJOR -eq 2 -a $COMPILER_MINOR -lt 95 ] ; then + echo "You have gcc '$COMPILER_VERSION' installed. gcc >= 2.95 is required" + exit 1; +fi; +echo "gcc version '$COMPILER_VERSION': Ok" + + + + +############################################################# +# +# check build system 'which' +# +############################################################# +if ! which which > /dev/null ; then + echo "which installed: FALSE" + echo -e "\n\nYou must install 'which' on your build machine\n"; + exit 1; +fi; +echo "which installed: Ok" + + +############################################################# +# +# check build system 'bison' +# +############################################################# +if ! which bison > /dev/null ; then + echo "bison installed: FALSE" + echo -e "\n\nYou must install 'bison' on your build machine\n"; + exit 1; +fi; +echo "bison installed: Ok" + + +############################################################# +# +# check build system 'flex' +# +############################################################# +if ! which flex > /dev/null ; then + echo "flex installed: FALSE" + echo -e "\n\nYou must install 'flex' on your build machine\n"; + exit 1; +fi; +echo "flex installed: Ok" + + +############################################################# +# +# check build system 'gettext' +# +############################################################# +if ! which msgfmt > /dev/null ; then \ + echo "gettext installed: FALSE" + echo -e "\n\nYou must install 'gettext' on your build machine\n"; \ + exit 1; \ +fi; +echo "gettext installed: Ok" + + + + + +############################################################# +# +# All done +# +############################################################# +echo "Build system dependencies: Ok" + |