public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"
@ 2022-12-12 13:09 Konstantin Aladyshev
  2022-12-12 15:35 ` Jake Garver
  2022-12-13 16:22 ` [PATCH] Fix cyclic dependency error on OptionROM build Konstantin Aladyshev
  0 siblings, 2 replies; 12+ messages in thread
From: Konstantin Aladyshev @ 2022-12-12 13:09 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, gaoliming, yuwei.chen, jake, Konstantin Aladyshev

Revert commit d372ab585a2cdc5348af5f701c56c631235fe698.

EdkII build system supports OptionROM generation if particular PCI_*
defines are present in the module INF file:
```
[Defines]
  ...
  PCI_VENDOR_ID                  = <...>
  PCI_DEVICE_ID                  = <...>
  PCI_CLASS_CODE                 = <...>
  PCI_REVISION                   = <...>
```
Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
it is no longer possible.
The build system fails with the error:
```
Cyclic dependency detected while generating rule for
"<...>/DEBUG/<...>.efi" file
```
Revert d372ab585a2cdc5348af5f701c56c631235fe698 until the issue
is resolved.
---
 BaseTools/Conf/build_rule.template | 2 --
 1 file changed, 2 deletions(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index af4819de92..32053f6353 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -342,8 +342,6 @@
 
     <OutputFile>
         $(OUTPUT_DIR)(+)$(MODULE_NAME).efi
-        $(DEBUG_DIR)(+)$(MODULE_NAME).efi
-        $(OUTPUT_DIR)(+)$(MODULE_NAME).map
 
     <Command.MSFT, Command.INTEL, Command.CLANGPDB>
         "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"
  2022-12-12 13:09 [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template" Konstantin Aladyshev
@ 2022-12-12 15:35 ` Jake Garver
  2022-12-12 16:07   ` Konstantin Aladyshev
  2022-12-13 16:22 ` [PATCH] Fix cyclic dependency error on OptionROM build Konstantin Aladyshev
  1 sibling, 1 reply; 12+ messages in thread
From: Jake Garver @ 2022-12-12 15:35 UTC (permalink / raw)
  To: Konstantin Aladyshev, devel@edk2.groups.io
  Cc: bob.c.feng@intel.com, gaoliming@byosoft.com.cn,
	yuwei.chen@intel.com

[-- Attachment #1: Type: text/plain, Size: 2101 bytes --]

Hi, Konstantin,

Do you have a fix for the cyclic redundancy issue when building OptionROMs?  If not, can you help me reproduce it?

I'd hate to revert d372ab as it fixed dependency issues we frequently ran into during parallel builds.

Thanks,
Jake
________________________________
From: Konstantin Aladyshev <aladyshev22@gmail.com>
Sent: Monday, December 12, 2022 8:09 AM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>; Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>
Subject: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"

External email: Use caution opening links or attachments


Revert commit d372ab585a2cdc5348af5f701c56c631235fe698.

EdkII build system supports OptionROM generation if particular PCI_*
defines are present in the module INF file:
```
[Defines]
  ...
  PCI_VENDOR_ID                  = <...>
  PCI_DEVICE_ID                  = <...>
  PCI_CLASS_CODE                 = <...>
  PCI_REVISION                   = <...>
```
Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
it is no longer possible.
The build system fails with the error:
```
Cyclic dependency detected while generating rule for
"<...>/DEBUG/<...>.efi" file
```
Revert d372ab585a2cdc5348af5f701c56c631235fe698 until the issue
is resolved.
---
 BaseTools/Conf/build_rule.template | 2 --
 1 file changed, 2 deletions(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index af4819de92..32053f6353 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -342,8 +342,6 @@


     <OutputFile>

         $(OUTPUT_DIR)(+)$(MODULE_NAME).efi

-        $(DEBUG_DIR)(+)$(MODULE_NAME).efi

-        $(OUTPUT_DIR)(+)$(MODULE_NAME).map



     <Command.MSFT, Command.INTEL, Command.CLANGPDB>

         "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)

--
2.34.1


[-- Attachment #2: Type: text/html, Size: 5210 bytes --]

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"
  2022-12-12 15:35 ` Jake Garver
@ 2022-12-12 16:07   ` Konstantin Aladyshev
  2022-12-13 15:42     ` Jake Garver
  0 siblings, 1 reply; 12+ messages in thread
From: Konstantin Aladyshev @ 2022-12-12 16:07 UTC (permalink / raw)
  To: Jake Garver
  Cc: devel@edk2.groups.io, bob.c.feng@intel.com,
	gaoliming@byosoft.com.cn, yuwei.chen@intel.com

Hi, Jake!

No, unfortunately I don't have any way to fix this, besides the patch revert.

To reproduce the issue you can add the mentioned PCI_* defines to some
simple DXE_DRIVER.

For example:

SimpleDriver/SimpleDriver.inf
```
[Defines]
  INF_VERSION                    = 1.25
  BASE_NAME                      = SimpleDriver
  FILE_GUID                      = 384aeb18-105d-4af1-bf17-5e349e8f4d4c
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = SimpleDriverEntryPoint
  UNLOAD_IMAGE                   = SimpleDriverUnload
  PCI_VENDOR_ID                  = 0x1234
  PCI_DEVICE_ID                  = 0x5678
  PCI_CLASS_CODE                 = 0x0001
  PCI_REVISION                   = 0x0002

[Sources]
  SimpleDriver.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  UefiDriverEntryPoint
  UefiLib
```

SimpleDriver/SimpleDriver.c
```
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>


EFI_STATUS
EFIAPI
SimpleDriverUnload (
  EFI_HANDLE ImageHandle
  )
{
  return EFI_SUCCESS;
}

EFI_STATUS
EFIAPI
SimpleDriverEntryPoint (
  IN EFI_HANDLE        ImageHandle,
  IN EFI_SYSTEM_TABLE  *SystemTable
  )
{
  return EFI_SUCCESS;
}
```
It is enough to reproduce the issue.
Normally the build system should compile the driver code fine and then
call the EfiRom utility to produce the OptionROM image. But with the
d372ab585a2cdc5348af5f701c56c631235fe698 in place the driver build
fails.

Best regards,
Konstantin Aladyshev

On Mon, Dec 12, 2022 at 6:35 PM Jake Garver <jake@nvidia.com> wrote:
>
> Hi, Konstantin,
>
> Do you have a fix for the cyclic redundancy issue when building OptionROMs?  If not, can you help me reproduce it?
>
> I'd hate to revert d372ab as it fixed dependency issues we frequently ran into during parallel builds.
>
> Thanks,
> Jake
> ________________________________
> From: Konstantin Aladyshev <aladyshev22@gmail.com>
> Sent: Monday, December 12, 2022 8:09 AM
> To: devel@edk2.groups.io <devel@edk2.groups.io>
> Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>; Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>
> Subject: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"
>
> External email: Use caution opening links or attachments
>
>
> Revert commit d372ab585a2cdc5348af5f701c56c631235fe698.
>
> EdkII build system supports OptionROM generation if particular PCI_*
> defines are present in the module INF file:
> ```
> [Defines]
>   ...
>   PCI_VENDOR_ID                  = <...>
>   PCI_DEVICE_ID                  = <...>
>   PCI_CLASS_CODE                 = <...>
>   PCI_REVISION                   = <...>
> ```
> Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
> it is no longer possible.
> The build system fails with the error:
> ```
> Cyclic dependency detected while generating rule for
> "<...>/DEBUG/<...>.efi" file
> ```
> Revert d372ab585a2cdc5348af5f701c56c631235fe698 until the issue
> is resolved.
> ---
>  BaseTools/Conf/build_rule.template | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
> index af4819de92..32053f6353 100755
> --- a/BaseTools/Conf/build_rule.template
> +++ b/BaseTools/Conf/build_rule.template
> @@ -342,8 +342,6 @@
>
>
>      <OutputFile>
>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME).efi
>
> -        $(DEBUG_DIR)(+)$(MODULE_NAME).efi
>
> -        $(OUTPUT_DIR)(+)$(MODULE_NAME).map
>
>
>
>      <Command.MSFT, Command.INTEL, Command.CLANGPDB>
>
>          "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)
>
> --
> 2.34.1
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"
  2022-12-12 16:07   ` Konstantin Aladyshev
@ 2022-12-13 15:42     ` Jake Garver
  2022-12-13 16:24       ` Konstantin Aladyshev
  0 siblings, 1 reply; 12+ messages in thread
From: Jake Garver @ 2022-12-13 15:42 UTC (permalink / raw)
  To: Konstantin Aladyshev
  Cc: devel@edk2.groups.io, bob.c.feng@intel.com,
	gaoliming@byosoft.com.cn, yuwei.chen@intel.com

[-- Attachment #1: Type: text/plain, Size: 5758 bytes --]

Hi, Konstantin,

Thanks for working with me offline to reproduce this.

Short answer:  We can live without the "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" output and I think removing that will resolve your issue.  Rather than revert the original change, can you submit a new patch that removes just that line, after verifying?  Thanks.

Long answer:  The problem is in how AutoGen/ModuleAutoGen.py builds up RuleChain in _ApplyBuildRule().  It cannot handle two outputs of the same type.  In this case, we have "$(OUTPUT_DIR)(+)$(MODULE_NAME).efi" and "$(DEBUG_DIR)(+)$(MODULE_NAME).efi".  In the _ApplyBuildRule(), each gets a FileType="EFI-IMAGE".  That looks like a cyclic dep, but really, it's just a fork in the dep tree.  I think it would be better if _ApplyBuildRule() would consider the output names instead of the output types, but that would be a significant change.  And one that I think is unnecessary at this stage.

In this case, I think we can live without identifying "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" as an output of the build rule.  Then we'll dodge the _ApplyBuildRule() issue.  My original issue was with an unidentified dependency on the "map" output, but I also added the debug efi for good measure because it is also an output of that rule template.  However, it appears to be an output that nothing depends on, so it's unnecessary.

Thanks,
Jake

________________________________
From: Konstantin Aladyshev <aladyshev22@gmail.com>
Sent: Monday, December 12, 2022 11:07 AM
To: Jake Garver <jake@nvidia.com>
Cc: devel@edk2.groups.io <devel@edk2.groups.io>; bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>
Subject: Re: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"

External email: Use caution opening links or attachments


Hi, Jake!

No, unfortunately I don't have any way to fix this, besides the patch revert.

To reproduce the issue you can add the mentioned PCI_* defines to some
simple DXE_DRIVER.

For example:

SimpleDriver/SimpleDriver.inf
```
[Defines]
  INF_VERSION                    = 1.25
  BASE_NAME                      = SimpleDriver
  FILE_GUID                      = 384aeb18-105d-4af1-bf17-5e349e8f4d4c
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = SimpleDriverEntryPoint
  UNLOAD_IMAGE                   = SimpleDriverUnload
  PCI_VENDOR_ID                  = 0x1234
  PCI_DEVICE_ID                  = 0x5678
  PCI_CLASS_CODE                 = 0x0001
  PCI_REVISION                   = 0x0002

[Sources]
  SimpleDriver.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  UefiDriverEntryPoint
  UefiLib
```

SimpleDriver/SimpleDriver.c
```
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>


EFI_STATUS
EFIAPI
SimpleDriverUnload (
  EFI_HANDLE ImageHandle
  )
{
  return EFI_SUCCESS;
}

EFI_STATUS
EFIAPI
SimpleDriverEntryPoint (
  IN EFI_HANDLE        ImageHandle,
  IN EFI_SYSTEM_TABLE  *SystemTable
  )
{
  return EFI_SUCCESS;
}
```
It is enough to reproduce the issue.
Normally the build system should compile the driver code fine and then
call the EfiRom utility to produce the OptionROM image. But with the
d372ab585a2cdc5348af5f701c56c631235fe698 in place the driver build
fails.

Best regards,
Konstantin Aladyshev

On Mon, Dec 12, 2022 at 6:35 PM Jake Garver <jake@nvidia.com> wrote:
>
> Hi, Konstantin,
>
> Do you have a fix for the cyclic redundancy issue when building OptionROMs?  If not, can you help me reproduce it?
>
> I'd hate to revert d372ab as it fixed dependency issues we frequently ran into during parallel builds.
>
> Thanks,
> Jake
> ________________________________
> From: Konstantin Aladyshev <aladyshev22@gmail.com>
> Sent: Monday, December 12, 2022 8:09 AM
> To: devel@edk2.groups.io <devel@edk2.groups.io>
> Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>; Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>
> Subject: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"
>
> External email: Use caution opening links or attachments
>
>
> Revert commit d372ab585a2cdc5348af5f701c56c631235fe698.
>
> EdkII build system supports OptionROM generation if particular PCI_*
> defines are present in the module INF file:
> ```
> [Defines]
>   ...
>   PCI_VENDOR_ID                  = <...>
>   PCI_DEVICE_ID                  = <...>
>   PCI_CLASS_CODE                 = <...>
>   PCI_REVISION                   = <...>
> ```
> Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
> it is no longer possible.
> The build system fails with the error:
> ```
> Cyclic dependency detected while generating rule for
> "<...>/DEBUG/<...>.efi" file
> ```
> Revert d372ab585a2cdc5348af5f701c56c631235fe698 until the issue
> is resolved.
> ---
>  BaseTools/Conf/build_rule.template | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
> index af4819de92..32053f6353 100755
> --- a/BaseTools/Conf/build_rule.template
> +++ b/BaseTools/Conf/build_rule.template
> @@ -342,8 +342,6 @@
>
>
>      <OutputFile>
>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME).efi
>
> -        $(DEBUG_DIR)(+)$(MODULE_NAME).efi
>
> -        $(OUTPUT_DIR)(+)$(MODULE_NAME).map
>
>
>
>      <Command.MSFT, Command.INTEL, Command.CLANGPDB>
>
>          "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)
>
> --
> 2.34.1
>

[-- Attachment #2: Type: text/html, Size: 12883 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PATCH] Fix cyclic dependency error on OptionROM build
  2022-12-12 13:09 [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template" Konstantin Aladyshev
  2022-12-12 15:35 ` Jake Garver
@ 2022-12-13 16:22 ` Konstantin Aladyshev
  2022-12-13 18:47   ` Jake Garver
  1 sibling, 1 reply; 12+ messages in thread
From: Konstantin Aladyshev @ 2022-12-13 16:22 UTC (permalink / raw)
  To: devel; +Cc: bob.c.feng, gaoliming, yuwei.chen, jake, Konstantin Aladyshev

EDKII build system supports OptionROM generation if particular PCI_*
defines are present in the module INF file:
```
[Defines]
  ...
  PCI_VENDOR_ID                  = <...>
  PCI_DEVICE_ID                  = <...>
  PCI_CLASS_CODE                 = <...>
  PCI_REVISION                   = <...>
```
Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
("BaseTools/Conf: Fix Dynamic-Library-File template") it is no longer
possible.
The build system fails with the error:
```
Cyclic dependency detected while generating rule for
"<...>/DEBUG/<...>.efi" file
```
Remove "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" from the 'dll' output files
to fix the cyclic dependency.
---
 BaseTools/Conf/build_rule.template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index af4819de92..21ccd864fa 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -342,7 +342,6 @@
 
     <OutputFile>
         $(OUTPUT_DIR)(+)$(MODULE_NAME).efi
-        $(DEBUG_DIR)(+)$(MODULE_NAME).efi
         $(OUTPUT_DIR)(+)$(MODULE_NAME).map
 
     <Command.MSFT, Command.INTEL, Command.CLANGPDB>
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"
  2022-12-13 15:42     ` Jake Garver
@ 2022-12-13 16:24       ` Konstantin Aladyshev
  0 siblings, 0 replies; 12+ messages in thread
From: Konstantin Aladyshev @ 2022-12-13 16:24 UTC (permalink / raw)
  To: Jake Garver
  Cc: devel@edk2.groups.io, bob.c.feng@intel.com,
	gaoliming@byosoft.com.cn, yuwei.chen@intel.com

Thanks Jake!

I've also verified that this change is enough to fix the cycle dependency issue.
I've sent an updated patch to the mailing list.

Best regards,
Konstantin Aladyshev

On Tue, Dec 13, 2022 at 6:42 PM Jake Garver <jake@nvidia.com> wrote:
>
> Hi, Konstantin,
>
> Thanks for working with me offline to reproduce this.
>
> Short answer:  We can live without the "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" output and I think removing that will resolve your issue.  Rather than revert the original change, can you submit a new patch that removes just that line, after verifying?  Thanks.
>
> Long answer:  The problem is in how AutoGen/ModuleAutoGen.py builds up RuleChain in _ApplyBuildRule().  It cannot handle two outputs of the same type.  In this case, we have "$(OUTPUT_DIR)(+)$(MODULE_NAME).efi" and "$(DEBUG_DIR)(+)$(MODULE_NAME).efi".  In the _ApplyBuildRule(), each gets a FileType="EFI-IMAGE".  That looks like a cyclic dep, but really, it's just a fork in the dep tree.  I think it would be better if _ApplyBuildRule() would consider the output names instead of the output types, but that would be a significant change.  And one that I think is unnecessary at this stage.
>
> In this case, I think we can live without identifying "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" as an output of the build rule.  Then we'll dodge the _ApplyBuildRule() issue.  My original issue was with an unidentified dependency on the "map" output, but I also added the debug efi for good measure because it is also an output of that rule template.  However, it appears to be an output that nothing depends on, so it's unnecessary.
>
> Thanks,
> Jake
>
> ________________________________
> From: Konstantin Aladyshev <aladyshev22@gmail.com>
> Sent: Monday, December 12, 2022 11:07 AM
> To: Jake Garver <jake@nvidia.com>
> Cc: devel@edk2.groups.io <devel@edk2.groups.io>; bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>
> Subject: Re: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"
>
> External email: Use caution opening links or attachments
>
>
> Hi, Jake!
>
> No, unfortunately I don't have any way to fix this, besides the patch revert.
>
> To reproduce the issue you can add the mentioned PCI_* defines to some
> simple DXE_DRIVER.
>
> For example:
>
> SimpleDriver/SimpleDriver.inf
> ```
> [Defines]
>   INF_VERSION                    = 1.25
>   BASE_NAME                      = SimpleDriver
>   FILE_GUID                      = 384aeb18-105d-4af1-bf17-5e349e8f4d4c
>   MODULE_TYPE                    = UEFI_DRIVER
>   VERSION_STRING                 = 1.0
>   ENTRY_POINT                    = SimpleDriverEntryPoint
>   UNLOAD_IMAGE                   = SimpleDriverUnload
>   PCI_VENDOR_ID                  = 0x1234
>   PCI_DEVICE_ID                  = 0x5678
>   PCI_CLASS_CODE                 = 0x0001
>   PCI_REVISION                   = 0x0002
>
> [Sources]
>   SimpleDriver.c
>
> [Packages]
>   MdePkg/MdePkg.dec
>
> [LibraryClasses]
>   UefiDriverEntryPoint
>   UefiLib
> ```
>
> SimpleDriver/SimpleDriver.c
> ```
> #include <Library/UefiBootServicesTableLib.h>
> #include <Library/UefiLib.h>
>
>
> EFI_STATUS
> EFIAPI
> SimpleDriverUnload (
>   EFI_HANDLE ImageHandle
>   )
> {
>   return EFI_SUCCESS;
> }
>
> EFI_STATUS
> EFIAPI
> SimpleDriverEntryPoint (
>   IN EFI_HANDLE        ImageHandle,
>   IN EFI_SYSTEM_TABLE  *SystemTable
>   )
> {
>   return EFI_SUCCESS;
> }
> ```
> It is enough to reproduce the issue.
> Normally the build system should compile the driver code fine and then
> call the EfiRom utility to produce the OptionROM image. But with the
> d372ab585a2cdc5348af5f701c56c631235fe698 in place the driver build
> fails.
>
> Best regards,
> Konstantin Aladyshev
>
> On Mon, Dec 12, 2022 at 6:35 PM Jake Garver <jake@nvidia.com> wrote:
> >
> > Hi, Konstantin,
> >
> > Do you have a fix for the cyclic redundancy issue when building OptionROMs?  If not, can you help me reproduce it?
> >
> > I'd hate to revert d372ab as it fixed dependency issues we frequently ran into during parallel builds.
> >
> > Thanks,
> > Jake
> > ________________________________
> > From: Konstantin Aladyshev <aladyshev22@gmail.com>
> > Sent: Monday, December 12, 2022 8:09 AM
> > To: devel@edk2.groups.io <devel@edk2.groups.io>
> > Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>; Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>
> > Subject: [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template"
> >
> > External email: Use caution opening links or attachments
> >
> >
> > Revert commit d372ab585a2cdc5348af5f701c56c631235fe698.
> >
> > EdkII build system supports OptionROM generation if particular PCI_*
> > defines are present in the module INF file:
> > ```
> > [Defines]
> >   ...
> >   PCI_VENDOR_ID                  = <...>
> >   PCI_DEVICE_ID                  = <...>
> >   PCI_CLASS_CODE                 = <...>
> >   PCI_REVISION                   = <...>
> > ```
> > Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
> > it is no longer possible.
> > The build system fails with the error:
> > ```
> > Cyclic dependency detected while generating rule for
> > "<...>/DEBUG/<...>.efi" file
> > ```
> > Revert d372ab585a2cdc5348af5f701c56c631235fe698 until the issue
> > is resolved.
> > ---
> >  BaseTools/Conf/build_rule.template | 2 --
> >  1 file changed, 2 deletions(-)
> >
> > diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
> > index af4819de92..32053f6353 100755
> > --- a/BaseTools/Conf/build_rule.template
> > +++ b/BaseTools/Conf/build_rule.template
> > @@ -342,8 +342,6 @@
> >
> >
> >      <OutputFile>
> >
> >          $(OUTPUT_DIR)(+)$(MODULE_NAME).efi
> >
> > -        $(DEBUG_DIR)(+)$(MODULE_NAME).efi
> >
> > -        $(OUTPUT_DIR)(+)$(MODULE_NAME).map
> >
> >
> >
> >      <Command.MSFT, Command.INTEL, Command.CLANGPDB>
> >
> >          "$(GENFW)" -e $(MODULE_TYPE) -o ${dst} ${src} $(GENFW_FLAGS)
> >
> > --
> > 2.34.1
> >

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Fix cyclic dependency error on OptionROM build
  2022-12-13 16:22 ` [PATCH] Fix cyclic dependency error on OptionROM build Konstantin Aladyshev
@ 2022-12-13 18:47   ` Jake Garver
  2023-01-15 10:53     ` Konstantin Aladyshev
                       ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Jake Garver @ 2022-12-13 18:47 UTC (permalink / raw)
  To: Konstantin Aladyshev, devel@edk2.groups.io
  Cc: bob.c.feng@intel.com, gaoliming@byosoft.com.cn,
	yuwei.chen@intel.com

[-- Attachment #1: Type: text/plain, Size: 1843 bytes --]

Thanks, Konstantin,

I approve this version.

Thanks,
Jake
________________________________
From: Konstantin Aladyshev <aladyshev22@gmail.com>
Sent: Tuesday, December 13, 2022 11:22 AM
To: devel@edk2.groups.io <devel@edk2.groups.io>
Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>; Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>
Subject: [PATCH] Fix cyclic dependency error on OptionROM build

External email: Use caution opening links or attachments


EDKII build system supports OptionROM generation if particular PCI_*
defines are present in the module INF file:
```
[Defines]
  ...
  PCI_VENDOR_ID                  = <...>
  PCI_DEVICE_ID                  = <...>
  PCI_CLASS_CODE                 = <...>
  PCI_REVISION                   = <...>
```
Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
("BaseTools/Conf: Fix Dynamic-Library-File template") it is no longer
possible.
The build system fails with the error:
```
Cyclic dependency detected while generating rule for
"<...>/DEBUG/<...>.efi" file
```
Remove "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" from the 'dll' output files
to fix the cyclic dependency.
---
 BaseTools/Conf/build_rule.template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index af4819de92..21ccd864fa 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -342,7 +342,6 @@


     <OutputFile>

         $(OUTPUT_DIR)(+)$(MODULE_NAME).efi

-        $(DEBUG_DIR)(+)$(MODULE_NAME).efi

         $(OUTPUT_DIR)(+)$(MODULE_NAME).map



     <Command.MSFT, Command.INTEL, Command.CLANGPDB>

--
2.34.1


[-- Attachment #2: Type: text/html, Size: 4686 bytes --]

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [PATCH] Fix cyclic dependency error on OptionROM build
  2022-12-13 18:47   ` Jake Garver
@ 2023-01-15 10:53     ` Konstantin Aladyshev
  2023-01-17  5:04     ` Bob Feng
       [not found]     ` <173B00341150B4F6.23170@groups.io>
  2 siblings, 0 replies; 12+ messages in thread
From: Konstantin Aladyshev @ 2023-01-15 10:53 UTC (permalink / raw)
  To: Jake Garver
  Cc: devel@edk2.groups.io, bob.c.feng@intel.com,
	gaoliming@byosoft.com.cn, yuwei.chen@intel.com

Hello!

Sorry to bother everyone.
It's been over a month. Can we merge this?

Best regards,
Konstantin Aladyshev

On Tue, Dec 13, 2022 at 9:47 PM Jake Garver <jake@nvidia.com> wrote:
>
> Thanks, Konstantin,
>
> I approve this version.
>
> Thanks,
> Jake
> ________________________________
> From: Konstantin Aladyshev <aladyshev22@gmail.com>
> Sent: Tuesday, December 13, 2022 11:22 AM
> To: devel@edk2.groups.io <devel@edk2.groups.io>
> Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>; Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>
> Subject: [PATCH] Fix cyclic dependency error on OptionROM build
>
> External email: Use caution opening links or attachments
>
>
> EDKII build system supports OptionROM generation if particular PCI_*
> defines are present in the module INF file:
> ```
> [Defines]
>   ...
>   PCI_VENDOR_ID                  = <...>
>   PCI_DEVICE_ID                  = <...>
>   PCI_CLASS_CODE                 = <...>
>   PCI_REVISION                   = <...>
> ```
> Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
> ("BaseTools/Conf: Fix Dynamic-Library-File template") it is no longer
> possible.
> The build system fails with the error:
> ```
> Cyclic dependency detected while generating rule for
> "<...>/DEBUG/<...>.efi" file
> ```
> Remove "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" from the 'dll' output files
> to fix the cyclic dependency.
> ---
>  BaseTools/Conf/build_rule.template | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
> index af4819de92..21ccd864fa 100755
> --- a/BaseTools/Conf/build_rule.template
> +++ b/BaseTools/Conf/build_rule.template
> @@ -342,7 +342,6 @@
>
>
>      <OutputFile>
>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME).efi
>
> -        $(DEBUG_DIR)(+)$(MODULE_NAME).efi
>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME).map
>
>
>
>      <Command.MSFT, Command.INTEL, Command.CLANGPDB>
>
> --
> 2.34.1
>

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PATCH] Fix cyclic dependency error on OptionROM build
  2022-12-13 18:47   ` Jake Garver
  2023-01-15 10:53     ` Konstantin Aladyshev
@ 2023-01-17  5:04     ` Bob Feng
       [not found]     ` <173B00341150B4F6.23170@groups.io>
  2 siblings, 0 replies; 12+ messages in thread
From: Bob Feng @ 2023-01-17  5:04 UTC (permalink / raw)
  To: Jake Garver, Konstantin Aladyshev, devel@edk2.groups.io
  Cc: Gao, Liming, Chen, Christine

[-- Attachment #1: Type: text/plain, Size: 2557 bytes --]

Reviewed-by: Bob Feng <bob.c.feng@intel.com>

From: Jake Garver <jake@nvidia.com>
Sent: Wednesday, December 14, 2022 2:48 AM
To: Konstantin Aladyshev <aladyshev22@gmail.com>; devel@edk2.groups.io
Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>
Subject: Re: [PATCH] Fix cyclic dependency error on OptionROM build

Thanks, Konstantin,

I approve this version.

Thanks,
Jake
________________________________
From: Konstantin Aladyshev <aladyshev22@gmail.com<mailto:aladyshev22@gmail.com>>
Sent: Tuesday, December 13, 2022 11:22 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>
Cc: bob.c.feng@intel.com<mailto:bob.c.feng@intel.com> <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn> <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; yuwei.chen@intel.com<mailto:yuwei.chen@intel.com> <yuwei.chen@intel.com<mailto:yuwei.chen@intel.com>>; Jake Garver <jake@nvidia.com<mailto:jake@nvidia.com>>; Konstantin Aladyshev <aladyshev22@gmail.com<mailto:aladyshev22@gmail.com>>
Subject: [PATCH] Fix cyclic dependency error on OptionROM build

External email: Use caution opening links or attachments


EDKII build system supports OptionROM generation if particular PCI_*
defines are present in the module INF file:
```
[Defines]
  ...
  PCI_VENDOR_ID                  = <...>
  PCI_DEVICE_ID                  = <...>
  PCI_CLASS_CODE                 = <...>
  PCI_REVISION                   = <...>
```
Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
("BaseTools/Conf: Fix Dynamic-Library-File template") it is no longer
possible.
The build system fails with the error:
```
Cyclic dependency detected while generating rule for
"<...>/DEBUG/<...>.efi" file
```
Remove "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" from the 'dll' output files
to fix the cyclic dependency.
---
 BaseTools/Conf/build_rule.template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index af4819de92..21ccd864fa 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -342,7 +342,6 @@


     <OutputFile>

         $(OUTPUT_DIR)(+)$(MODULE_NAME).efi

-        $(DEBUG_DIR)(+)$(MODULE_NAME).efi

         $(OUTPUT_DIR)(+)$(MODULE_NAME).map



     <Command.MSFT, Command.INTEL, Command.CLANGPDB>

--
2.34.1

[-- Attachment #2: Type: text/html, Size: 6953 bytes --]

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [edk2-devel] [PATCH] Fix cyclic dependency error on OptionROM build
       [not found]     ` <173B00341150B4F6.23170@groups.io>
@ 2023-01-17  5:17       ` Bob Feng
  2023-01-17  8:23         ` Konstantin Aladyshev
  0 siblings, 1 reply; 12+ messages in thread
From: Bob Feng @ 2023-01-17  5:17 UTC (permalink / raw)
  To: devel@edk2.groups.io, Feng, Bob C, Jake Garver,
	Konstantin Aladyshev
  Cc: Gao, Liming, Chen, Christine

[-- Attachment #1: Type: text/plain, Size: 3301 bytes --]

Konstantin,

The patch missed "Signed-off-by:", I help you add it and open a PR https://github.com/tianocore/edk2/pull/3909 for merge.

Thanks,
Bob
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Bob Feng
Sent: Tuesday, January 17, 2023 1:05 PM
To: Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>; devel@edk2.groups.io
Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>
Subject: Re: [edk2-devel] [PATCH] Fix cyclic dependency error on OptionROM build

Reviewed-by: Bob Feng <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>

From: Jake Garver <jake@nvidia.com<mailto:jake@nvidia.com>>
Sent: Wednesday, December 14, 2022 2:48 AM
To: Konstantin Aladyshev <aladyshev22@gmail.com<mailto:aladyshev22@gmail.com>>; devel@edk2.groups.io<mailto:devel@edk2.groups.io>
Cc: Feng, Bob C <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; Chen, Christine <yuwei.chen@intel.com<mailto:yuwei.chen@intel.com>>
Subject: Re: [PATCH] Fix cyclic dependency error on OptionROM build

Thanks, Konstantin,

I approve this version.

Thanks,
Jake
________________________________
From: Konstantin Aladyshev <aladyshev22@gmail.com<mailto:aladyshev22@gmail.com>>
Sent: Tuesday, December 13, 2022 11:22 AM
To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> <devel@edk2.groups.io<mailto:devel@edk2.groups.io>>
Cc: bob.c.feng@intel.com<mailto:bob.c.feng@intel.com> <bob.c.feng@intel.com<mailto:bob.c.feng@intel.com>>; gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn> <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; yuwei.chen@intel.com<mailto:yuwei.chen@intel.com> <yuwei.chen@intel.com<mailto:yuwei.chen@intel.com>>; Jake Garver <jake@nvidia.com<mailto:jake@nvidia.com>>; Konstantin Aladyshev <aladyshev22@gmail.com<mailto:aladyshev22@gmail.com>>
Subject: [PATCH] Fix cyclic dependency error on OptionROM build

External email: Use caution opening links or attachments


EDKII build system supports OptionROM generation if particular PCI_*
defines are present in the module INF file:
```
[Defines]
  ...
  PCI_VENDOR_ID                  = <...>
  PCI_DEVICE_ID                  = <...>
  PCI_CLASS_CODE                 = <...>
  PCI_REVISION                   = <...>
```
Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
("BaseTools/Conf: Fix Dynamic-Library-File template") it is no longer
possible.
The build system fails with the error:
```
Cyclic dependency detected while generating rule for
"<...>/DEBUG/<...>.efi" file
```
Remove "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" from the 'dll' output files
to fix the cyclic dependency.
---
 BaseTools/Conf/build_rule.template | 1 -
 1 file changed, 1 deletion(-)

diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
index af4819de92..21ccd864fa 100755
--- a/BaseTools/Conf/build_rule.template
+++ b/BaseTools/Conf/build_rule.template
@@ -342,7 +342,6 @@


     <OutputFile>

         $(OUTPUT_DIR)(+)$(MODULE_NAME).efi

-        $(DEBUG_DIR)(+)$(MODULE_NAME).efi

         $(OUTPUT_DIR)(+)$(MODULE_NAME).map



     <Command.MSFT, Command.INTEL, Command.CLANGPDB>

--
2.34.1


[-- Attachment #2: Type: text/html, Size: 8897 bytes --]

^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [edk2-devel] [PATCH] Fix cyclic dependency error on OptionROM build
  2023-01-17  5:17       ` [edk2-devel] " Bob Feng
@ 2023-01-17  8:23         ` Konstantin Aladyshev
  2023-01-17  9:22           ` Bob Feng
  0 siblings, 1 reply; 12+ messages in thread
From: Konstantin Aladyshev @ 2023-01-17  8:23 UTC (permalink / raw)
  To: Feng, Bob C
  Cc: devel@edk2.groups.io, Jake Garver, Gao, Liming, Chen, Christine

Thanks, Bob!

Sorry, somehow I've missed it.
Has EDK2 moved to the GitHub PR system instead of a mailing list for patches?
Do I need to open PR for my subsequent patches, or just send them to
the mailing list like before?

Best regards,
Konstatin Aladyshev



On Tue, Jan 17, 2023 at 8:17 AM Feng, Bob C <bob.c.feng@intel.com> wrote:
>
> Konstantin,
>
>
>
> The patch missed “Signed-off-by:”, I help you add it and open a PR https://github.com/tianocore/edk2/pull/3909 for merge.
>
>
>
> Thanks,
>
> Bob
>
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Bob Feng
> Sent: Tuesday, January 17, 2023 1:05 PM
> To: Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>; devel@edk2.groups.io
> Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>
> Subject: Re: [edk2-devel] [PATCH] Fix cyclic dependency error on OptionROM build
>
>
>
> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
>
>
>
> From: Jake Garver <jake@nvidia.com>
> Sent: Wednesday, December 14, 2022 2:48 AM
> To: Konstantin Aladyshev <aladyshev22@gmail.com>; devel@edk2.groups.io
> Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>
> Subject: Re: [PATCH] Fix cyclic dependency error on OptionROM build
>
>
>
> Thanks, Konstantin,
>
>
>
> I approve this version.
>
>
>
> Thanks,
>
> Jake
>
> ________________________________
>
> From: Konstantin Aladyshev <aladyshev22@gmail.com>
> Sent: Tuesday, December 13, 2022 11:22 AM
> To: devel@edk2.groups.io <devel@edk2.groups.io>
> Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; yuwei.chen@intel.com <yuwei.chen@intel.com>; Jake Garver <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>
> Subject: [PATCH] Fix cyclic dependency error on OptionROM build
>
>
>
> External email: Use caution opening links or attachments
>
>
> EDKII build system supports OptionROM generation if particular PCI_*
> defines are present in the module INF file:
> ```
> [Defines]
>   ...
>   PCI_VENDOR_ID                  = <...>
>   PCI_DEVICE_ID                  = <...>
>   PCI_CLASS_CODE                 = <...>
>   PCI_REVISION                   = <...>
> ```
> Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
> ("BaseTools/Conf: Fix Dynamic-Library-File template") it is no longer
> possible.
> The build system fails with the error:
> ```
> Cyclic dependency detected while generating rule for
> "<...>/DEBUG/<...>.efi" file
> ```
> Remove "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" from the 'dll' output files
> to fix the cyclic dependency.
> ---
>  BaseTools/Conf/build_rule.template | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/BaseTools/Conf/build_rule.template b/BaseTools/Conf/build_rule.template
> index af4819de92..21ccd864fa 100755
> --- a/BaseTools/Conf/build_rule.template
> +++ b/BaseTools/Conf/build_rule.template
> @@ -342,7 +342,6 @@
>
>
>      <OutputFile>
>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME).efi
>
> -        $(DEBUG_DIR)(+)$(MODULE_NAME).efi
>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME).map
>
>
>
>      <Command.MSFT, Command.INTEL, Command.CLANGPDB>
>
> --
> 2.34.1
>
> 

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [edk2-devel] [PATCH] Fix cyclic dependency error on OptionROM build
  2023-01-17  8:23         ` Konstantin Aladyshev
@ 2023-01-17  9:22           ` Bob Feng
  0 siblings, 0 replies; 12+ messages in thread
From: Bob Feng @ 2023-01-17  9:22 UTC (permalink / raw)
  To: devel@edk2.groups.io, aladyshev22@gmail.com
  Cc: Jake Garver, Gao, Liming, Chen, Christine

Hi Konstantin,

EDK2 has not moved to PR for code review yet. Please still send patches to the mailing list. 
Package maintainers open PR for triggering CI and merging the patch.

Refer to: https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Development-Process

Thanks,
Bob

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Konstantin Aladyshev
Sent: Tuesday, January 17, 2023 4:24 PM
To: Feng, Bob C <bob.c.feng@intel.com>
Cc: devel@edk2.groups.io; Jake Garver <jake@nvidia.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>
Subject: Re: [edk2-devel] [PATCH] Fix cyclic dependency error on OptionROM build

Thanks, Bob!

Sorry, somehow I've missed it.
Has EDK2 moved to the GitHub PR system instead of a mailing list for patches?
Do I need to open PR for my subsequent patches, or just send them to the mailing list like before?

Best regards,
Konstatin Aladyshev



On Tue, Jan 17, 2023 at 8:17 AM Feng, Bob C <bob.c.feng@intel.com> wrote:
>
> Konstantin,
>
>
>
> The patch missed “Signed-off-by:”, I help you add it and open a PR https://github.com/tianocore/edk2/pull/3909 for merge.
>
>
>
> Thanks,
>
> Bob
>
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Bob 
> Feng
> Sent: Tuesday, January 17, 2023 1:05 PM
> To: Jake Garver <jake@nvidia.com>; Konstantin Aladyshev 
> <aladyshev22@gmail.com>; devel@edk2.groups.io
> Cc: Gao, Liming <gaoliming@byosoft.com.cn>; Chen, Christine 
> <yuwei.chen@intel.com>
> Subject: Re: [edk2-devel] [PATCH] Fix cyclic dependency error on 
> OptionROM build
>
>
>
> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
>
>
>
> From: Jake Garver <jake@nvidia.com>
> Sent: Wednesday, December 14, 2022 2:48 AM
> To: Konstantin Aladyshev <aladyshev22@gmail.com>; devel@edk2.groups.io
> Cc: Feng, Bob C <bob.c.feng@intel.com>; Gao, Liming 
> <gaoliming@byosoft.com.cn>; Chen, Christine <yuwei.chen@intel.com>
> Subject: Re: [PATCH] Fix cyclic dependency error on OptionROM build
>
>
>
> Thanks, Konstantin,
>
>
>
> I approve this version.
>
>
>
> Thanks,
>
> Jake
>
> ________________________________
>
> From: Konstantin Aladyshev <aladyshev22@gmail.com>
> Sent: Tuesday, December 13, 2022 11:22 AM
> To: devel@edk2.groups.io <devel@edk2.groups.io>
> Cc: bob.c.feng@intel.com <bob.c.feng@intel.com>; 
> gaoliming@byosoft.com.cn <gaoliming@byosoft.com.cn>; 
> yuwei.chen@intel.com <yuwei.chen@intel.com>; Jake Garver 
> <jake@nvidia.com>; Konstantin Aladyshev <aladyshev22@gmail.com>
> Subject: [PATCH] Fix cyclic dependency error on OptionROM build
>
>
>
> External email: Use caution opening links or attachments
>
>
> EDKII build system supports OptionROM generation if particular PCI_* 
> defines are present in the module INF file:
> ```
> [Defines]
>   ...
>   PCI_VENDOR_ID                  = <...>
>   PCI_DEVICE_ID                  = <...>
>   PCI_CLASS_CODE                 = <...>
>   PCI_REVISION                   = <...>
> ```
> Although after the commit d372ab585a2cdc5348af5f701c56c631235fe698
> ("BaseTools/Conf: Fix Dynamic-Library-File template") it is no longer 
> possible.
> The build system fails with the error:
> ```
> Cyclic dependency detected while generating rule for 
> "<...>/DEBUG/<...>.efi" file ``` Remove 
> "$(DEBUG_DIR)(+)$(MODULE_NAME).efi" from the 'dll' output files to fix 
> the cyclic dependency.
> ---
>  BaseTools/Conf/build_rule.template | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/BaseTools/Conf/build_rule.template 
> b/BaseTools/Conf/build_rule.template
> index af4819de92..21ccd864fa 100755
> --- a/BaseTools/Conf/build_rule.template
> +++ b/BaseTools/Conf/build_rule.template
> @@ -342,7 +342,6 @@
>
>
>      <OutputFile>
>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME).efi
>
> -        $(DEBUG_DIR)(+)$(MODULE_NAME).efi
>
>          $(OUTPUT_DIR)(+)$(MODULE_NAME).map
>
>
>
>      <Command.MSFT, Command.INTEL, Command.CLANGPDB>
>
> --
> 2.34.1
>
> 






^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2023-01-17  9:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-12 13:09 [PATCH] Revert "BaseTools/Conf: Fix Dynamic-Library-File template" Konstantin Aladyshev
2022-12-12 15:35 ` Jake Garver
2022-12-12 16:07   ` Konstantin Aladyshev
2022-12-13 15:42     ` Jake Garver
2022-12-13 16:24       ` Konstantin Aladyshev
2022-12-13 16:22 ` [PATCH] Fix cyclic dependency error on OptionROM build Konstantin Aladyshev
2022-12-13 18:47   ` Jake Garver
2023-01-15 10:53     ` Konstantin Aladyshev
2023-01-17  5:04     ` Bob Feng
     [not found]     ` <173B00341150B4F6.23170@groups.io>
2023-01-17  5:17       ` [edk2-devel] " Bob Feng
2023-01-17  8:23         ` Konstantin Aladyshev
2023-01-17  9:22           ` Bob Feng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox