* Setting BuildOptions by module type does not seem to work @ 2016-08-15 16:10 Kurt Kennett 2016-08-15 16:21 ` Andrew Fish 0 siblings, 1 reply; 13+ messages in thread From: Kurt Kennett @ 2016-08-15 16:10 UTC (permalink / raw) To: edk2-devel 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. I'm not familiar with the DSC processing tools source. Anybody know where to look to see why not? K2 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-15 16:10 Setting BuildOptions by module type does not seem to work Kurt Kennett @ 2016-08-15 16:21 ` Andrew Fish 2016-08-15 16:34 ` Kurt Kennett 0 siblings, 1 reply; 13+ messages in thread From: Andrew Fish @ 2016-08-15 16:21 UTC (permalink / raw) To: Kurt Kennett; +Cc: edk2-devel > On Aug 15, 2016, at 9:10 AM, Kurt Kennett <Kurt.Kennett@microsoft.com> 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_DRIVER] OvmfPkg/OvmfPkgIa32X64.dsc:54:[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] OvmfPkg/OvmfPkgX64.dsc:54:[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] 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 > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-15 16:21 ` Andrew Fish @ 2016-08-15 16:34 ` Kurt Kennett 2016-08-15 17:29 ` Andrew Fish 0 siblings, 1 reply; 13+ messages in thread From: Kurt Kennett @ 2016-08-15 16:34 UTC (permalink / raw) To: afish@apple.com; +Cc: edk2-devel 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). K2 -----Original Message----- From: afish@apple.com [mailto:afish@apple.com] Sent: Monday, August 15, 2016 9:22 AM To: Kurt Kennett <Kurt.Kennett@microsoft.com> Cc: edk2-devel <edk2-devel@lists.01.org> Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work > On Aug 15, 2016, at 9:10 AM, Kurt Kennett <Kurt.Kennett@microsoft.com> 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_DRIVER] OvmfPkg/OvmfPkgIa32X64.dsc:54:[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] OvmfPkg/OvmfPkgX64.dsc:54:[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] 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 > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-15 16:34 ` Kurt Kennett @ 2016-08-15 17:29 ` Andrew Fish 2016-08-15 17:55 ` Kurt Kennett 0 siblings, 1 reply; 13+ messages in thread From: Andrew Fish @ 2016-08-15 17:29 UTC (permalink / raw) To: Kurt Kennett; +Cc: edk2-devel > On Aug 15, 2016, at 9:34 AM, Kurt Kennett <Kurt.Kennett@microsoft.com> 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: afish@apple.com [mailto:afish@apple.com] > Sent: Monday, August 15, 2016 9:22 AM > To: Kurt Kennett <Kurt.Kennett@microsoft.com> > Cc: edk2-devel <edk2-devel@lists.01.org> > Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work > > >> On Aug 15, 2016, at 9:10 AM, Kurt Kennett <Kurt.Kennett@microsoft.com> 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_DRIVER] > OvmfPkg/OvmfPkgIa32X64.dsc:54:[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] > OvmfPkg/OvmfPkgX64.dsc:54:[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] > 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 >> 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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-15 17:29 ` Andrew Fish @ 2016-08-15 17:55 ` Kurt Kennett 2016-08-16 2:16 ` Gao, Liming 0 siblings, 1 reply; 13+ messages in thread From: Kurt Kennett @ 2016-08-15 17:55 UTC (permalink / raw) To: afish@apple.com; +Cc: edk2-devel Okay this seems to work: [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] Thanks Andrew. (doesn't match the spec though :) ) K2 -----Original Message----- From: afish@apple.com [mailto:afish@apple.com] Sent: Monday, August 15, 2016 10:30 AM To: Kurt Kennett <Kurt.Kennett@microsoft.com> Cc: edk2-devel <edk2-devel@lists.01.org> Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work > On Aug 15, 2016, at 9:34 AM, Kurt Kennett <Kurt.Kennett@microsoft.com> 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: afish@apple.com [mailto:afish@apple.com] > Sent: Monday, August 15, 2016 9:22 AM > To: Kurt Kennett <Kurt.Kennett@microsoft.com> > Cc: edk2-devel <edk2-devel@lists.01.org> > Subject: Re: [edk2] Setting BuildOptions by module type does not seem > to work > > >> On Aug 15, 2016, at 9:10 AM, Kurt Kennett <Kurt.Kennett@microsoft.com> 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 >> 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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-15 17:55 ` Kurt Kennett @ 2016-08-16 2:16 ` Gao, Liming 2016-08-16 14:49 ` Kurt Kennett 0 siblings, 1 reply; 13+ messages in thread From: Gao, Liming @ 2016-08-16 2:16 UTC (permalink / raw) To: Kurt Kennett, afish@apple.com; +Cc: edk2-devel 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-bounces@lists.01.org] On Behalf Of Kurt Kennett Sent: Tuesday, August 16, 2016 1:56 AM To: afish@apple.com Cc: edk2-devel <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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-16 2:16 ` Gao, Liming @ 2016-08-16 14:49 ` Kurt Kennett 2016-08-16 15:15 ` Andrew Fish 0 siblings, 1 reply; 13+ messages in thread From: Kurt Kennett @ 2016-08-16 14:49 UTC (permalink / raw) To: Gao, Liming, afish@apple.com; +Cc: edk2-devel 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] 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.gao@intel.com] Sent: Monday, August 15, 2016 7:17 PM To: Kurt Kennett <Kurt.Kennett@microsoft.com>; afish@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 Thanks Liming From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Kurt Kennett Sent: Tuesday, August 16, 2016 1:56 AM To: afish@apple.com<mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-16 14:49 ` Kurt Kennett @ 2016-08-16 15:15 ` Andrew Fish 2016-08-16 15:22 ` Kurt Kennett 0 siblings, 1 reply; 13+ messages in thread From: Andrew Fish @ 2016-08-16 15:15 UTC (permalink / raw) To: Kurt Kennett; +Cc: Gao, Liming, edk2-devel > On Aug 16, 2016, at 7:49 AM, Kurt Kennett <Kurt.Kennett@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.gao@intel.com] > Sent: Monday, August 15, 2016 7:17 PM > To: Kurt Kennett <Kurt.Kennett@microsoft.com>; afish@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-bounces@lists.01.org <mailto:edk2-devel-bounces@lists.01.org>] On Behalf Of Kurt Kennett > Sent: Tuesday, August 16, 2016 1:56 AM > To: afish@apple.com <mailto:afish@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: afish@apple.com <mailto:afish@apple.com> [mailto:afish@apple.com <mailto:afish@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: afish@apple.com <mailto:afish@apple.com> [mailto:afish@apple.com <mailto:afish@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> ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-16 15:15 ` Andrew Fish @ 2016-08-16 15:22 ` Kurt Kennett 2016-08-16 15:47 ` Andrew Fish 0 siblings, 1 reply; 13+ messages in thread From: Kurt Kennett @ 2016-08-16 15:22 UTC (permalink / raw) To: afish@apple.com; +Cc: Gao, Liming, edk2-devel Thanks for your help, Andre. I appreciate it. ☺ [BuildOptions.AARCH64.common.DXE_RUNTIME_DRIVER] Does not work. [BuildOptions.AARCH64.common.EDKII.DXE_RUNTIME_DRIVER] Does not work. [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] Works. K2 From: afish@apple.com [mailto:afish@apple.com] Sent: Tuesday, August 16, 2016 8:15 AM To: Kurt Kennett <Kurt.Kennett@microsoft.com> Cc: Gao, Liming <liming.gao@intel.com>; edk2-devel <edk2-devel@lists.01.org> Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work On Aug 16, 2016, at 7:49 AM, Kurt Kennett <Kurt.Kennett@microsoft.com<mailto:Kurt.Kennett@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.gao@intel.com] Sent: Monday, August 15, 2016 7:17 PM To: Kurt Kennett <Kurt.Kennett@microsoft.com<mailto:Kurt.Kennett@microsoft.com>>; afish@apple.com<mailto:afish@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-bounces@lists.01.org] On Behalf Of Kurt Kennett Sent: Tuesday, August 16, 2016 1:56 AM To: afish@apple.com<mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-16 15:22 ` Kurt Kennett @ 2016-08-16 15:47 ` Andrew Fish 2016-08-16 16:21 ` Gao, Liming 0 siblings, 1 reply; 13+ messages in thread From: Andrew Fish @ 2016-08-16 15:47 UTC (permalink / raw) To: Kurt Kennett; +Cc: edk2-devel, Gao, Liming > On Aug 16, 2016, at 8:22 AM, Kurt Kennett <Kurt.Kennett@microsoft.com> 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: afish@apple.com [mailto:afish@apple.com] > Sent: Tuesday, August 16, 2016 8:15 AM > To: Kurt Kennett <Kurt.Kennett@microsoft.com> > Cc: Gao, Liming <liming.gao@intel.com>; edk2-devel <edk2-devel@lists.01.org> > Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work > > > On Aug 16, 2016, at 7:49 AM, Kurt Kennett <Kurt.Kennett@microsoft.com<mailto:Kurt.Kennett@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.gao@intel.com] > Sent: Monday, August 15, 2016 7:17 PM > To: Kurt Kennett <Kurt.Kennett@microsoft.com<mailto:Kurt.Kennett@microsoft.com>>; afish@apple.com<mailto:afish@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-bounces@lists.01.org] On Behalf Of Kurt Kennett > Sent: Tuesday, August 16, 2016 1:56 AM > To: afish@apple.com<mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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 > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-16 15:47 ` Andrew Fish @ 2016-08-16 16:21 ` Gao, Liming 2016-08-16 16:27 ` Andrew Fish 0 siblings, 1 reply; 13+ messages in thread From: Gao, Liming @ 2016-08-16 16:21 UTC (permalink / raw) To: 'afish@apple.com', Kurt Kennett; +Cc: edk2-devel 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. Thanks Liming From: afish@apple.com [mailto:afish@apple.com] Sent: Tuesday, August 16, 2016 11:47 PM To: Kurt Kennett <Kurt.Kennett@microsoft.com> Cc: edk2-devel <edk2-devel@lists.01.org>; Gao, Liming <liming.gao@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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.Kennett@microsoft.com<mailto:Kurt.Kennett@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.gao@intel.com] > Sent: Monday, August 15, 2016 7:17 PM > To: Kurt Kennett <Kurt.Kennett@microsoft.com<mailto:Kurt.Kennett@microsoft.com>>; afish@apple.com<mailto:afish@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-bounces@lists.01.org] On Behalf Of Kurt Kennett > Sent: Tuesday, August 16, 2016 1:56 AM > To: afish@apple.com<mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-16 16:21 ` Gao, Liming @ 2016-08-16 16:27 ` Andrew Fish 2016-08-16 16:50 ` Gao, Liming 0 siblings, 1 reply; 13+ messages in thread From: Andrew Fish @ 2016-08-16 16:27 UTC (permalink / raw) To: Gao, Liming; +Cc: Kurt Kennett, edk2-devel > On Aug 16, 2016, at 9:21 AM, Gao, Liming <liming.gao@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: afish@apple.com [mailto:afish@apple.com] > Sent: Tuesday, August 16, 2016 11:47 PM > To: Kurt Kennett <Kurt.Kennett@microsoft.com> > Cc: edk2-devel <edk2-devel@lists.01.org>; Gao, Liming <liming.gao@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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.Kennett@microsoft.com<mailto:Kurt.Kennett@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.gao@intel.com] >> Sent: Monday, August 15, 2016 7:17 PM >> To: Kurt Kennett <Kurt.Kennett@microsoft.com<mailto:Kurt.Kennett@microsoft.com>>; afish@apple.com<mailto:afish@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-bounces@lists.01.org] On Behalf Of Kurt Kennett >> Sent: Tuesday, August 16, 2016 1:56 AM >> To: afish@apple.com<mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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 ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Setting BuildOptions by module type does not seem to work 2016-08-16 16:27 ` Andrew Fish @ 2016-08-16 16:50 ` Gao, Liming 0 siblings, 0 replies; 13+ messages in thread From: Gao, Liming @ 2016-08-16 16:50 UTC (permalink / raw) To: afish@apple.com; +Cc: Kurt Kennett, edk2-devel Andrew: I got your point. Yes. The precedence rules can be updated to reflect their order. Thanks Liming From: afish@apple.com [mailto:afish@apple.com] Sent: Wednesday, August 17, 2016 12:28 AM To: Gao, Liming <liming.gao@intel.com> Cc: Kurt Kennett <Kurt.Kennett@microsoft.com>; edk2-devel <edk2-devel@lists.01.org> Subject: Re: [edk2] Setting BuildOptions by module type does not seem to work > On Aug 16, 2016, at 9:21 AM, Gao, Liming wrote: > > Andrew: > arch value may be common. 3.3.1 Common Definitions, ::= {"IA32"} {"X64"} {"IPF"} {"EBC"} {} {"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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@apple.com] > Sent: Tuesday, August 16, 2016 11:47 PM > To: Kurt Kennett > Cc: edk2-devel ; Gao, Liming > 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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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.Kennett@microsoft.com<mailto:Kurt.Kennett@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.gao@intel.com] >> Sent: Monday, August 15, 2016 7:17 PM >> To: Kurt Kennett <Kurt.Kennett@microsoft.com<mailto:Kurt.Kennett@microsoft.com>>; afish@apple.com<mailto:afish@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-bounces@lists.01.org] On Behalf Of Kurt Kennett >> Sent: Tuesday, August 16, 2016 1:56 AM >> To: afish@apple.com<mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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: afish@apple.com<mailto:afish@apple.com> [mailto:afish@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<mailto:edk2-devel@lists.01.org> > https://lists.01.org/mailman/listinfo/edk2-devel ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-08-16 16:50 UTC | newest] Thread overview: 13+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-08-15 16:10 Setting BuildOptions by module type does not seem to work Kurt Kennett 2016-08-15 16:21 ` Andrew Fish 2016-08-15 16:34 ` Kurt Kennett 2016-08-15 17:29 ` Andrew Fish 2016-08-15 17:55 ` Kurt Kennett 2016-08-16 2:16 ` Gao, Liming 2016-08-16 14:49 ` Kurt Kennett 2016-08-16 15:15 ` Andrew Fish 2016-08-16 15:22 ` Kurt Kennett 2016-08-16 15:47 ` Andrew Fish 2016-08-16 16:21 ` Gao, Liming 2016-08-16 16:27 ` Andrew Fish 2016-08-16 16:50 ` Gao, Liming
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox