## @file\r
# This file is used to generate DEPEX file for module's dependency expression\r
#\r
-# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
## Import Modules\r
#\r
import sys\r
-import os\r
+import Common.LongFilePathOs as os\r
import re\r
import traceback\r
-\r
+from Common.LongFilePathSupport import OpenLongFilePath as open\r
from StringIO import StringIO\r
from struct import pack\r
from Common.BuildToolError import *\r
"UEFI_DRIVER" : "DXE",\r
"UEFI_APPLICATION" : "DXE",\r
"SMM_CORE" : "DXE",\r
+ "MM_STANDALONE" : "MM",\r
+ "MM_CORE_STANDALONE" : "MM",\r
}\r
\r
## Convert dependency expression string into EFI internal representation\r
"FALSE" : 0x07,\r
"END" : 0x08,\r
"SOR" : 0x09\r
+ },\r
+\r
+ "MM" : {\r
+ "BEFORE": 0x00,\r
+ "AFTER" : 0x01,\r
+ "PUSH" : 0x02,\r
+ "AND" : 0x03,\r
+ "OR" : 0x04,\r
+ "NOT" : 0x05,\r
+ "TRUE" : 0x06,\r
+ "FALSE" : 0x07,\r
+ "END" : 0x08,\r
+ "SOR" : 0x09\r
}\r
}\r
\r
# don't generate depex if only TRUE operand left\r
if self.ModuleType == 'PEIM' and len(NewOperand) == 1 and NewOperand[0] == 'TRUE':\r
self.PostfixNotation = []\r
- return \r
+ return\r
\r
# don't generate depex if all operands are architecture protocols\r
- if self.ModuleType in ['UEFI_DRIVER', 'DXE_DRIVER', 'DXE_RUNTIME_DRIVER', 'DXE_SAL_DRIVER', 'DXE_SMM_DRIVER'] and \\r
+ if self.ModuleType in ['UEFI_DRIVER', 'DXE_DRIVER', 'DXE_RUNTIME_DRIVER', 'DXE_SAL_DRIVER', 'DXE_SMM_DRIVER', 'MM_STANDALONE'] and \\r
Op == 'AND' and \\r
self.ArchProtocols == set([GuidStructureStringToGuidString(Guid) for Guid in AllOperand]):\r
self.PostfixNotation = []\r
Dpx = DependencyExpression(DxsString, Option.ModuleType, Option.Optimize)\r
if Option.OutputFile != None:\r
FileChangeFlag = Dpx.Generate(Option.OutputFile)\r
- if not FileChangeFlag and DxsFile: \r
+ if not FileChangeFlag and DxsFile:\r
#\r
# Touch the output file if its time stamp is older than the original\r
# DXS file to avoid re-invoke this tool for the dependency check in build rule.\r