# Import Modules\r
#\r
import sqlite3\r
-import os\r
-import os.path\r
+import Common.LongFilePathOs as os\r
import pickle\r
import uuid\r
\r
return self._Defs\r
\r
## Retrieve binary files\r
- def _GetBinaryFiles(self):\r
+ def _GetBinaries(self):\r
if self._Binaries == None:\r
self._Binaries = []\r
RecordList = self._RawData[MODEL_EFI_BINARY_FILE, self._Arch, self._Platform]\r
self._Binaries.append(File)\r
return self._Binaries\r
\r
+ ## Retrieve binary files with error check.\r
+ def _GetBinaryFiles(self):\r
+ Binaries = self._GetBinaries()\r
+ if GlobalData.gIgnoreSource and Binaries == []:\r
+ ErrorInfo = "The INF file does not contain any Binaries to use in creating the image\n"\r
+ EdkLogger.error('build', RESOURCE_NOT_AVAILABLE, ExtraData=ErrorInfo, File=self.MetaFile)\r
+\r
+ return Binaries\r
+ ## Check whether it exists the binaries with current ARCH in AsBuild INF\r
+ def _IsSupportedArch(self):\r
+ if self._GetBinaries() and not self._GetSourceFiles():\r
+ return True\r
+ else:\r
+ return False\r
## Retrieve source files\r
def _GetSourceFiles(self):\r
+ #Ignore all source files in a binary build mode\r
+ if GlobalData.gIgnoreSource:\r
+ self._Sources = []\r
+ return self._Sources\r
+\r
if self._Sources == None:\r
self._Sources = []\r
RecordList = self._RawData[MODEL_EFI_SOURCE_FILE, self._Arch, self._Platform]\r
Depex = property(_GetDepex)\r
DepexExpression = property(_GetDepexExpression)\r
IsBinaryModule = property(_IsBinaryModule)\r
+ IsSupportedArch = property(_IsSupportedArch)\r
\r
## Database\r
#\r