]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - ShellPkg/ShellPkg.dsc
ShellPkg/UefiShellLib: clarify workaround for unfixable EdkShell bug
[mirror_edk2.git] / ShellPkg / ShellPkg.dsc
... / ...
CommitLineData
1## @file\r
2# Shell Package\r
3#\r
4# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>\r
5# Copyright (c) 2018, Arm Limited. All rights reserved.<BR>\r
6#\r
7# SPDX-License-Identifier: BSD-2-Clause-Patent\r
8#\r
9##\r
10\r
11[Defines]\r
12 PLATFORM_NAME = Shell\r
13 PLATFORM_GUID = E1DC9BF8-7013-4c99-9437-795DAA45F3BD\r
14 PLATFORM_VERSION = 1.02\r
15 DSC_SPECIFICATION = 0x00010006\r
16 OUTPUT_DIRECTORY = Build/Shell\r
17 SUPPORTED_ARCHITECTURES = IA32|X64|EBC|ARM|AARCH64\r
18 BUILD_TARGETS = DEBUG|RELEASE|NOOPT\r
19 SKUID_IDENTIFIER = DEFAULT\r
20\r
21[LibraryClasses.common]\r
22 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
23 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
24 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
25 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.inf\r
26!if $(TARGET) == RELEASE\r
27 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
28!else\r
29 DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf\r
30!endif\r
31 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
32 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
33 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
34 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
35 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
36 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
37 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
38 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
39 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
40 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
41 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
42 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
43 !include NetworkPkg/NetworkLibs.dsc.inc\r
44\r
45 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
46 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
47 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
48 HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
49\r
50 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
51 BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
52 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
53\r
54 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
55 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
56 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
57 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
58 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
59 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf\r
60\r
61[LibraryClasses.ARM,LibraryClasses.AARCH64]\r
62 #\r
63 # It is not possible to prevent the ARM compiler for generic intrinsic functions.\r
64 # This library provides the instrinsic functions generate by a given compiler.\r
65 # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.\r
66 #\r
67 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
68\r
69 # Add support for GCC stack protector\r
70 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
71\r
72[PcdsFixedAtBuild]\r
73 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF\r
74 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|16000\r
75!ifdef $(NO_SHELL_PROFILES)\r
76 gEfiShellPkgTokenSpaceGuid.PcdShellProfileMask|0x00\r
77!endif #$(NO_SHELL_PROFILES)\r
78\r
79[Components]\r
80 #\r
81 # Build all the libraries when building this package.\r
82 # This helps developers test changes and how they affect the package.\r
83 #\r
84 ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
85 ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf\r
86 ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
87 ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
88 ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
89 ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
90 ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
91 ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
92 ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf\r
93 ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf\r
94 ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
95 ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
96 ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
97 ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf\r
98\r
99 ShellPkg/Application/Shell/Shell.inf {\r
100 <PcdsFixedAtBuild>\r
101 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
102 <LibraryClasses>\r
103 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
104 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
105 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf\r
106!ifndef $(NO_SHELL_PROFILES)\r
107 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf\r
108 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
109 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
110 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
111 NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf\r
112!endif #$(NO_SHELL_PROFILES)\r
113 }\r
114\r
115 #\r
116 # Build a second version of the shell with all commands integrated\r
117 #\r
118 ShellPkg/Application/Shell/Shell.inf {\r
119 <Defines>\r
120 FILE_GUID = EA4BB293-2D7F-4456-A681-1F22F42CD0BC\r
121 <PcdsFixedAtBuild>\r
122 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
123 <LibraryClasses>\r
124 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
125 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
126 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf\r
127 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf\r
128 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
129 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
130 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
131 NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf\r
132 NULL|ShellPkg/Library/UefiShellAcpiViewCommandLib/UefiShellAcpiViewCommandLib.inf\r
133 }\r
134\r
135 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {\r
136 <PcdsFixedAtBuild>\r
137 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
138 }\r
139 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpApp.inf\r
140 ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {\r
141 <PcdsFixedAtBuild>\r
142 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
143 }\r
144 ShellPkg/DynamicCommand/DpDynamicCommand/DpApp.inf\r
145\r
146[BuildOptions]\r
147 *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r