BaseTools has no such check before. To avoid build break, I suggest to report the warning message if library class in DSC doesn't match one in library INF [Defines] section.
> -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Carsey, Jaben > Sent: Friday, May 25, 2018 10:19 PM > To: Marvin Häuser <marvin.haeu...@outlook.com>; edk2-devel@lists.01.org; > Laszlo Ersek <ler...@redhat.com> > Cc: Justen, Jordan L <jordan.l.jus...@intel.com>; af...@apple.com > Subject: Re: [edk2] [PATCH v2] EmulatorPkg/SmbiosLib: Declare the correct > library class. > > > > > -----Original Message----- > > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > > Marvin Häuser > > Sent: Thursday, May 24, 2018 1:57 PM > > To: edk2-devel@lists.01.org; Laszlo Ersek <ler...@redhat.com> > > Cc: Justen, Jordan L <jordan.l.jus...@intel.com>; af...@apple.com > > Subject: Re: [edk2] [PATCH v2] EmulatorPkg/SmbiosLib: Declare the correct > > library class. > > > > > -----Original Message----- > > > From: Laszlo Ersek <ler...@redhat.com> > > > Sent: Thursday, May 24, 2018 10:51 PM > > > To: Jordan Justen <jordan.l.jus...@intel.com>; edk2-devel@lists.01.org; > > > Marvin Häuser <marvin.haeu...@outlook.com> > > > Cc: af...@apple.com > > > Subject: Re: [edk2] [PATCH v2] EmulatorPkg/SmbiosLib: Declare the correct > > > library class. > > > > > > On 05/24/18 22:36, Jordan Justen wrote: > > > > Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> > > > > > > > > Pushed as 7dc7c7435e. > > > > > > > > On 2018-05-17 05:43:30, Marvin Häuser wrote: > > > >> Currently, SmbiosLib declares the PcdLib library class. Update the > > > >> declaration to declare SmbiosLib. > > > >> > > > >> V2: > > > >> - Do not change the copyright date as requested. > > > >> > > > >> Contributed-under: TianoCore Contribution Agreement 1.1 > > > >> Signed-off-by: Marvin Haeuser <marvin.haeu...@outlook.com> > > > >> --- > > > >> EmulatorPkg/Library/SmbiosLib/SmbiosLib.inf | 2 +- > > > >> 1 file changed, 1 insertion(+), 1 deletion(-) > > > >> > > > >> diff --git a/EmulatorPkg/Library/SmbiosLib/SmbiosLib.inf > > > >> b/EmulatorPkg/Library/SmbiosLib/SmbiosLib.inf > > > >> index adcd7ef08e20..36d5c350f51a 100644 > > > >> --- a/EmulatorPkg/Library/SmbiosLib/SmbiosLib.inf > > > >> +++ b/EmulatorPkg/Library/SmbiosLib/SmbiosLib.inf > > > >> @@ -20,7 +20,7 @@ [Defines] > > > >> FILE_GUID = > > > >> 881863A2-09FD-3E44-8D62-7AE038D03747 > > > >> MODULE_TYPE = DXE_DRIVER > > > >> VERSION_STRING = 1.0 > > > >> - LIBRARY_CLASS = PcdLib|DXE_CORE DXE_DRIVER > > > DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER SMM_CORE > > > UEFI_APPLICATION UEFI_DRIVER > > > >> + LIBRARY_CLASS = SmbiosLib|DXE_CORE DXE_DRIVER > > > DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER SMM_CORE > > > UEFI_APPLICATION UEFI_DRIVER > > > >> > > > >> CONSTRUCTOR = SmbiosLibConstructor > > > > > > (Just because I pondered the question a few days ago, independently, I'll > > > voice it here:) > > > > > > Should BaseTools catch this? "EmulatorPkg/EmulatorPkg.dsc" contains the > > > following library resolution: > > > > > > SmbiosLib|EmulatorPkg/Library/SmbiosLib/SmbiosLib.inf > > > > > > I think it should be possible to flag that the class of the lib instance > > > doesn't > > > match the lib class that the platform DSC is resolving. > > > > I think it definitely should, there is no case (known to me) where those two > > values diverging would be a supported or making any sense. > > There is a corner case: A single module with a single INF may satisfy 2 > library class definitions and as such may have 2 lines. As long as > we flag instances where no LIBRARY_CLASS line in the INF matches the library > class in the DSC, I think a warning or error would be > valid. > > > > > > > > > (Or is Marvin's patch the result of such an error message already?) > > > > No, I was just checking the library for reference and noticed the mistake. I > > did not actually build EmulatorPkg though. > > > > Regards, > > Marvin > > > > > > > > Thanks! > > > Laszlo > > _______________________________________________ > > edk2-devel mailing list > > edk2-devel@lists.01.org > > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel