diff options
author | Yunhua Feng <fengyunhua@byosoft.com.cn> | 2021-02-04 16:36:10 +0800 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2021-02-22 09:51:17 +0000 |
commit | 078400ee15e7b250e4dfafd840c2e0c19835e16b (patch) | |
tree | 5388c26bdba4122d018dfab5aca55f3ba457c06e /BaseTools/BinPipWrappers | |
parent | 44ae214591e58af468eacb7b873eaa0bc187c4fa (diff) | |
download | edk2-078400ee15e7b250e4dfafd840c2e0c19835e16b.tar.gz edk2-078400ee15e7b250e4dfafd840c2e0c19835e16b.tar.bz2 edk2-078400ee15e7b250e4dfafd840c2e0c19835e16b.zip |
BaseTools: Fix BrotliCompress run issue on Linux
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3210
BrotliCompress changed, but not completely on Linux
Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.chen@intel.com>
Signed-off-by: Yunhua Feng <fengyunhua@byosoft.com.cn>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
Diffstat (limited to 'BaseTools/BinPipWrappers')
-rwxr-xr-x | BaseTools/BinPipWrappers/PosixLike/BrotliCompress | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/BaseTools/BinPipWrappers/PosixLike/BrotliCompress b/BaseTools/BinPipWrappers/PosixLike/BrotliCompress index 663860bb3e..426f2a2ef1 100755 --- a/BaseTools/BinPipWrappers/PosixLike/BrotliCompress +++ b/BaseTools/BinPipWrappers/PosixLike/BrotliCompress @@ -8,6 +8,10 @@ QLT="-q 9 -w 22" ARGS= +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##*/} + while test $# -gt 0 do case $1 in @@ -31,4 +35,26 @@ do shift done -exec Brotli $QLT $ARGS + +if [ -n "$WORKSPACE" ] && [ -e "$WORKSPACE/Conf/BaseToolsCBinaries" ] +then + exec "$WORKSPACE/Conf/BaseToolsCBinaries/$cmd" +elif [ -n "$WORKSPACE" ] && [ -e "$EDK_TOOLS_PATH/Source/C" ] +then + if [ ! -e "$EDK_TOOLS_PATH/Source/C/bin/$cmd" ] + then + 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/$cmd" $QLT $ARGS + fi +elif [ -e "$dir/../../Source/C/bin/$cmd" ] +then + exec "$dir/../../Source/C/bin/$cmd" $QLT $ARGS +else + echo "Unable to find the real '$cmd' to run" + echo "This message was printed by" + echo " $0" + exit 127 +fi |