> On Aug 16, 2016, at 7:49 AM, Kurt Kennett <kurt.kenn...@microsoft.com> wrote:
> 
> Hi Liming.  I’m a bit confused by your email.
>  
> I my original email below, I reference directly:
>  
> >> DSC spec (January 2016 1.26) says I can do this:
> >> 
> >> (Section 3.6 pp 76)
> 
> In this section it says:
>  
> …
> Build options priority (appended from lowest to highest and/or highest 
> replacement) is:
> • Highest, DSC file’s component scoped <BuildOptions> for individual INF 
> files.
> • [BuildOptions.$(arch).CodeBase.Edk2ModuleType]
> • [BuildOptions.$(arch).CodeBase]
> • [BuildOptions.common.CodeBase]
> • [BuildOptions.$(arch)]
> • [BuildOptions.common]
> • [BuildOptions]
> • INF File’s [BuildOptions] section
> • Lowest - tools_def.txt entry
>  
> In the “Prototype” section immediately below this (Page 79) is the grammar.
>  
> There is no interpretation of the grammar corresponds to
>  
> [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]

Kurt,

It looks like a bug in the spec as there is a missing Edk2ModuleType common 
type. 
• [BuildOptions.$(arch).CodeBase.Edk2ModuleType]
• [BuildOptions.common.CodeBase.Edk2ModuleType]
• [BuildOptions.$(arch).CodeBase]

Or I guess you could interpret the spec that the last 
BuildOptions.$(arch).CodeBase.Edk2ModuleType wins either common or matching 
$(arch)? 

Did [BuildOptions.AARCH64.common.DXE_RUNTIME_DRIVER] not work? Did you try 
without the illegal entry [BuildOptions.AARCH64.common.EDKII.DXE_RUNTIME_DRIVER]

Thanks,

Andrew Fish

>  
> Which is the format that actually works in the code.
>  
> Is there some other section or interpretation that you are referring to?
>  
> K2
>  
> From: Gao, Liming [mailto:liming....@intel.com] 
> Sent: Monday, August 15, 2016 7:17 PM
> To: Kurt Kennett <kurt.kenn...@microsoft.com>; af...@apple.com
> Cc: edk2-devel <edk2-devel@lists.01.org>
> Subject: RE: [edk2] Setting BuildOptions by module type does not seem to work
>  
> Hi,
>   This style has been defined in DSC spec 1.26. It can be downloaded from 
> https://github.com/tianocore/tianocore.github.io/wiki/EDK%20II%20Specifications
>  
> <https://github.com/tianocore/tianocore.github.io/wiki/EDK%20II%20Specifications>
>  
> Thanks
> Liming
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org 
> <mailto:edk2-devel-boun...@lists.01.org>] On Behalf Of Kurt Kennett
> Sent: Tuesday, August 16, 2016 1:56 AM
> To: af...@apple.com <mailto:af...@apple.com>
> Cc: edk2-devel <edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>>
> Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work
>  
> Okay this seems to work:
> 
> [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
> 
> Thanks Andrew.
> 
> (doesn't match the spec though :) )
> 
> K2
> 
> -----Original Message-----
> From: af...@apple.com <mailto:af...@apple.com> [mailto:af...@apple.com 
> <mailto:af...@apple.com>] 
> Sent: Monday, August 15, 2016 10:30 AM
> To: Kurt Kennett 
> Cc: edk2-devel 
> Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work
> 
> 
> > On Aug 15, 2016, at 9:34 AM, Kurt Kennett wrote:
> > 
> > No, I had not tried that. I tried it now and it does not seem to work.
> > 
> > I have:
> > 
> > [BuildOptions.AARCH64.common]
> > *_VS2015x86_AARCH64_DLINK_FLAGS = /BORK
> > 
> > [BuildOptions.AARCH64.common.DXE_RUNTIME_DRIVER]
> > *_VS2015x86_AARCH64_DLINK_FLAGS = /PLOR
> > 
> > [BuildOptions.AARCH64.common.EDKII.DXE_RUNTIME_DRIVER]
> > *_VS2015x86_AARCH64_DLINK_FLAGS = /BONK
> > 
> > And the only one that makes it to the command line is the /BORK one.
> > 
> > (The tools do not complain about the specification of options as above).
> > 
> 
> I'm guessing the syntax checking is not very good? 
> [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
> [BuildOptions.AARCH64.common.EDKII.DXE_RUNTIME_DRIVER]
> 
> I see the [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] form used in other 
> places, but you have an extra .common? 
> 
> Thanks,
> 
> Andrew Fish
> 
> > K2
> > 
> > -----Original Message-----
> > From: af...@apple.com <mailto:af...@apple.com> [mailto:af...@apple.com 
> > <mailto:af...@apple.com>]
> > Sent: Monday, August 15, 2016 9:22 AM
> > To: Kurt Kennett 
> > Cc: edk2-devel 
> > Subject: Re: [edk2] Setting BuildOptions by module type does not seem 
> > to work
> > 
> > 
> >> On Aug 15, 2016, at 9:10 AM, Kurt Kennett wrote:
> >> 
> >> DSC spec (January 2016 1.26) says I can do this:
> >> 
> >> (Section 3.6 pp 76)
> >> 
> >> ...
> >> * [BuildOptions.$(arch).CodeBase.Edk2ModuleType]
> >> ...
> >> 
> >> And this works fine:
> >> 
> >> [BuildOptions.AARCH64.common]
> >> *_VS2015x86_*_DLINK_FLAGS = /BORK
> >> 
> >> But when I also do:
> >> 
> >> [BuildOptions.AARCH64.common.DXE_RUNTIME_DRIVER]
> >> *_VS2015x86_*_DLINK_FLAGS = /PLOR
> >> 
> >> The link flags are not affected on the command line - they get the /BORK 
> >> for all module types, but not the /PLOR for DXE_RUNTIME_DRIVERs.
> >> 
> > 
> > Kurt,
> > 
> > Have you tried [BuildOptions.AARCH64.EDKII.DXE_RUNTIME_DRIVER]? Do you need 
> > EDK compatibility? 
> > 
> > I'm guessing that works given:
> > ~/work/src/edk2(master)>git grep "BuildOptions." -- *.dsc | grep 
> > DXE_RUNTIME_DRIVER 
> > OvmfPkg/OvmfPkgIa32.dsc:49:[BuildOptions.common.EDKII.DXE_RUNTIME_DRIV
> > ER] 
> > OvmfPkg/OvmfPkgIa32X64.dsc:54:[BuildOptions.common.EDKII.DXE_RUNTIME_D
> > RIVER] 
> > OvmfPkg/OvmfPkgX64.dsc:54:[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVE
> > R] 
> > QuarkPlatformPkg/Quark.dsc:885:[BuildOptions.common.EDKII.DXE_RUNTIME_
> > DRIVER]
> > 
> > 
> >> I'm not familiar with the DSC processing tools source. Anybody know where 
> >> to look to see why not?
> >> 
> > 
> > It starts here: 
> > https://github.com/tianocore/edk2/blob/master/BaseTools/Source/Python/ 
> > <https://github.com/tianocore/edk2/blob/master/BaseTools/Source/Python/>
> > build/build.py and uses some code from: 
> > https://github.com/tianocore/edk2/tree/master/BaseTools/Source/Python/ 
> > <https://github.com/tianocore/edk2/tree/master/BaseTools/Source/Python/>
> > Common
> > 
> > Thanks,
> > 
> > Andrew Fish
> > 
> >> K2
> >> 
> >> 
> >> _______________________________________________
> >> edk2-devel mailing list
> >> edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>
> >> https://lists.01.org/mailman/listinfo/edk2-devel 
> >> <https://lists.01.org/mailman/listinfo/edk2-devel>
> > 
> > _______________________________________________
> > edk2-devel mailing list
> > edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>
> > https://lists.01.org/mailman/listinfo/edk2-devel 
> > <https://lists.01.org/mailman/listinfo/edk2-devel>
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org <mailto:edk2-devel@lists.01.org>
> https://lists.01.org/mailman/listinfo/edk2-devel 
> <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

Reply via email to