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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to