]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/ShellPkg.dsc
ShellPkg/for: Fix potential null pointer deference
[mirror_edk2.git] / ShellPkg / ShellPkg.dsc
index 39fe936f4e6919376eb493398f676191232d2879..29f537641285c65c1ee6976ba2c78feddc0fae56 100644 (file)
@@ -1,7 +1,7 @@
 ##  @file\r
 # Shell Package\r
 #\r
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
 #\r
 #    This program and the accompanying materials\r
 #    are licensed and made available under the terms and conditions of the BSD License\r
 [Defines]\r
   PLATFORM_NAME                  = Shell\r
   PLATFORM_GUID                  = E1DC9BF8-7013-4c99-9437-795DAA45F3BD\r
-  PLATFORM_VERSION               = 0.50\r
+  PLATFORM_VERSION               = 1.02\r
   DSC_SPECIFICATION              = 0x00010006\r
   OUTPUT_DIRECTORY               = Build/Shell\r
   SUPPORTED_ARCHITECTURES        = IA32|IPF|X64|EBC|ARM|AARCH64\r
-  BUILD_TARGETS                  = DEBUG|RELEASE\r
+  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT\r
   SKUID_IDENTIFIER               = DEFAULT\r
 \r
 [LibraryClasses.common]\r
   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
+  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.inf\r
+!if $(TARGET) == RELEASE\r
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+!else\r
   DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf\r
-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf  \r
+!endif\r
+  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
+  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
+  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
 \r
   ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
   ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
-  FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
   ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
-  SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf\r
   HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
-  \r
+\r
   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
-  PathLib|ShellPkg/Library/BasePathLib/BasePathLib.inf\r
   BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
+  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+\r
+  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
+  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
+  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
+  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
+  ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf\r
 \r
 [LibraryClasses.ARM]\r
   #\r
   #\r
   NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
 \r
+  # Add support for GCC stack protector\r
+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
+\r
+[LibraryClasses.AARCH64]\r
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+\r
 [PcdsFixedAtBuild]\r
   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF\r
-  gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
   gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|16000\r
 !ifdef $(NO_SHELL_PROFILES)\r
   gEfiShellPkgTokenSpaceGuid.PcdShellProfileMask|0x00\r
 !endif #$(NO_SHELL_PROFILES)\r
 \r
 [Components]\r
-  ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
+  #\r
+  # Build all the libraries when building this package.\r
+  # This helps developers test changes and how they affect the package.\r
+  #\r
   ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
   ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
-  ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
+  ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
   ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
-\r
-  ShellPkg/Library/UefiDpLib/UefiDpLib.inf {\r
-    <LibraryClasses>\r
-      TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
-      PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
-      DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
-  }\r
+  ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
+  ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
+  ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
+  ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf\r
+  ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf\r
+  ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
+  ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
+  ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
+  ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf\r
 \r
   ShellPkg/Application/Shell/Shell.inf {\r
+    <PcdsFixedAtBuild>\r
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
     <LibraryClasses>\r
       NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
       NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
       NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
       NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
       NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
-!ifdef $(INCLUDE_DP)\r
-      NULL|ShellPkg/Library/UefiDpLib/UefiDpLib.inf\r
-!endif #$(INCLUDE_DP)\r
+      NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf\r
 !endif #$(NO_SHELL_PROFILES)\r
   }\r
 \r
+  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {\r
+    <PcdsFixedAtBuild>\r
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
+  }\r
+  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf\r
+  ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {\r
+    <PcdsFixedAtBuild>\r
+      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
+    <LibraryClasses>\r
+      PerformanceLib|MdeModulePkg/Library/DxeSmmPerformanceLib/DxeSmmPerformanceLib.inf\r
+  }\r
+  ShellPkg/DynamicCommand/DpDynamicCommand/DpApp.inf {\r
+    <LibraryClasses>\r
+      PerformanceLib|MdeModulePkg/Library/DxeSmmPerformanceLib/DxeSmmPerformanceLib.inf\r
+  }\r
+\r
+[BuildOptions]\r
+  *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r