From: Kurt Kennett <Kurt.Kennett@microsoft.com>
To: "afish@apple.com" <afish@apple.com>
Cc: "Gao, Liming" <liming.gao@intel.com>,
edk2-devel <edk2-devel@lists.01.org>
Subject: Re: Setting BuildOptions by module type does not seem to work
Date: Tue, 16 Aug 2016 15:22:11 +0000 [thread overview]
Message-ID: <BY2PR03MB522F848A05D7463ECE4B0E69C130@BY2PR03MB522.namprd03.prod.outlook.com> (raw)
In-Reply-To: <C85D9C16-E9D8-4FC2-975C-C6C2D60CC517@apple.com>
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
next prev parent reply other threads:[~2016-08-16 15:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=BY2PR03MB522F848A05D7463ECE4B0E69C130@BY2PR03MB522.namprd03.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox