ShellPkg: Add support for GCC stack protector
[mirror_edk2.git] / ShellPkg / ShellPkg.dsc
1 ## @file
2 # Shell Package
3 #
4 # Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
5 #
6 # This program and the accompanying materials
7 # are licensed and made available under the terms and conditions of the BSD License
8 # which accompanies this distribution. The full text of the license may be found at
9 # http://opensource.org/licenses/bsd-license.php
10 #
11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 #
14 ##
15
16 [Defines]
17 PLATFORM_NAME = Shell
18 PLATFORM_GUID = E1DC9BF8-7013-4c99-9437-795DAA45F3BD
19 PLATFORM_VERSION = 0.50
20 DSC_SPECIFICATION = 0x00010006
21 OUTPUT_DIRECTORY = Build/Shell
22 SUPPORTED_ARCHITECTURES = IA32|IPF|X64|EBC|ARM|AARCH64
23 BUILD_TARGETS = DEBUG|RELEASE
24 SKUID_IDENTIFIER = DEFAULT
25
26 [LibraryClasses.common]
27 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
28 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
29 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLibOptionalDevicePathProtocol.inf
30 DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
31 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
32 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
33 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
34 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
35 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
36 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
37 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
38 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
39 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
40 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
41 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
42
43 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
44 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
45 FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
46 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
47 SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf
48 HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
49
50 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
51 PathLib|ShellPkg/Library/BasePathLib/BasePathLib.inf
52 BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
53
54 [LibraryClasses.ARM]
55 #
56 # It is not possible to prevent the ARM compiler for generic intrinsic functions.
57 # This library provides the instrinsic functions generate by a given compiler.
58 # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
59 #
60 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
61
62 # Add support for GCC stack protector
63 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
64
65 [LibraryClasses.AARCH64]
66 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
67
68 [PcdsFixedAtBuild]
69 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
70 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
71 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|16000
72 !ifdef $(NO_SHELL_PROFILES)
73 gEfiShellPkgTokenSpaceGuid.PcdShellProfileMask|0x00
74 !endif #$(NO_SHELL_PROFILES)
75
76 [Components]
77 ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
78 ShellPkg/Library/UefiShellLib/UefiShellLib.inf
79 ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
80 ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
81 ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
82
83 ShellPkg/Library/UefiDpLib/UefiDpLib.inf {
84 <LibraryClasses>
85 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
86 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
87 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
88 }
89
90 ShellPkg/Application/Shell/Shell.inf {
91 <LibraryClasses>
92 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
93 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
94 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
95 !ifndef $(NO_SHELL_PROFILES)
96 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
97 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
98 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
99 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
100 !ifdef $(INCLUDE_DP)
101 NULL|ShellPkg/Library/UefiDpLib/UefiDpLib.inf
102 !endif #$(INCLUDE_DP)
103 !endif #$(NO_SHELL_PROFILES)
104 }
105