summaryrefslogtreecommitdiff
path: root/BaseTools/BinWrappers
diff options
context:
space:
mode:
authorCharles Duffy <chaduffy@cisco.com>2016-01-20 05:12:02 +0000
committeryzhu52 <yzhu52@Edk2>2016-01-20 05:12:02 +0000
commit5e407648358d639ed19d228303527133e4c95c25 (patch)
tree168ba8b12e04baed6e0c878b58d2f6f99c97a393 /BaseTools/BinWrappers
parent6928c1d3eed8fb3ab0b136f0ebdcef50f7bda2f3 (diff)
downloadedk2-platforms-5e407648358d639ed19d228303527133e4c95c25.tar.xz
BaseTools: Improve shell wrapper for C build commands
- Avoid obsolescent forms of test builtin (`-a` and `-o`; see APPLICATION USAGE section of http://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html). - Quote all expansions to prevent string-splitting and globbing. - Avoid unspecified "exit -1" (only single-byte integers are valid); instead, use identical exit status to shell command-not-found. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Charles Duffy <chaduffy@cisco.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19695 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'BaseTools/BinWrappers')
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/BootSectImage30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/EfiLdrImage30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/EfiRom30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/GenCrc3230
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/GenFfs30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/GenFv30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/GenFw30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/GenPage30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/GenSec30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/GenVtf30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/GnuGenBootSector30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/LzmaCompress30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/Split30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/TianoCompress30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/VfrCompile30
-rwxr-xr-xBaseTools/BinWrappers/PosixLike/VolInfo30
16 files changed, 240 insertions, 240 deletions
diff --git a/BaseTools/BinWrappers/PosixLike/BootSectImage b/BaseTools/BinWrappers/PosixLike/BootSectImage
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/BootSectImage
+++ b/BaseTools/BinWrappers/PosixLike/BootSectImage
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/EfiLdrImage b/BaseTools/BinWrappers/PosixLike/EfiLdrImage
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/EfiLdrImage
+++ b/BaseTools/BinWrappers/PosixLike/EfiLdrImage
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/EfiRom b/BaseTools/BinWrappers/PosixLike/EfiRom
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/EfiRom
+++ b/BaseTools/BinWrappers/PosixLike/EfiRom
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/GenCrc32 b/BaseTools/BinWrappers/PosixLike/GenCrc32
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/GenCrc32
+++ b/BaseTools/BinWrappers/PosixLike/GenCrc32
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/GenFfs b/BaseTools/BinWrappers/PosixLike/GenFfs
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/GenFfs
+++ b/BaseTools/BinWrappers/PosixLike/GenFfs
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/GenFv b/BaseTools/BinWrappers/PosixLike/GenFv
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/GenFv
+++ b/BaseTools/BinWrappers/PosixLike/GenFv
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/GenFw b/BaseTools/BinWrappers/PosixLike/GenFw
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/GenFw
+++ b/BaseTools/BinWrappers/PosixLike/GenFw
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/GenPage b/BaseTools/BinWrappers/PosixLike/GenPage
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/GenPage
+++ b/BaseTools/BinWrappers/PosixLike/GenPage
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/GenSec b/BaseTools/BinWrappers/PosixLike/GenSec
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/GenSec
+++ b/BaseTools/BinWrappers/PosixLike/GenSec
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/GenVtf b/BaseTools/BinWrappers/PosixLike/GenVtf
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/GenVtf
+++ b/BaseTools/BinWrappers/PosixLike/GenVtf
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/GnuGenBootSector b/BaseTools/BinWrappers/PosixLike/GnuGenBootSector
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/GnuGenBootSector
+++ b/BaseTools/BinWrappers/PosixLike/GnuGenBootSector
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/LzmaCompress b/BaseTools/BinWrappers/PosixLike/LzmaCompress
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/LzmaCompress
+++ b/BaseTools/BinWrappers/PosixLike/LzmaCompress
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/Split b/BaseTools/BinWrappers/PosixLike/Split
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/Split
+++ b/BaseTools/BinWrappers/PosixLike/Split
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/TianoCompress b/BaseTools/BinWrappers/PosixLike/TianoCompress
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/TianoCompress
+++ b/BaseTools/BinWrappers/PosixLike/TianoCompress
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/VfrCompile b/BaseTools/BinWrappers/PosixLike/VfrCompile
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/VfrCompile
+++ b/BaseTools/BinWrappers/PosixLike/VfrCompile
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi
diff --git a/BaseTools/BinWrappers/PosixLike/VolInfo b/BaseTools/BinWrappers/PosixLike/VolInfo
index 4821d24fa7..0945d86d92 100755
--- a/BaseTools/BinWrappers/PosixLike/VolInfo
+++ b/BaseTools/BinWrappers/PosixLike/VolInfo
@@ -1,29 +1,29 @@
#!/usr/bin/env bash
-#python `dirname $0`/RunToolFromSource.py `basename $0` $*
-#exec `dirname $0`/../../../../C/bin/`basename $0` $*
-TOOL_BASENAME=`basename $0`
+full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
+dir=$(dirname "$full_cmd")
+cmd=${full_cmd##*/}
-if [ -n "$WORKSPACE" -a -e $WORKSPACE/Conf/BaseToolsCBinaries ]
+if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ]
then
- exec $WORKSPACE/Conf/BaseToolsCBinaries/$TOOL_BASENAME
-elif [ -n "$WORKSPACE" -a -e $EDK_TOOLS_PATH/Source/C ]
+ exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd"
+elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ]
then
- if [ ! -e $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME ]
+ if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ]
then
- echo BaseTools C Tool binary was not found \($TOOL_BASENAME\)
- echo You may need to run:
+ echo "BaseTools C Tool binary was not found ($cmd)"
+ echo "You may need to run:"
echo " make -C $EDK_TOOLS_PATH/Source/C"
else
- exec $EDK_TOOLS_PATH/Source/C/bin/$TOOL_BASENAME $*
+ exec "$EDK_TOOLS_PATH/Source/C/bin/$cmd" "$@"
fi
-elif [ -e `dirname $0`/../../Source/C/bin/$TOOL_BASENAME ]
+elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
- exec `dirname $0`/../../Source/C/bin/$TOOL_BASENAME $*
+ exec "$dir/../../Source/C/bin/$cmd" "$@"
else
- echo Unable to find the real \'$TOOL_BASENAME\' to run
- echo This message was printed by
+ echo "Unable to find the real '$cmd' to run"
+ echo "This message was printed by"
echo " $0"
- exit -1
+ exit 127
fi