summaryrefslogtreecommitdiff
path: root/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
diff options
context:
space:
mode:
authorLeahy, Leroy P <leroy.p.leahy@intel.com>2016-05-04 17:37:45 -0700
committerPrince Agyeman <prince.agyeman@intel.com>2016-05-05 16:10:40 -0700
commitd3f5d598269ef056e03cc0c89bcbd59d27f4362a (patch)
treeea8c717d9cac9edddf805bd528191309d240c7cf /CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
parente2d105b3022bed25fc6de6a5499cce80a4ed56f3 (diff)
downloadedk2-d3f5d598269ef056e03cc0c89bcbd59d27f4362a.zip
edk2-d3f5d598269ef056e03cc0c89bcbd59d27f4362a.tar.gz
edk2-d3f5d598269ef056e03cc0c89bcbd59d27f4362a.tar.bz2
CorebootPayloadPkg: Make shell selectable
Add all of the shell options from ShellBinPkg including building the shell from source. Enable link time optimization for GCC debug builds to keep the size under 0x3e0000. Test: Use -DSHELL_TYPE=BUILD_SHELL command line options to build the shell from source. Run the result on Galileo Gen2. Change-Id: I1e12adb57960ac5e75e682073540a9322aa03081 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Lee Leahy <leroy.p.leahy@intel.com> Reviewed-by: Prince Agyeman <prince.agyeman@intel.com>
Diffstat (limited to 'CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc')
-rw-r--r--CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc73
1 files changed, 73 insertions, 0 deletions
diff --git a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
index 49afa73..2cfd496 100644
--- a/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
+++ b/CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
@@ -33,6 +33,11 @@
DEFINE SECURE_BOOT_ENABLE = FALSE
DEFINE SOURCE_DEBUG_ENABLE = FALSE
+ #
+ # Shell options: [BUILD_SHELL, FULL_BIN, MIN_BIN, NONE, UEFI]
+ #
+ DEFINE SHELL_TYPE = FULL_BIN
+
[BuildOptions]
GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG
GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
@@ -361,3 +366,71 @@
# Framebuffer Gop
#
CorebootPayloadPkg/FbGop/FbGop.inf
+
+ #------------------------------
+ # Build the shell
+ #------------------------------
+
+!if $(SHELL_TYPE) == BUILD_SHELL
+
+[PcdsFixedAtBuild]
+ ## This flag is used to control initialization of the shell library
+ # This should be FALSE for compiling the shell application itself only.
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+
+ #
+ # Shell Lib
+ #
+[LibraryClasses]
+ BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
+
+[Components.IA32]
+ ShellPkg/Application/Shell/Shell.inf {
+
+ #------------------------------
+ # Basic commands
+ #------------------------------
+
+ <LibraryClasses>
+ NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
+
+ #------------------------------
+ # Networking commands
+ #------------------------------
+
+ <LibraryClasses>
+ NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
+ NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
+
+ #------------------------------
+ # Performance command
+ #------------------------------
+
+ <LibraryClasses>
+ NULL|ShellPkg/Library/UefiDpLib/UefiDpLib.inf
+
+ #------------------------------
+ # Support libraries
+ #------------------------------
+
+ <LibraryClasses>
+ DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
+ DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
+ HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
+ NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
+ PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
+ ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
+ ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
+ }
+
+!endif