# This file is used to parse meta files\r
#\r
# Copyright (c) 2008 - 2018, 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
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
\r
##\r
## A decorator used to parse macro definition\r
def ParseMacro(Parser):\r
def MacroParser(self):\r
- Match = gMacroDefPattern.match(self._CurrentLine)\r
+ Match = GlobalData.gMacroDefPattern.match(self._CurrentLine)\r
if not Match:\r
# Not 'DEFINE/EDK_GLOBAL' statement, call decorated method\r
Parser(self)\r
EdkLogger.error('Parser', FORMAT_INVALID, "%s can only be defined via environment variable" % Name,\r
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)\r
# Only upper case letters, digit and '_' are allowed\r
- if not gMacroNamePattern.match(Name):\r
+ if not GlobalData.gMacroNamePattern.match(Name):\r
EdkLogger.error('Parser', FORMAT_INVALID, "The macro name must be in the pattern [A-Z][A-Z0-9_]*",\r
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex+1)\r
\r
if not Value:\r
continue\r
\r
- if Value.upper().find('$(EFI_SOURCE)\Edk'.upper()) > -1 or Value.upper().find('$(EFI_SOURCE)/Edk'.upper()) > -1:\r
- Value = '$(EDK_SOURCE)' + Value[17:]\r
- if Value.find('$(EFI_SOURCE)') > -1 or Value.find('$(EDK_SOURCE)') > -1:\r
- pass\r
- elif Value.startswith('.'):\r
- pass\r
- elif Value.startswith('$('):\r
- pass\r
- else:\r
- Value = '$(EFI_SOURCE)/' + Value\r
-\r
self._ValueList[Index] = ReplaceMacro(Value, Macros)\r
\r
## Parse [Sources] section\r
TAB_PCDS_DYNAMIC_EX_HII_NULL.upper() : MODEL_PCD_DYNAMIC_EX_HII,\r
TAB_PCDS_DYNAMIC_EX_VPD_NULL.upper() : MODEL_PCD_DYNAMIC_EX_VPD,\r
TAB_COMPONENTS.upper() : MODEL_META_DATA_COMPONENT,\r
- TAB_COMPONENTS_SOURCE_OVERRIDE_PATH.upper() : MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH,\r
TAB_DSC_DEFINES.upper() : MODEL_META_DATA_HEADER,\r
TAB_DSC_DEFINES_DEFINE : MODEL_META_DATA_DEFINE,\r
TAB_DSC_DEFINES_EDKGLOBAL : MODEL_META_DATA_GLOBAL_DEFINE,\r
\r
self._ValueList[0:len(TokenList)] = TokenList\r
\r
- def _CompponentSourceOverridePathParser(self):\r
- self._ValueList[0] = self._CurrentLine\r
\r
## [BuildOptions] section parser\r
@ParseMacro\r
MODEL_PCD_DYNAMIC_EX_HII : self.__ProcessPcd,\r
MODEL_PCD_DYNAMIC_EX_VPD : self.__ProcessPcd,\r
MODEL_META_DATA_COMPONENT : self.__ProcessComponent,\r
- MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH : self.__ProcessSourceOverridePath,\r
MODEL_META_DATA_BUILD_OPTION : self.__ProcessBuildOption,\r
MODEL_UNKNOWN : self._Skip,\r
MODEL_META_DATA_USER_EXTENSION : self._Skip,\r
# Allow using system environment variables in path after !include\r
#\r
__IncludeMacros['WORKSPACE'] = GlobalData.gGlobalDefines['WORKSPACE']\r
- if "ECP_SOURCE" in GlobalData.gGlobalDefines.keys():\r
- __IncludeMacros['ECP_SOURCE'] = GlobalData.gGlobalDefines['ECP_SOURCE']\r
- #\r
- # During GenFds phase call DSC parser, will go into this branch.\r
- #\r
- elif "ECP_SOURCE" in GlobalData.gCommandLineDefines.keys():\r
- __IncludeMacros['ECP_SOURCE'] = GlobalData.gCommandLineDefines['ECP_SOURCE']\r
\r
- __IncludeMacros['EFI_SOURCE'] = GlobalData.gGlobalDefines['EFI_SOURCE']\r
- __IncludeMacros['EDK_SOURCE'] = GlobalData.gGlobalDefines['EDK_SOURCE']\r
#\r
# Allow using MACROs comes from [Defines] section to keep compatible.\r
#\r
def __ProcessComponent(self):\r
self._ValueList[0] = ReplaceMacro(self._ValueList[0], self._Macros)\r
\r
- def __ProcessSourceOverridePath(self):\r
- self._ValueList[0] = ReplaceMacro(self._ValueList[0], self._Macros)\r
-\r
def __ProcessBuildOption(self):\r
self._ValueList = [ReplaceMacro(Value, self._Macros, RaiseError=False)\r
for Value in self._ValueList]\r
MODEL_PCD_DYNAMIC_EX_HII : _PcdParser,\r
MODEL_PCD_DYNAMIC_EX_VPD : _PcdParser,\r
MODEL_META_DATA_COMPONENT : _ComponentParser,\r
- MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH : _CompponentSourceOverridePathParser,\r
MODEL_META_DATA_BUILD_OPTION : _BuildOptionParser,\r
MODEL_UNKNOWN : MetaFileParser._Skip,\r
MODEL_META_DATA_USER_EXTENSION : MetaFileParser._Skip,\r