From 1afc72ad2da51be5e335b072d036cd1513d2209c Mon Sep 17 00:00:00 2001 From: don bright Date: Wed, 18 Jul 2018 07:35:05 -0500 Subject: [PATCH] Update build-toolchain.bash check the directories where the interfaces and libraries are installed to make sure they dont contain the '&' character, which breaks the build on linux. (some archives of the interfaces and libraries files, have them named as "Interfaces&Libraries") --- build-toolchain.bash | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/build-toolchain.bash b/build-toolchain.bash index e9d35dde5c..2673e7c9aa 100755 --- a/build-toolchain.bash +++ b/build-toolchain.bash @@ -162,6 +162,18 @@ fi INTERFACES_DIR="$SRC/InterfacesAndLibraries" +function verifyInterfaceDirNames() +{ + printf "Searching for special characters in subdirs of $INTERFACES_DIR" + local found=`find "$INTERFACES_DIR" -name ".*" -print ` + if [ "`echo $found | grep \&`" ]; then + echo "\n$found Contained special character &" + return 1 # failure + else + return 0 # success + fi +} + function locateInterfaceThing() { local varname=$1 @@ -198,6 +210,15 @@ function explainInterfaces() echo "Looking for various files in $INTERFACES_DIR/..." +if verifyInterfaceDirNames; then + echo "Directory name looks clean" +else + echo "Directory name contained special character & that would break build" + echo "Please install the Interfaces and Libraries files in a path under" + echo "$INTERFACES_DIR that does not contain the & character" + exit 1 +fi + if locateInterfaceThing CONDITIONALMACROS_H ConditionalMacros.h; then CINCLUDES=`dirname "$CONDITIONALMACROS_H"` else