- ModuleType = M.ModuleType\r
- if not ModuleType:\r
- ModuleType = gComponentType2ModuleType.get(M.ComponentType, "")\r
- #\r
- # If a module complies to PI 1.1, promote Module type to "SMM_DRIVER"\r
- #\r
- if ModuleType == "DXE_SMM_DRIVER":\r
- PiSpec = M.Module.Specification.get("PI_SPECIFICATION_VERSION", "0x00010000")\r
- if int(PiSpec, 0) >= 0x0001000A:\r
- ModuleType = "SMM_DRIVER"\r
- self.DriverType = gDriverTypeMap.get(ModuleType, "")\r
+ if not M.IsLibrary:\r
+ ModuleType = M.ModuleType\r
+ if not ModuleType:\r
+ ModuleType = gComponentType2ModuleType.get(M.ComponentType, "")\r
+ #\r
+ # If a module complies to PI 1.1, promote Module type to "SMM_DRIVER"\r
+ #\r
+ if ModuleType == "DXE_SMM_DRIVER":\r
+ PiSpec = M.Module.Specification.get("PI_SPECIFICATION_VERSION", "0x00010000")\r
+ if int(PiSpec, 0) >= 0x0001000A:\r
+ ModuleType = "SMM_DRIVER"\r
+ self.DriverType = gDriverTypeMap.get(ModuleType, "0x2 (FREE_FORM)")\r