MdeModulePkg/MdeModulePkg.dsc: add MmServicesTableLib resolution
[mirror_edk2.git] / AppPkg / AppPkg.dsc
1 ## @file\r
2 #   Intel(r) UEFI Application Development Kit for EDK II.\r
3 #   This package contains applications which depend upon Standard Libraries\r
4 #   from the StdLib package.\r
5 #\r
6 #   See the comments in the [LibraryClasses.IA32] and [BuildOptions] sections\r
7 #   for important information about configuring this package for your\r
8 #   environment.\r
9 #\r
10 #   Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
11 #   This program and the accompanying materials\r
12 #   are licensed and made available under the terms and conditions of the BSD License\r
13 #   which accompanies this distribution. The full text of the license may be found at\r
14 #   http://opensource.org/licenses/bsd-license.\r
15 #\r
16 #   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
17 #   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
18 ##\r
19 \r
20 [Defines]\r
21   PLATFORM_NAME                  = AppPkg\r
22   PLATFORM_GUID                  = 0458dade-8b6e-4e45-b773-1b27cbda3e06\r
23   PLATFORM_VERSION               = 0.01\r
24   DSC_SPECIFICATION              = 0x00010006\r
25   OUTPUT_DIRECTORY               = Build/AppPkg\r
26   SUPPORTED_ARCHITECTURES        = IA32|X64|ARM|AARCH64\r
27   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT\r
28   SKUID_IDENTIFIER               = DEFAULT\r
29 \r
30 #\r
31 #  Debug output control\r
32 #\r
33   DEFINE DEBUG_ENABLE_OUTPUT      = FALSE       # Set to TRUE to enable debug output\r
34   DEFINE DEBUG_PRINT_ERROR_LEVEL  = 0x80000040  # Flags to control amount of debug output\r
35   DEFINE DEBUG_PROPERTY_MASK      = 0\r
36 \r
37 [PcdsFeatureFlag]\r
38 \r
39 [PcdsFixedAtBuild]\r
40   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK)\r
41   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)\r
42 \r
43 [LibraryClasses]\r
44   #\r
45   # Entry Point Libraries\r
46   #\r
47   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
48   ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
49   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
50   #\r
51   # Common Libraries\r
52   #\r
53   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
54   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
55   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
56   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
57   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
58   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
59   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
60   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
61   !if $(DEBUG_ENABLE_OUTPUT)\r
62     DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf\r
63     DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
64   !else   ## DEBUG_ENABLE_OUTPUT\r
65     DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
66   !endif  ## DEBUG_ENABLE_OUTPUT\r
67 \r
68   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
69   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
70   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
71   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
72   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
73   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
74   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
75   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
76   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
77   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
78   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
79   FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
80   SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
81 \r
82   ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
83 \r
84   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
85 \r
86 ###################################################################################################\r
87 #\r
88 # Components Section - list of the modules and components that will be processed by compilation\r
89 #                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.\r
90 #\r
91 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed\r
92 #       into firmware volume images. This section is just a list of modules to compile from\r
93 #       source into UEFI-compliant binaries.\r
94 #       It is the FDF file that contains information on combining binary files into firmware\r
95 #       volume images, whose concept is beyond UEFI and is described in PI specification.\r
96 #       Binary modules do not need to be listed in this section, as they should be\r
97 #       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),\r
98 #       Logo (Logo.bmp), and etc.\r
99 #       There may also be modules listed in this section that are not required in the FDF file,\r
100 #       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be\r
101 #       generated for it, but the binary will not be put into any firmware volume.\r
102 #\r
103 ###################################################################################################\r
104 \r
105 [Components]\r
106 \r
107 #### Sample Applications.\r
108   AppPkg/Applications/Hello/Hello.inf        # No LibC includes or functions.\r
109   AppPkg/Applications/Main/Main.inf          # Simple invocation. No other LibC functions.\r
110   AppPkg/Applications/Enquire/Enquire.inf    #\r
111   AppPkg/Applications/ArithChk/ArithChk.inf  #\r
112 \r
113 #### A simple fuzzer for OrderedCollectionLib, in particular for\r
114 #### BaseOrderedCollectionRedBlackTreeLib.\r
115   AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.inf {\r
116     <LibraryClasses>\r
117       OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf\r
118       DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf\r
119       DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
120     <PcdsFeatureFlag>\r
121       gEfiMdePkgTokenSpaceGuid.PcdValidateOrderedCollection|TRUE\r
122     <PcdsFixedAtBuild>\r
123       gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
124       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80400040\r
125   }\r
126 \r
127 #### Un-comment the following line to build Python 2.7.2.\r
128 #  AppPkg/Applications/Python/PythonCore.inf\r
129 \r
130 #### Un-comment the following line to build Python 2.7.10.\r
131 # AppPkg/Applications/Python/Python-2.7.10/Python2710.inf\r
132 \r
133 #### Un-comment the following line to build Lua.\r
134 #  AppPkg/Applications/Lua/Lua.inf\r
135 \r
136 \r
137 ##############################################################################\r
138 #\r
139 # Specify whether we are running in an emulation environment, or not.\r
140 # Define EMULATE if we are, else keep the DEFINE commented out.\r
141 #\r
142 # DEFINE  EMULATE = 1\r
143 \r
144 ##############################################################################\r
145 #\r
146 #  Include Boilerplate text required for building with the Standard Libraries.\r
147 #\r
148 ##############################################################################\r
149 !include StdLib/StdLib.inc\r
150 !include AppPkg/Applications/Sockets/Sockets.inc\r