]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/GenFds/FdfParser.py
Sync BaseTools Branch (version r2323) to EDKII main trunk.
[mirror_edk2.git] / BaseTools / Source / Python / GenFds / FdfParser.py
index c4b3f273f07a3ae34384894e1f86adb9dd835e2c..6a9e5b7b4035e6e01a389145ae91b7fed3b72b32 100644 (file)
@@ -45,6 +45,7 @@ from Common.BuildToolError import *
 from Common import EdkLogger\r
 from Common.Misc import PathClass\r
 from Common.String import NormPath\r
+from Common import GlobalData\r
 \r
 import re\r
 import os\r
@@ -2416,10 +2417,20 @@ class FdfParser:
         else:\r
             FfsFileObj.FileName = self.__Token\r
             if FfsFileObj.FileName.replace('$(WORKSPACE)', '').find('$') == -1:\r
-                #do case sensitive check for file path\r
-                ErrorCode, ErrorInfo = PathClass(NormPath(FfsFileObj.FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate()\r
-                if ErrorCode != 0:\r
-                    EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo)\r
+                #\r
+                # For file in OUTPUT_DIRECTORY will not check whether it exist or not at AutoGen phase.\r
+                #\r
+                if not GlobalData.gAutoGenPhase:\r
+                    #do case sensitive check for file path\r
+                    ErrorCode, ErrorInfo = PathClass(NormPath(FfsFileObj.FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate()\r
+                    if ErrorCode != 0:\r
+                        EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo)\r
+                else:\r
+                    if not InputMacroDict["OUTPUT_DIRECTORY"] in FfsFileObj.FileName:\r
+                        #do case sensitive check for file path\r
+                        ErrorCode, ErrorInfo = PathClass(NormPath(FfsFileObj.FileName), GenFdsGlobalVariable.WorkSpaceDir).Validate()\r
+                        if ErrorCode != 0:\r
+                            EdkLogger.error("GenFds", ErrorCode, ExtraData=ErrorInfo)                    \r
 \r
         if not self.__IsToken( "}"):\r
             raise Warning("expected '}'", self.FileName, self.CurrentLineNumber)\r