Hi Liming and Cran, We should merge this fixing patch asap as it influences BaseTool's usage.
Thanks, Christine > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Yuwei > Chen > Sent: Monday, January 8, 2024 9:16 AM > To: Joey Vagedes <joey.vage...@gmail.com>; devel@edk2.groups.io > Cc: Rebecca Cran <rebe...@bsdio.com>; Gao, Liming > <gaolim...@byosoft.com.cn>; Feng, Bob C <bob.c.f...@intel.com> > Subject: Re: [edk2-devel] [PATCH v1 1/1] BaseTools: Fix raw strings containing > valid escape characters > > Hi Joey, > > Thanks for fixing. > > Reviewed-by: Yuwei Chen <yuwei.c...@intel.com> > > > -----Original Message----- > > From: Joey Vagedes <joey.vage...@gmail.com> > > Sent: Friday, December 29, 2023 12:48 AM > > To: devel@edk2.groups.io > > Cc: Rebecca Cran <rebe...@bsdio.com>; Gao, Liming > > <gaolim...@byosoft.com.cn>; Feng, Bob C <bob.c.f...@intel.com>; Chen, > > Christine <yuwei.c...@intel.com> > > Subject: [PATCH v1 1/1] BaseTools: Fix raw strings containing valid > > escape characters > > > > Fixes raw regex strings that contain valid (and purposeful) escape > > characters as they are being treated as individual characters rather > > than the single escaped character they represent (i.e. '\t' is being > > treated as > a '\' and a 't' > > rather than a single tab character). > > > > Signed-off-by: Joey Vagedes <joey.vage...@gmail.com> > > Cc: Rebecca Cran <rebe...@bsdio.com> > > Cc: Liming Gao <gaolim...@byosoft.com.cn> > > Cc: Bob Feng <bob.c.f...@intel.com> > > Cc: Yuwei Chen <yuwei.c...@intel.com> > > --- > > BaseTools/Source/Python/AutoGen/GenMake.py | 2 +- > > BaseTools/Source/Python/Common/Misc.py | 2 +- > > BaseTools/Source/Python/Workspace/DscBuildData.py | 4 ++-- > > 3 files changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py > > b/BaseTools/Source/Python/AutoGen/GenMake.py > > index c416fe172fe5..fbd35d498923 100755 > > --- a/BaseTools/Source/Python/AutoGen/GenMake.py > > +++ b/BaseTools/Source/Python/AutoGen/GenMake.py > > @@ -28,7 +28,7 @@ from Common.DataType import > TAB_COMPILER_MSFT > > gIncludePattern = re.compile(r"^[ \t]*[#%]?[ \t]*include(?:[ > > \t]*(?:\\(?:\r\n|\r|\n))*[ \t]*)*(?:\(?[ \"<]?[ \t]*)([-\w.\\/() > > \t]+)(?:[ \t]*[\">]?\)?)", re.MULTILINE | re.UNICODE | > > re.IGNORECASE) ## Regular expression for matching macro used in > > header file inclusion-gMacroPattern = re.compile(r"([_A-Z][_A-Z0-9]*)[ > > \t]*\((.+)\)", re.UNICODE)+gMacroPattern = > > re.compile("([_A-Z][_A-Z0-9]*)[ \t]*\\((.+)\\)", > > re.UNICODE) gIsFileMap = {} diff --git > > a/BaseTools/Source/Python/Common/Misc.py > > b/BaseTools/Source/Python/Common/Misc.py > > index f87d9dbdba39..34bfc90abd94 100755 > > --- a/BaseTools/Source/Python/Common/Misc.py > > +++ b/BaseTools/Source/Python/Common/Misc.py > > @@ -1926,4 +1926,4 @@ def CopyDict(ori_dict): > > # Remove the c/c++ comments: // and /* */ # def > > RemoveCComments(ctext):- return re.sub(r'//.*?\n|/\*.*?\*/', '\n', ctext, > > flags=re.S)+ return re.sub('//.*?\n|/\\*.*?\\*/', '\n', ctext, > > flags=re.S)diff -- > git > > a/BaseTools/Source/Python/Workspace/DscBuildData.py > > b/BaseTools/Source/Python/Workspace/DscBuildData.py > > index 817cdbe5f19c..4768099343e5 100644 > > --- a/BaseTools/Source/Python/Workspace/DscBuildData.py > > +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py > > @@ -2840,7 +2840,7 @@ class DscBuildData(PlatformBuildClassObject): > > # start generating makefile MakeApp = PcdMakefileHeader > > if > > sys.platform == "win32":- MakeApp = MakeApp + r'APPFILE > > = %s\%s.exe\n' % (self.OutputPath, PcdValueInitName) + r'APPNAME = > > %s\n' % (PcdValueInitName) + r'OBJECTS = %s\%s.obj %s.obj\n' % > > (self.OutputPath, PcdValueInitName, os.path.join(self.OutputPath, > > PcdValueCommonName)) + 'INC = '+ MakeApp = MakeApp + 'APPFILE > > = %s\\%s.exe\n' % (self.OutputPath, PcdValueInitName) + 'APPNAME = > > %s\n' % (PcdValueInitName) + 'OBJECTS = %s\\%s.obj %s.obj\n' % > > (self.OutputPath, PcdValueInitName, os.path.join(self.OutputPath, > > PcdValueCommonName)) + 'INC = ' else: MakeApp = MakeApp > > + > > PcdGccMakefile MakeApp = MakeApp + 'APPFILE = %s/%s\n' % > > (self.OutputPath, PcdValueInitName) + 'APPNAME = %s\n' % > > (PcdValueInitName) + 'OBJECTS = %s/%s.o %s.o\n' % (self.OutputPath, > > PcdValueInitName, os.path.join(self.OutputPath, PcdValueCommonName)) > + > > \@@ -2950,7 +2950,7 @@ class DscBuildData(PlatformBuildClassObject): > > MakeApp += "$(OBJECTS) : %s\n" % include_file if > > sys.platform > == > > "win32": PcdValueCommonPath = > > > os.path.normpath(mws.join(GlobalData.gGlobalDefines["EDK_TOOLS_PATH"] > > , "Source\C\Common\PcdValueCommon.c"))- MakeApp = MakeApp + > > r'%s\PcdValueCommon.c : %s\n' % (self.OutputPath, > PcdValueCommonPath)+ > > MakeApp = MakeApp + '%s\\PcdValueCommon.c : %s\n' % (self.OutputPath, > > PcdValueCommonPath) MakeApp = MakeApp + '\tcopy /y %s > $@\n' % > > (PcdValueCommonPath) else: PcdValueCommonPath = > > > os.path.normpath(mws.join(GlobalData.gGlobalDefines["EDK_TOOLS_PATH"] > > , "Source/C/Common/PcdValueCommon.c"))-- > > 2.43.0.windows.1 > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113358): https://edk2.groups.io/g/devel/message/113358 Mute This Topic: https://groups.io/mt/103403582/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-