the last fix call os.path.normpath() function, which removes the trailing slash character, it cause NASM failure for ResetVector driver.
Cc: Liming Gao <liming....@intel.com> Cc: Laszlo Ersek <ler...@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong....@intel.com> --- BaseTools/Source/Python/Common/MultipleWorkspace.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/BaseTools/Source/Python/Common/MultipleWorkspace.py b/BaseTools/Source/Python/Common/MultipleWorkspace.py index 4e4c37a..2a76d49 100644 --- a/BaseTools/Source/Python/Common/MultipleWorkspace.py +++ b/BaseTools/Source/Python/Common/MultipleWorkspace.py @@ -129,17 +129,20 @@ class MultipleWorkspace(object): def handleWsMacro(cls, PathStr): if TAB_WORKSPACE in PathStr: PathList = PathStr.split() if PathList: for i, str in enumerate(PathList): - if str.find(TAB_WORKSPACE) != -1: - MacroStartPos = str.find(TAB_WORKSPACE) - MacroEndPos = str.find(')', MacroStartPos) - Substr = str[MacroEndPos+1:] - if Substr.startswith('/') or Substr.startswith('\\'): - Substr = Substr[1:] - PathList[i] = str[0:MacroStartPos] + os.path.normpath(cls.join(cls.WORKSPACE, Substr)) + MacroStartPos = str.find(TAB_WORKSPACE) + if MacroStartPos != -1: + Substr = str[MacroStartPos:] + Path = Substr.replace(TAB_WORKSPACE, cls.WORKSPACE).strip() + if not os.path.exists(Path): + for Pkg in cls.PACKAGES_PATH: + Path = Substr.replace(TAB_WORKSPACE, Pkg).strip() + if os.path.exists(Path): + break + PathList[i] = str[0:MacroStartPos] + Path PathStr = ' '.join(PathList) return PathStr ## getPkgPath() # -- 2.6.1.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel