summaryrefslogtreecommitdiffstats
path: root/BaseTools/BinPipWrappers/PosixLike/DevicePath
blob: 0945d86d9209fe4cf438f44a38bf43142162856d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/bin/env bash

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" ] && [ -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" "$@"
  fi
elif [ -e "$dir/../../Source/C/bin/$cmd" ]
then
  exec "$dir/../../Source/C/bin/$cmd" "$@"
else
  echo "Unable to find the real '$cmd' to run"
  echo "This message was printed by"
  echo "  $0"
  exit 127
fi