]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/GenMake.py
BaseTools: Handle the bytes and str difference
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / GenMake.py
index c42053eb4ca948d58c6d3d247dfd172fec40c206..dc4cd688f4fe60e5dc9c4b9b75935f48a3328e80 100644 (file)
@@ -1038,17 +1038,21 @@ cleanlib:
                 CurrentFileDependencyList = DepDb[F]\r
             else:\r
                 try:\r
-                    Fd = open(F.Path, 'r')\r
+                    Fd = open(F.Path, 'rb')\r
+                    FileContent = Fd.read()\r
+                    Fd.close()\r
                 except BaseException as X:\r
                     EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=F.Path + "\n\t" + str(X))\r
-\r
-                FileContent = Fd.read()\r
-                Fd.close()\r
                 if len(FileContent) == 0:\r
                     continue\r
 \r
                 if FileContent[0] == 0xff or FileContent[0] == 0xfe:\r
-                    FileContent = unicode(FileContent, "utf-16")\r
+                    FileContent = FileContent.decode('utf-16')\r
+                else:\r
+                    try:\r
+                        FileContent = str(FileContent)\r
+                    except:\r
+                        pass\r
                 IncludedFileList = gIncludePattern.findall(FileContent)\r
 \r
                 for Inc in IncludedFileList:\r