from __future__ import absolute_import\r
from collections import OrderedDict, defaultdict\r
from Common.DataType import SUP_MODULE_USER_DEFINED\r
+from Common.DataType import SUP_MODULE_HOST_APPLICATION\r
from .BuildClassObject import LibraryClassObject\r
import Common.GlobalData as GlobalData\r
from Workspace.BuildClassObject import StructurePcd\r
# If a module has a MODULE_TYPE of USER_DEFINED,\r
# do not link in NULL library class instances from the global [LibraryClasses.*] sections.\r
#\r
- if Module.ModuleType != SUP_MODULE_USER_DEFINED:\r
+ if Module.ModuleType != SUP_MODULE_USER_DEFINED and Module.ModuleType != SUP_MODULE_HOST_APPLICATION:\r
for LibraryClass in Platform.LibraryClasses.GetKeys():\r
if LibraryClass.startswith("NULL") and Platform.LibraryClasses[LibraryClass, Module.ModuleType]:\r
Module.LibraryClasses[LibraryClass] = Platform.LibraryClasses[LibraryClass, Module.ModuleType]\r
LibraryModule.LibraryClass.append(LibraryClassObject(LibraryClassName, [ModuleType]))\r
elif LibraryModule.LibraryClass is None \\r
or len(LibraryModule.LibraryClass) == 0 \\r
- or (ModuleType != SUP_MODULE_USER_DEFINED\r
+ or (ModuleType != SUP_MODULE_USER_DEFINED and ModuleType != SUP_MODULE_HOST_APPLICATION\r
and ModuleType not in LibraryModule.LibraryClass[0].SupModList):\r
# only USER_DEFINED can link against any library instance despite of its SupModList\r
if FileName:\r