EmulatorPkg: Fix build failure due to Tftp library removal
authorRuiyu Ni <ruiyu.ni@intel.com>
Tue, 28 Nov 2017 07:51:17 +0000 (15:51 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Thu, 7 Dec 2017 07:56:26 +0000 (15:56 +0800)
The TFTP command was converted from a NULL class library instance to
a dynamic shell command in commit 0961002352e9.

The ShellLib and FileHandleLib resolutions are moved from
Shell app <LibraryClasses> to [LibraryClasses.common]
because dynamic shell commands implemented as DXE_DRIVER modules
also depend on these libraries.

PcdShellLibAutoInitialize must be set to FALSE for both the shell app
itself and the dynamic shell command modules.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrew Fish <afish@apple.com>
EmulatorPkg/EmulatorPkg.dsc
EmulatorPkg/EmulatorPkg.fdf

index ce0ae64..818691c 100644 (file)
   VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf\r
   SortLib|MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf\r
   UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
+  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
+  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
 \r
 [LibraryClasses.common.SEC]\r
   PeiServicesLib|EmulatorPkg/Library/SecPeiServicesLib/SecPeiServicesLib.inf\r
   FatPkg/EnhancedFatDxe/Fat.inf\r
 \r
 !ifndef $(USE_OLD_SHELL)\r
+  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {\r
+    <PcdsFixedAtBuild>\r
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
+  }\r
   ShellPkg/Application/Shell/Shell.inf {\r
     <LibraryClasses>\r
       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
       NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
       NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
       NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
-      NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf\r
       HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
-      ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
-      FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
       SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
-      UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
       PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
 #      SafeBlockIoLib|ShellPkg/Library/SafeBlockIoLib/SafeBlockIoLib.inf\r
 #      SafeOpenProtocolLib|ShellPkg/Library/SafeOpenProtocolLib/SafeOpenProtocolLib.inf\r
index 377de59..314eb7b 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 # This is Emulator FDF file with UEFI HII features enabled\r
 #\r
-# Copyright (c) 2008 - 2015, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2008 - 2017, Intel Corporation. All rights reserved.<BR>\r
 # Portions copyright (c) 2009 - 2011, Apple Inc. All rights reserved.<BR>\r
 #\r
 # This program and the accompanying materials\r
@@ -206,6 +206,7 @@ INF  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
 INF FatPkg/EnhancedFatDxe/Fat.inf\r
 \r
 !ifndef $(USE_OLD_SHELL)\r
+INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf\r
 INF  ShellPkg/Application/Shell/Shell.inf\r
 !else\r
 INF  RuleOverride = BINARY EdkShellBinPkg/FullShell/FullShell.inf\r