add assertion to ensure HwErr type variable range is less than or equal to VariableSt...
[edk2.git] / EdkShellPkg / EdkShellPkg.dsc
bloba205c6d8bb2973fba9485e0f7ffd23525392d662
1 #/** @file\r
2 # This package build validate file is used to build validate EDK Shell source, \r
3 # EDK Compatibility Package and the backward compatibility support of EDK II\r
4 # build tool.\r
5 #\r
6 # Copyright (c) 2008. Intel Corporation\r
7 #\r
8 #  All rights reserved. This program and the accompanying materials\r
9 #    are licensed and made available under the terms and conditions of the BSD License\r
10 #    which accompanies this distribution. The full text of the license may be found at\r
11 #    http://opensource.org/licenses/bsd-license.php\r
12 #\r
13 #    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
14 #    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
15 #\r
16 #**/\r
18 [Defines]\r
19   PLATFORM_NAME                  = EdkShellPkg\r
20   PLATFORM_GUID                  = 761BEE8B-58E3-4014-B8F5-0214A8DFA7EE\r
21   PLATFORM_VERSION               = 1.04\r
22   DSC_SPECIFICATION              = 0x00010005\r
23   OUTPUT_DIRECTORY               = Build/EdkShellPkg\r
24   SUPPORTED_ARCHITECTURES        = IA32|IPF|X64\r
25   BUILD_TARGETS                  = DEBUG|RELEASE\r
26   SKUID_IDENTIFIER               = DEFAULT\r
27 \r
28 # Change the macro to the directory containing the source code from EDK Shell Project.  \r
29 # This is a workspace relative directory\r
30 #\r
31 # DEFINE EDK_SHELL_DIR           = EdkShellPkg/Shell  # when "Shell" directory is under $(WORKSPACE)/EdkShellPkg \r
32 #\r
33 DEFINE EDK_SHELL_DIR             = Shell  # when "Shell" directory is directly under $(WORKSPACE) \r
37 [Libraries]\r
38   #\r
39   # Libraries common to PEI and DXE\r
40   #\r
41   EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf\r
42   EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf\r
43   EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf\r
44   EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf\r
45   EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib.inf\r
46   EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf\r
47   EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf\r
48   EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf\r
49   #\r
50   # PEI libraries\r
51   #\r
52   EdkCompatibilityPkg/Foundation/Framework/Ppi/EdkFrameworkPpiLib.inf\r
53   EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf\r
54   EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf\r
55   EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf\r
56   #\r
57   # DXE libraries\r
58   #\r
59   EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf\r
60   EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf\r
61   EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf\r
62   EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf\r
63   EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf\r
64   EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib.inf\r
65   EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.inf\r
66   EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf\r
67   EdkCompatibilityPkg/Foundation/Library/Dxe/UefiEfiIfrSupportLib/UefiEfiIfrSupportLib.inf   \r
68   EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf\r
69   EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf\r
70   EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf\r
71   #\r
72   # Print/Graphics Library consume SetupBrowser Print Protocol\r
73   #\r
74   EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf\r
75   EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.inf\r
76   #\r
77   # Shell Library\r
78   #\r
79   $(EDK_SHELL_DIR)/Library/EfiShellLib.inf\r
81 [Libraries.IA32, Libraries.X64]\r
82   EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf\r
84 ###################################################################################################\r
85 #\r
86 # Components Section - list of the modules and components that will be processed by compilation\r
87 #                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.\r
88 #\r
89 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed\r
90 #       into firmware volume images. This section is just a list of modules to compile from\r
91 #       source into UEFI-compliant binaries.\r
92 #       It is the FDF file that contains information on combining binary files into firmware\r
93 #       volume images, whose concept is beyond UEFI and is described in PI specification.\r
94 #       Binary modules do not need to be listed in this section, as they should be\r
95 #       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),\r
96 #       Logo (Logo.bmp), and etc.\r
97 #       There may also be modules listed in this section that are not required in the FDF file,\r
98 #       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be\r
99 #       generated for it, but the binary will not be put into any firmware volume.\r
101 ###################################################################################################\r
103 [Components]\r
104   $(EDK_SHELL_DIR)/Shell.inf\r
105   $(EDK_SHELL_DIR)/ShellFull.inf\r
106   $(EDK_SHELL_DIR)/attrib/attrib.inf\r
107   $(EDK_SHELL_DIR)/cls/cls.inf\r
108   $(EDK_SHELL_DIR)/comp/comp.inf\r
109   $(EDK_SHELL_DIR)/cp/cp.inf\r
110   $(EDK_SHELL_DIR)/date/date.inf\r
111   $(EDK_SHELL_DIR)/dblk/dblk.inf\r
112   $(EDK_SHELL_DIR)/devices/devices.inf\r
113   $(EDK_SHELL_DIR)/DeviceTree/devicetree.inf\r
114   $(EDK_SHELL_DIR)/dmem/dmem.inf\r
115   $(EDK_SHELL_DIR)/dmpstore/dmpstore.inf\r
116   $(EDK_SHELL_DIR)/drivers/drivers.inf\r
117   $(EDK_SHELL_DIR)/drvcfg/drvcfg.inf\r
118   $(EDK_SHELL_DIR)/drvdiag/drvdiag.inf\r
119   $(EDK_SHELL_DIR)/edit/edit.inf\r
120   $(EDK_SHELL_DIR)/EfiCompress/compress.inf\r
121   $(EDK_SHELL_DIR)/EfiDecompress/Decompress.inf\r
122   $(EDK_SHELL_DIR)/err/err.inf\r
123   $(EDK_SHELL_DIR)/guid/guid.inf\r
124   $(EDK_SHELL_DIR)/hexedit/hexedit.inf\r
125   $(EDK_SHELL_DIR)/IfConfig/IfConfig.inf\r
126   $(EDK_SHELL_DIR)/IpConfig/IpConfig.inf\r
127   $(EDK_SHELL_DIR)/load/load.inf\r
128   $(EDK_SHELL_DIR)/LoadPciRom/LoadPciRom.inf\r
129   $(EDK_SHELL_DIR)/ls/ls.inf\r
130   $(EDK_SHELL_DIR)/mem/mem.inf\r
131   $(EDK_SHELL_DIR)/memmap/memmap.inf\r
132   $(EDK_SHELL_DIR)/mkdir/mkdir.inf\r
133   $(EDK_SHELL_DIR)/mm/mm.inf\r
134   $(EDK_SHELL_DIR)/mode/mode.inf\r
135   $(EDK_SHELL_DIR)/mount/mount.inf\r
136   $(EDK_SHELL_DIR)/mv/mv.inf\r
137   $(EDK_SHELL_DIR)/newshell/nshell.inf\r
138   $(EDK_SHELL_DIR)/openinfo/openinfo.inf\r
139   $(EDK_SHELL_DIR)/pci/pci.inf\r
140   $(EDK_SHELL_DIR)/Ping/Ping.inf\r
141   $(EDK_SHELL_DIR)/reset/reset.inf\r
142   $(EDK_SHELL_DIR)/rm/rm.inf\r
143   $(EDK_SHELL_DIR)/sermode/sermode.inf\r
144   $(EDK_SHELL_DIR)/SmbiosView/Smbiosview.inf\r
145   $(EDK_SHELL_DIR)/stall/stall.inf\r
146   $(EDK_SHELL_DIR)/TelnetMgmt/TelnetMgmt.inf\r
147   $(EDK_SHELL_DIR)/time/time.inf\r
148   $(EDK_SHELL_DIR)/touch/touch.inf\r
149   $(EDK_SHELL_DIR)/type/type.inf\r
150   $(EDK_SHELL_DIR)/tzone/timezone.inf\r
151   $(EDK_SHELL_DIR)/unload/unload.inf\r
152   $(EDK_SHELL_DIR)/ver/Ver.inf\r
153   $(EDK_SHELL_DIR)/vol/Vol.inf\r
155 [BuildOptions]\r
156   MSFT:*_*_IA32_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
157   MSFT:*_*_IA32_ASM_FLAGS   = /DEFI32\r
158   MSFT:*_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
159   MSFT:*_*_IA32_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
160   MSFT:*_*_IA32_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
162   MSFT:*_*_X64_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
163   MSFT:*_*_X64_ASM_FLAGS   = /DEFIX64\r
164   MSFT:*_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
165   MSFT:*_*_X64_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
166   MSFT:*_*_X64_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
168   MSFT:*_*_IPF_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
169   MSFT:*_*_IPF_ASM_FLAGS   = \r
170   MSFT:*_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
171   MSFT:*_*_IPF_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
172   MSFT:*_*_IPF_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
174   MSFT:*_*_*_BUILD_FLAGS   = -s\r
176   INTEL:*_*_IA32_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
177   INTEL:*_*_IA32_ASM_FLAGS   = /DEFI32\r
178   INTEL:*_*_IA32_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
179   INTEL:*_*_IA32_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
180   INTEL:*_*_IA32_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI32\r
182   INTEL:*_*_X64_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
183   INTEL:*_*_X64_ASM_FLAGS   = /DEFIX64\r
184   INTEL:*_*_X64_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
185   INTEL:*_*_X64_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
186   INTEL:*_*_X64_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFIX64\r
188   INTEL:*_*_IPF_CC_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
189   INTEL:*_*_IPF_ASM_FLAGS   = \r
190   INTEL:*_*_IPF_VFRPP_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
191   INTEL:*_*_IPF_APP_FLAGS   = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
192   INTEL:*_*_IPF_PP_FLAGS    = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00010000 /D TIANO_RELEASE_VERSION=0x00080006 /D EFI64\r
194   INTEL:*_*_*_BUILD_FLAGS   = -s\r