diff options
author | Yonghong Zhu <yonghong.zhu@intel.com> | 2017-12-27 14:12:29 +0800 |
---|---|---|
committer | Yonghong Zhu <yonghong.zhu@intel.com> | 2017-12-31 13:10:49 +0800 |
commit | 7dbc50bd244d95fdc1741b9cfc561f0bfd724de1 (patch) | |
tree | 7f317c3cd6f55654c41e88a39ae76881844f61c6 /BaseTools/BinWrappers | |
parent | f13f306b3b07330191ba4620e49c2a9151b8e575 (diff) | |
download | edk2-7dbc50bd244d95fdc1741b9cfc561f0bfd724de1.tar.gz edk2-7dbc50bd244d95fdc1741b9cfc561f0bfd724de1.tar.bz2 edk2-7dbc50bd244d95fdc1741b9cfc561f0bfd724de1.zip |
BaseTools: Add DevicePath support for PCD values
Use C code parse device path to output hex string, and Python
run command when PCD Value need device path parse.
https://bugzilla.tianocore.org/show_bug.cgi?id=541
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com>
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Diffstat (limited to 'BaseTools/BinWrappers')
-rwxr-xr-x | BaseTools/BinWrappers/PosixLike/DevicePath | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/BaseTools/BinWrappers/PosixLike/DevicePath b/BaseTools/BinWrappers/PosixLike/DevicePath new file mode 100755 index 0000000000..0945d86d92 --- /dev/null +++ b/BaseTools/BinWrappers/PosixLike/DevicePath @@ -0,0 +1,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 + |