summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYingke Liu <yingke.d.liu@intel.com>2014-09-16 08:33:40 +0000
committeryingke <yingke@6f19259b-4bc3-4df7-8a09-765794883524>2014-09-16 08:33:40 +0000
commit9b9500a1c9e620c9aac565679e2eb77255ba3306 (patch)
treef3504990038d8bc43ab31fce2462852916165011
parent122d9317cf4ebc474586fcd726b59f15b7b3feb0 (diff)
downloadedk2-platforms-9b9500a1c9e620c9aac565679e2eb77255ba3306.tar.xz
Support DSC and FDF file out of WORKSPACE by GenFds.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yingke Liu <yingke.d.liu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16113 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--BaseTools/Source/Python/Common/Misc.py5
-rw-r--r--BaseTools/Source/Python/GenFds/GenFds.py8
2 files changed, 6 insertions, 7 deletions
diff --git a/BaseTools/Source/Python/Common/Misc.py b/BaseTools/Source/Python/Common/Misc.py
index 01297cd0a9..19a1319639 100644
--- a/BaseTools/Source/Python/Common/Misc.py
+++ b/BaseTools/Source/Python/Common/Misc.py
@@ -526,6 +526,7 @@ def RealPath(File, Dir='', OverrideDir=''):
return NewFile
def RealPath2(File, Dir='', OverrideDir=''):
+ NewFile = None
if OverrideDir:
NewFile = GlobalData.gAllFiles[os.path.normpath(os.path.join(OverrideDir, File))]
if NewFile:
@@ -535,8 +536,10 @@ def RealPath2(File, Dir='', OverrideDir=''):
return NewFile[len(OverrideDir)+1:], NewFile[0:len(OverrideDir)]
if GlobalData.gAllFiles:
NewFile = GlobalData.gAllFiles[os.path.normpath(os.path.join(Dir, File))]
- else:
+ if not NewFile:
NewFile = os.path.normpath(os.path.join(Dir, File))
+ if not os.path.exists(NewFile):
+ return None, None
if NewFile:
if Dir:
if Dir[-1] == os.path.sep:
diff --git a/BaseTools/Source/Python/GenFds/GenFds.py b/BaseTools/Source/Python/GenFds/GenFds.py
index c4e433d425..c2ad4e0e2a 100644
--- a/BaseTools/Source/Python/GenFds/GenFds.py
+++ b/BaseTools/Source/Python/GenFds/GenFds.py
@@ -105,8 +105,6 @@ def main():
FdfFilename = os.path.join(GenFdsGlobalVariable.WorkSpaceDir, FdfFilename)
if not os.path.exists(FdfFilename):
EdkLogger.error("GenFds", FILE_NOT_FOUND, ExtraData=FdfFilename)
- if os.path.normcase (FdfFilename).find(Workspace) != 0:
- EdkLogger.error("GenFds", FILE_NOT_FOUND, "FdfFile doesn't exist in Workspace!")
GenFdsGlobalVariable.FdfFile = FdfFilename
GenFdsGlobalVariable.FdfFileTimeStamp = os.path.getmtime(FdfFilename)
@@ -136,10 +134,8 @@ def main():
if not os.path.exists(ActivePlatform) :
EdkLogger.error("GenFds", FILE_NOT_FOUND, "ActivePlatform doesn't exist!")
- if os.path.normcase (ActivePlatform).find(Workspace) != 0:
- EdkLogger.error("GenFds", FILE_NOT_FOUND, "ActivePlatform doesn't exist in Workspace!")
-
- ActivePlatform = ActivePlatform[len(Workspace):]
+ if os.path.normcase (ActivePlatform).find(Workspace) == 0:
+ ActivePlatform = ActivePlatform[len(Workspace):]
if len(ActivePlatform) > 0 :
if ActivePlatform[0] == '\\' or ActivePlatform[0] == '/':
ActivePlatform = ActivePlatform[1:]