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