> On Aug 16, 2016, at 9:21 AM, Gao, Liming <liming....@intel.com> wrote:
> 
> Andrew:
>  arch value may be common. 3.3.1 Common Definitions, <arch> ::= {"IA32"} 
> {"X64"} {"IPF"} {"EBC"} {<OA>} {"common"}.
>  I agree [BuildOptions.AARCH64.common.DXE_RUNTIME_DRIVER should be supported. 
> We will look it.
> 

I agree but precedence rules seem different for *.*.*.Edk2ModuleType. It should 
follow $(arch) overrides common pattern of the other examples?

• Highest, DSC file’s component scoped for individual INF files.
• [BuildOptions.$(arch).CodeBase.Edk2ModuleType]
missing [BuildOptions.common.CodeBase.Edk2ModuleType]
• [BuildOptions.$(arch).CodeBase]
• [BuildOptions.common.CodeBase]
• [BuildOptions.$(arch)]
• [BuildOptions.common]
• [BuildOptions]
• INF File’s [BuildOptions] section
• Lowest - tools_def.txt entry

Thanks,

Andrew Fish


> Thanks
> Liming
> From: af...@apple.com [mailto:af...@apple.com]
> Sent: Tuesday, August 16, 2016 11:47 PM
> To: Kurt Kennett <kurt.kenn...@microsoft.com>
> Cc: edk2-devel <edk2-devel@lists.01.org>; Gao, Liming <liming....@intel.com>
> Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work
> 
> 
>> On Aug 16, 2016, at 8:22 AM, Kurt Kennett wrote:
>> 
>> Thanks for your help, Andre. I appreciate it. ☺
>> 
>> [BuildOptions.AARCH64.common.DXE_RUNTIME_DRIVER]
>> Does not work.
>> 
> 
> Can you file a bugzilla report on the tools, and another on the spec to 
> mention BuildOptions.AARCH64.common.DXE_RUNTIME_DRIVER
> 
> Thanks,
> 
> Andrew Fish
> 
>> [BuildOptions.AARCH64.common.EDKII.DXE_RUNTIME_DRIVER]
>> Does not work.
>> 
>> [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
>> Works.
>> 
>> 
>> K2
>> 
>> From: af...@apple.com<mailto:af...@apple.com> [mailto:af...@apple.com]
>> Sent: Tuesday, August 16, 2016 8:15 AM
>> To: Kurt Kennett
>> Cc: Gao, Liming ; edk2-devel
>> Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work
>> 
>> 
>> On Aug 16, 2016, at 7:49 AM, Kurt Kennett 
>> <kurt.kenn...@microsoft.com<mailto: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 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<mailto:kurt.kenn...@microsoft.com>>; 
>> 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
>> 
>> 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
>> 
>> Thanks
>> Liming
>> From: edk2-devel [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]
>> 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]
>>> 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/
>>> build/build.py and uses some code from:
>>> 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
>>> 
>>> _______________________________________________
>>> edk2-devel mailing list
>>> edk2-devel@lists.01.org<mailto:edk2-devel@lists.01.org>
>>> 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
>> 
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org<mailto: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

Reply via email to