]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/BinWrappers/PosixLike/BrotliCompress
BaseTools: Fix BrotliCompress run issue on Linux
[mirror_edk2.git] / BaseTools / BinWrappers / PosixLike / BrotliCompress
index 663860bb3e5719e63085bc67ab400b299a01685c..426f2a2ef19654083c85bcaf7846c30dcbb2c8a9 100755 (executable)
@@ -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