Reviewed-by: Nate DeSimone <nathaniel.l.desim...@intel.com> -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Kubacki, Michael A Sent: Tuesday, November 12, 2019 7:28 PM To: devel@edk2.groups.io Cc: Chaganty, Rangasai V <rangasai.v.chaga...@intel.com>; Gao, Liming <liming....@intel.com> Subject: [edk2-devel] [edk2-platforms][PATCH V1 31/49] AdvancedFeaturePkg: Add feature build support
This change adds the ability to build all currently available advanced features using the AdvancedFeaturePkg build. To build all advanced features, follow the instructions in the Feature/Intel/Readme.md file. The actual build is performed by executing the following command in the Features/Intel directory: "build -p AdvancedFeaturePkg/AdvancedFeaturePkg.dsc -a IA32 -a X64" Cc: Sai Chaganty <rangasai.v.chaga...@intel.com> Cc: Liming Gao <liming....@intel.com> Signed-off-by: Michael Kubacki <michael.a.kuba...@intel.com> --- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec | 9 +++- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 28 ++++++++++ Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc | 56 ++++++++++++++++++++ 3 files changed, 91 insertions(+), 2 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec index 7342539198..36c72b98e1 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dec @@ -1,6 +1,11 @@ ## @file -# This package provides the modules that build for a full feature platform. -# This AdvancedFeaturePkg should only depend on EDKII Core packages and MinPlatformPkg. +# Advanced Feature Package build declaration file. +# +# Advanced features allow a board package to be extended with advanced functionality. +# +# This package should not contain any specific advanced features. The package has two responsibilities: +# 1. Present a consolidated and simplified view of all available advanced features to board packages. +# 2. Provide a simple, single package build for all available advanced features. # # The DEC files are used by the utilities that parse DSC and # INF files to generate AutoGen.c and AutoGen.h files diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 38298e15e4..50c0e81048 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -1,6 +1,12 @@ ## @file # Advanced Feature Package build description file. # +# Advanced features allow a board package to be extended with advanced functionality. +# +# This package should not contain any specific advanced features. The package has two responsibilities: +# 1. Present a consolidated and simplified view of all available advanced features to board packages. +# 2. Provide a simple, single package build for all available advanced features. +# # Copyright (c) 2017 - 2019, Intel Corporation. All rights reserved.<BR> # # SPDX-License-Identifier: BSD-2-Clause-Patent @@ -21,3 +27,25 @@ SUPPORTED_ARCHITECTURES = IA32|X64 BUILD_TARGETS = DEBUG|RELEASE SKUID_IDENTIFIER = DEFAULT + PEI_ARCH = IA32 + DXE_ARCH = X64 + +####################################################################### +######### +# +# Advanced Feature Enable section - all advanced features are enabling for the +# AdvancedFeaturePkg build. +# +####################################################################### +######### +[PcdsFeatureFlag] + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable |TRUE + gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable |TRUE + gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable |TRUE + gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable |TRUE + gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable |TRUE + gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable |TRUE + gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable |TRUE + +# +# This package builds all advanced features. +# +!include Include/AdvancedFeatures.dsc diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc new file mode 100644 index 0000000000..649774edf7 --- /dev/null +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeatures.dsc @@ -0,0 +1,56 @@ +## @file +# DSC file for 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) 2019, Intel Corporation. All rights reserved.<BR> # # +SPDX-License-Identifier: BSD-2-Clause-Patent # ## + +# +# Debug Advanced Features +# +!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable == +TRUE + !include Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc +!endif +!if gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable == +TRUE + !include Debugging/Usb3DebugFeaturePkg/Include/Usb3DebugFeature.dsc +!endif + +# +# Network Advanced Features +# +!if gNetworkFeaturePkgTokenSpaceGuid.PcdNetworkFeatureEnable == TRUE + !include Network/NetworkFeaturePkg/Include/NetworkFeature.dsc +!endif + +# +# Out-of-Band Management Advanced Features # !if +gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiFeatureEnable == TRUE + !include OutOfBandManagement/IpmiFeaturePkg/Include/IpmiFeature.dsc +!endif + +# +# Power Management Advanced Features +# +!if gS3FeaturePkgTokenSpaceGuid.PcdS3FeatureEnable == TRUE + !include PowerManagement/S3FeaturePkg/Include/S3Feature.dsc +!endif + +# +# System Information Advanced Features +# +!if gSmbiosFeaturePkgTokenSpaceGuid.PcdSmbiosFeatureEnable == TRUE + !include SystemInformation/SmbiosFeaturePkg/Include/SmbiosFeature.dsc +!endif + +# +# User Interface Advanced Features +# +!if +gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable == +TRUE + !include UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc +!endif -- 2.16.2.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#50767): https://edk2.groups.io/g/devel/message/50767 Mute This Topic: https://groups.io/mt/55161801/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-