Heng,
Any reason to create a separate Pcd.dsc file?

> -----Original Message-----
> From: Luo, Heng <[email protected]>
> Sent: Thursday, April 23, 2020 4:43 PM
> To: [email protected]
> Cc: Michael Kubacki <[email protected]>; Gao, Liming 
> <[email protected]>; Dong, Eric
> <[email protected]>; Ni, Ray <[email protected]>
> Subject: [PATCH 1/2] Features/Intel/AdvancedFeaturePkg: Remove temporary 
> build workaround
> 
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2688
> 
> Remove Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround,
> Add Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> to support Feature PCDs.
> 
> Cc: Michael Kubacki <[email protected]>
> Cc: Liming Gao <[email protected]>
> Cc: Eric Dong <[email protected]>
> Cc: Ray Ni <[email protected]>
> Signed-off-by: Heng Luo <[email protected]>
> ---
>  Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc                     
>            |  2 +-
>  Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc            
>            | 41
> +++++++++++++++++++++++++++++++++++++++++
>  
> Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.c
>    | 31 ---------------------------
> ----
>  
> Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
>  | 76 --------------------------
> --------------------------------------------------
>  
> Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf
>  | 60 ---------------------------
> ---------------------------------
>  5 files changed, 42 insertions(+), 168 deletions(-)
> 
> diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
> b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
> index ea879680ba..e509ef3e1b 100644
> --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
> +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
> @@ -30,7 +30,7 @@
>    PEI_ARCH                            = IA32
> 
>    DXE_ARCH                            = X64
> 
> 
> 
> -!include 
> AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
> 
> +!include AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> 
> 
> 
>  
> ################################################################################
> 
>  #
> 
> diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> new file mode 100644
> index 0000000000..2eacec18a0
> --- /dev/null
> +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc
> @@ -0,0 +1,41 @@
> +## @file
> 
> +#  DSC file for defining Pcd of advanced features.
> 
> +#
> 
> +#  This file is intended to be included into another package so advanced 
> features
> 
> +#  can be conditionally built by enabling the respective feature via its 
> FeaturePCD.
> 
> +#
> 
> +# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>
> 
> +#
> 
> +# SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> +#
> 
> +##
> 
> +
> 
> +#
> 
> +# The section references the package DEC files,
> 
> +# it allow a FeaturePCD to be used in a conditional statement
> 
> +#
> 
> +[Packages]
> 
> +  MdePkg/MdePkg.dec
> 
> +  AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
> 
> +  Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec
> 
> +  NetworkFeaturePkg/NetworkFeaturePkg.dec
> 
> +  IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
> +  S3FeaturePkg/S3FeaturePkg.dec
> 
> +  SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> 
> +  UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> 
> +  LogoFeaturePkg/LogoFeaturePkg.dec
> 
> +
> 
> +#
> 
> +# The section below sets all PCDs to FALSE in this DSC file so the feature 
> is not enabled by default.
> 
> +# Board can set PCDs to TRUE in its DSC file to enable a subset of advanced 
> features
> 
> +#
> 
> +[PcdsFeatureFlag]
> 
> +  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable            
> |FALSE
> 
> +  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                      
> |FALSE
> 
> +  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable                
> |FALSE
> 
> +  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                          
> |FALSE
> 
> +  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable                  
> |FALSE
> 
> +  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable            
> |FALSE
> 
> +  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable    
> |FALSE
> 
> +  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                      
> |FALSE
> 
> +  gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              
> |FALSE
> 
> diff --git 
> a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.c
> b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.c
> deleted file mode 100644
> index 2cd91b06f0..0000000000
> --- 
> a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.c
> +++ /dev/null
> @@ -1,31 +0,0 @@
> -/** @file
> 
> -  Source code file for a temporary build workaround.
> 
> -
> 
> -  The purpose of this workaround is described in the module INF file.
> 
> -
> 
> -Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
> 
> -SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> -
> 
> -**/
> 
> -
> 
> -#include <Base.h>
> 
> -#include <Library/BaseLib.h>
> 
> -
> 
> -/**
> 
> -  An empty entry point function.
> 
> -
> 
> -  @param  FileHandle  Handle of the file being invoked.
> 
> -  @param  PeiServices Describes the list of possible PEI Services.
> 
> -
> 
> -  @retval  EFI_SUCCESS  This function always returns EFI_SUCCESS.
> 
> -
> 
> -**/
> 
> -EFI_STATUS
> 
> -EFIAPI
> 
> -TemporaryBuildWorkaroundEntry (
> 
> -  IN       EFI_PEI_FILE_HANDLE  FileHandle,
> 
> -  IN CONST EFI_PEI_SERVICES     **PeiServices
> 
> -  )
> 
> -{
> 
> -  return EFI_SUCCESS;
> 
> -}
> 
> diff --git 
> a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
> b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
> deleted file mode 100644
> index c62f9ecc6e..0000000000
> --- 
> a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.dsc
> +++ /dev/null
> @@ -1,76 +0,0 @@
> -## @file
> 
> -# Build description file for a temporary build workaround.
> 
> -#
> 
> -# The feature enable PCD for advanced features must be referenced in an INF
> 
> -# to be referenced in DSC/FDF files. This DSC only exists in the build to
> 
> -# allow the PCDs to be referenced. This workaround does not affect the final
> 
> -# flash image or boot in any way.
> 
> -#
> 
> -# The request to update BaseTools to allow a PCD to be referenced in DSC/FDF
> 
> -# files without requiring the PCD to be referenced in an INF file is tracked
> 
> -# here: https://bugzilla.tianocore.org/show_bug.cgi?id=2270
> 
> -#
> 
> -# When the BaseTools update is complete, this file can entirely be removed
> 
> -# from this package.
> 
> -#
> 
> -# Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
> 
> -#
> 
> -# SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> -#
> 
> -##
> 
> -
> 
> -#
> 
> -# BEGIN:Temporary Build Workaround (resolution: 
> https://bugzilla.tianocore.org/show_bug.cgi?id=2270)
> 
> -#
> 
> -
> 
> -# THIS FILE IS TEMPORARY. PLEASE TRY TO LOOK PAST THE "HACKS" ASSOCIATED 
> WITH IT.
> 
> -#
> 
> -# With the BaseTools change requested, the changes needed to move to the end 
> state are simply:
> 
> -#  1. Remove the !include for this file in AdvancedFeatures.dsc
> 
> -#  2. Remove this directory
> 
> -
> 
> -!if $(PLATFORM_NAME) != AdvancedFeaturePkg
> 
> -#
> 
> -# AdvancedFeaturePkg initializes all FeaturePCDs to TRUE so they can 
> conveniently be built in one package.
> 
> -# Board packages will normally only enable (and therefore reference) a small 
> subset of advanced features
> 
> -# relative to the board. If an INF does not reference a package DEC file 
> (which will be the case if the
> 
> -# feature is not enabled) then the DSC must set ("define") the PCD for the 
> conditional statements based
> 
> -# on the PCD to work.
> 
> -#
> 
> -# AdvancedFeaturePkg has no problem as it naturally has a need to set al 
> PCDs to TRUE for build.
> 
> -# The section below sets all PCDs to FALSE in the DSC file so if the feature 
> is not enabled by a board,
> 
> -# the build will still be successful.
> 
> -#
> 
> -[PcdsFeatureFlag]
> 
> -  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable            
> |FALSE
> 
> -  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable                      
> |FALSE
> 
> -  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable                
> |FALSE
> 
> -  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable                          
> |FALSE
> 
> -  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable                  
> |FALSE
> 
> -  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable            
> |FALSE
> 
> -  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable    
> |FALSE
> 
> -  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable                      
> |FALSE
> 
> -  gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable                              
> |FALSE
> 
> -!endif
> 
> -
> 
> -#
> 
> -# The LibraryClasses required to build TemporaryBuildWorkaround.inf
> 
> -# (mostly libraries requiring other libraries)
> 
> -#
> 
> -[LibraryClasses]
> 
> -  BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
> 
> -  BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
> 
> -  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
> 
> -  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
> 
> -  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
> 
> -  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
> 
> -  
> PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf
> 
> -
> 
> -#
> 
> -# The driver that references all feature PCDs to satsify current build 
> limitations
> 
> -#
> 
> -[Components]
> 
> -  AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf
> 
> -#
> 
> -# END:Temporary Build Workaround (resolution: 
> https://bugzilla.tianocore.org/show_bug.cgi?id=2270)
> 
> -#
> 
> diff --git 
> a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf
> b/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf
> deleted file mode 100644
> index 00818fbe0a..0000000000
> --- 
> a/Features/Intel/AdvancedFeaturePkg/TemporaryBuildWorkaround/TemporaryBuildWorkaround.inf
> +++ /dev/null
> @@ -1,60 +0,0 @@
> -### @file
> 
> -# Component information file for a temporary build workaround.
> 
> -#
> 
> -# The feature enable PCD for this package must be referenced in an INF to be
> 
> -# referenced in DSC/FDF files. This driver is only included in the build to
> 
> -# allow the PCD to be referenced. This driver is not included in the flash
> 
> -# image and does not affect the boot in any way.
> 
> -#
> 
> -# The request to update BaseTools to allow a PCD to be referenced in DSC/FDF
> 
> -# files without requiring the PCD to be referenced in an INF file is tracked
> 
> -# here: https://bugzilla.tianocore.org/show_bug.cgi?id=2270
> 
> -#
> 
> -# When the BaseTools update is complete, this file can entirely be removed
> 
> -# from this package.
> 
> -#
> 
> -# Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
> 
> -#
> 
> -# SPDX-License-Identifier: BSD-2-Clause-Patent
> 
> -#
> 
> -###
> 
> -
> 
> -[Defines]
> 
> -  INF_VERSION       = 0x00010017
> 
> -  BASE_NAME         = TemporaryBuildWorkaround
> 
> -  FILE_GUID         = 8846A81E-F552-4917-81F5-80B62E4EFBAC
> 
> -  VERSION_STRING    = 1.0
> 
> -  MODULE_TYPE       = PEIM
> 
> -  ENTRY_POINT       = TemporaryBuildWorkaroundEntry
> 
> -
> 
> -[LibraryClasses]
> 
> -  BaseLib
> 
> -  PeimEntryPoint
> 
> -
> 
> -[Packages]
> 
> -  MdePkg/MdePkg.dec
> 
> -  Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec
> 
> -  Debugging/Usb3DebugFeaturePkg/Usb3DebugFeaturePkg.dec
> 
> -  Network/NetworkFeaturePkg/NetworkFeaturePkg.dec
> 
> -  OutOfBandManagement/IpmiFeaturePkg/IpmiFeaturePkg.dec
> 
> -  PowerManagement/S3FeaturePkg/S3FeaturePkg.dec
> 
> -  SystemInformation/SmbiosFeaturePkg/SmbiosFeaturePkg.dec
> 
> -  UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec
> 
> -  UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec
> 
> -
> 
> -[FeaturePcd]
> 
> -  gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable
> 
> -  gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable
> 
> -  gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable
> 
> -  gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable
> 
> -  gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable
> 
> -  gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable
> 
> -  gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable
> 
> -  gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable
> 
> -  gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable
> 
> -
> 
> -[Sources]
> 
> -  TemporaryBuildWorkaround.c
> 
> -
> 
> -[Depex]
> 
> - TRUE
> 
> --
> 2.24.0.windows.2


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#57961): https://edk2.groups.io/g/devel/message/57961
Mute This Topic: https://groups.io/mt/73214615/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to