From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: zhijux.fan@intel.com) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by groups.io with SMTP; Wed, 08 May 2019 03:57:14 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 May 2019 03:57:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,445,1549958400"; d="scan'208";a="169594163" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga002.fm.intel.com with ESMTP; 08 May 2019 03:57:12 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 8 May 2019 03:57:12 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.129]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.18]) with mapi id 14.03.0415.000; Wed, 8 May 2019 18:57:10 +0800 From: "Fan, ZhijuX" To: Leif Lindholm , Andrew Fish CC: "devel@edk2.groups.io" , "Gao, Liming" , "Feng, Bob C" Subject: Re: [edk2-devel] [PATCH V2] BaseTools:improve code to support C files with .C suffixes Thread-Topic: [edk2-devel] [PATCH V2] BaseTools:improve code to support C files with .C suffixes Thread-Index: AQHVBUH/4Wc/EGDtB0y4H0C/uKoek6ZgatcAgACT4UA= Date: Wed, 8 May 2019 10:57:09 +0000 Message-ID: References: <5C1A24BA-648D-4A3F-AE88-034073AB5C13@apple.com> <20190507144002.gq3rdtappd3rupmd@bivouac.eciton.net> <55FC6AA1-43B5-4557-8A17-0E3B00E3EE9A@apple.com> <20190508090926.4r4e6jqlg45yg6yp@bivouac.eciton.net> In-Reply-To: <20190508090926.4r4e6jqlg45yg6yp@bivouac.eciton.net> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.600.7 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: zhijux.fan@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Leif, This patch is going to fix the bug in commit 05217d210e. this patch and commit 05217d210e is just for MSVC. It doesn't have any eff= ect on GCC. this patch does not imply to compile .C as C instead of C++. We just found out that they build break because the.C file was in the sour= ce file, But the MSVC compiler allows.C files,So I fixed this bug to Change the ori= ginal logic to support.C files. Any question, please let me know. Thanks. Best Regards Fan Zhiju > -----Original Message----- > From: Leif Lindholm [mailto:leif.lindholm@linaro.org] > Sent: Wednesday, May 8, 2019 5:09 PM > To: Andrew Fish > Cc: devel@edk2.groups.io; Fan, ZhijuX ; Gao, Limin= g > ; Feng, Bob C > Subject: Re: [edk2-devel] [PATCH V2] BaseTools:improve code to support C > files with .C suffixes >=20 > On Tue, May 07, 2019 at 07:01:26PM -0700, Andrew Fish wrote: > > > > > > > On May 7, 2019, at 7:40 AM, Leif Lindholm > wrote: > > > > > > Hi Fan Zhiju, > > > > > > But where does the string come from that contains a .C suffix? > > > Is the tool internally converting things to uppercase, or is some > > > source file in the build incorrectly named? > > > > > > > Leif, > > > > Our build system defines .C as correct! I think it has been that way a= very > long time. >=20 > .C is valid, but at least for GCC it is equivalent to all of the other n= on-.c > options - i.e., interpret as c++. Which is why I am wondering about the = case > that ends up with the build system internally processing this. >=20 > If it is changed to permitting .C files to be compiled as C instead of > C++ (which the patch seems to imply), that sounds incorrect to me. >=20 > / > Leif >=20 > > > https://github.com/tianocore/edk2/blob/master/BaseTools/Conf/build_rul > > e.template#L109 > > > > [C-Code-File] > > > > ?.c > > ?.C > > ?.cc > > ?.CC > > ?.cpp > > ?.Cpp > > ?.CPP > > > > Thanks, > > > > Andrew Fish > > > > > > > I am asking because it is not clear to me whether the patch resolves > > > a problem or hides one. > > > > > > Best Regards, > > > > > > Leif > > > > > > On Tue, May 07, 2019 at 03:05:02AM +0000, Fan, ZhijuX wrote: > > >> This problem has nothing to do with the file system, We just use > > >> the filename as a string to compare with other strings Our unittest > > >> tested minplatform, Ovmf. This problem was found when building a > > >> platform inside Intel. > > >> We've tested it on Linux and Windows. > > >> > > >> Any question, please let me know. Thanks. > > >> > > >> Best Regards > > >> Fan Zhiju > > >> > > >> -----Original Message----- > > >> From: afish@apple.com [mailto:afish@apple.com] > > >> Sent: Tuesday, May 7, 2019 10:31 AM > > >> To: devel@edk2.groups.io; Fan, ZhijuX > > >> Cc: Gao, Liming ; Feng, Bob C > > >> > > >> Subject: Re: [edk2-devel] [PATCH V2] BaseTools:improve code to > > >> support C files with .C suffixes > > >> > > >> This brings up a question? Do we tests on a file system that is cas= e > sensitive? Is this just lack of a test case? > > >> > > >> Thanks, > > >> > > >> Andrew Fish > > >> > > >>> On May 6, 2019, at 7:22 PM, Fan, ZhijuX wro= te: > > >>> > > >>> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D1773 > > >>> > > >>> Build break if C file suffixes of named .C instead of .c Code not > > >>> recognize filenames with .C suffixes. > > >>> > > >>> This patch adds code to Support both .c file and .C file > > >>> > > >>> Cc: Bob Feng > > >>> Cc: Liming Gao > > >>> Signed-off-by: Zhiju.Fan > > >>> --- > > >>> BaseTools/Source/Python/AutoGen/GenMake.py | 3 ++- > > >>> 1 file changed, 2 insertions(+), 1 deletion(-) > > >>> > > >>> diff --git a/BaseTools/Source/Python/AutoGen/GenMake.py > > >>> b/BaseTools/Source/Python/AutoGen/GenMake.py > > >>> index 0e0f9fd9b0..858ddedf8e 100644 > > >>> --- a/BaseTools/Source/Python/AutoGen/GenMake.py > > >>> +++ b/BaseTools/Source/Python/AutoGen/GenMake.py > > >>> @@ -1035,7 +1035,8 @@ cleanlib: > > >>> CmdTargetDict[CmdSign] =3D "%s %s" % > (CmdTargetDict[CmdSign], SingleCommandList[-1]) > > >>> Index =3D CommandList.index(Item) > > >>> CommandList.pop(Index) > > >>> - if SingleCommandList[-1].endswith("%s%s.c" % = (TAB_SLASH, > CmdSumDict[CmdSign.lstrip('/Fo').rsplit(TAB_SLASH, 1)[0]])): > > >>> + if SingleCommandList[-1].endswith("%s%s.c" % > (TAB_SLASH, CmdSumDict[T.Target.SubDir])) or \ > > >>> + SingleCommandList[-1].endswith("%s%s.= C" % > (TAB_SLASH, CmdSumDict[T.Target.SubDir])): > > >>> Cpplist =3D CmdCppDict[T.Target.SubDir] > > >>> Cpplist.insert(0, '$(OBJLIST_%d): $(COMMON_= DEPS)' % > list(self.ObjTargetDict.keys()).index(T.Target.SubDir)) > > >>> T.Commands[Index] =3D '%s\n\t%s' % (' > > >>> \\\n\t'.join(Cpplist), CmdTargetDict[CmdSign]) > > >>> -- > > >>> 2.14.1.windows.1 > > >>> > > >>> > > >>> > > >>> > > >>> > > >> > > >> > > >> > > >> > > > > > >=20 > >