blob: f62d2ad4fd84a0c7f69bbe08a72a830ae34e2b70 [file] [log] [blame]
darylm5032aa62f22011-04-27 21:42:16 +00001## @file
2# Intel(r) UEFI Standard Libraries for EDK II.
3# Build descriptions.
4#
5# See the comments in the [LibraryClasses.IA32] and [BuildOptions] sections
6# for important information about configuring this package for your
7# environment.
8#
9# This package contains:
10# Standard C Library.
Daryl McDanielcaf89d62014-07-17 01:55:23 +000011# Sockets Library.
12# Posix Library.
darylm5032aa62f22011-04-27 21:42:16 +000013#
Daryl McDanielcaf89d62014-07-17 01:55:23 +000014# Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
darylm5032aa62f22011-04-27 21:42:16 +000015# This program and the accompanying materials
16# are licensed and made available under the terms and conditions of the BSD License
17# which accompanies this distribution. The full text of the license may be found at
18# http://opensource.org/licenses/bsd-license.
19#
20# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
21# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
22##
23
24[Defines]
25 PLATFORM_NAME = StdLib
26 PLATFORM_GUID = 6135e67b-d813-4e4a-93c3-945d6af41858
27 PLATFORM_VERSION = 0.01
28 DSC_SPECIFICATION = 0x00010006
29 OUTPUT_DIRECTORY = Build/StdLib
Harry Liebel1bbb83b2015-07-30 09:51:04 +000030 SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64
Daryl McDaniel4b2cf922014-11-11 22:56:58 +000031 BUILD_TARGETS = DEBUG|RELEASE|NOOPT
darylm5032aa62f22011-04-27 21:42:16 +000032 SKUID_IDENTIFIER = DEFAULT
33
Lee Leahy86e9f872013-11-19 02:37:37 +000034#
35# Debug output control
36#
37 DEFINE DEBUG_ENABLE_OUTPUT = FALSE # Set to TRUE to enable debug output
38 DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80000000 # Flags to control amount of debug output
39 DEFINE DEBUG_PROPERTY_MASK = 0x0f
40
darylm5032aa62f22011-04-27 21:42:16 +000041[PcdsFeatureFlag]
42
43[PcdsFixedAtBuild]
Lee Leahy86e9f872013-11-19 02:37:37 +000044 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK)
45 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
darylm5032aa62f22011-04-27 21:42:16 +000046
47[PcdsFixedAtBuild.IPF]
48
49[LibraryClasses]
50 #
51 # Entry Point Libraries
52 #
53 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
54 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
darylm503d7ce7002011-07-30 00:30:44 +000055 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
darylm5032aa62f22011-04-27 21:42:16 +000056 #
57 # Common Libraries
58 #
59 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
60 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
61 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
62 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
63 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
64 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
65 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
66 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
Lee Leahy86e9f872013-11-19 02:37:37 +000067 !if $(DEBUG_ENABLE_OUTPUT)
68 DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
69 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
70 !else ## DEBUG_ENABLE_OUTPUT
71 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
72 !endif ## DEBUG_ENABLE_OUTPUT
darylm5032aa62f22011-04-27 21:42:16 +000073 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
74 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
75 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
76 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
77 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
78 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
79 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
Daryl McDaniel6a013e52015-01-13 23:35:33 +000080 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
81 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
darylm5032aa62f22011-04-27 21:42:16 +000082 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
83 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
84 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
Daryl McDaniel6a013e52015-01-13 23:35:33 +000085 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
darylm5032aa62f22011-04-27 21:42:16 +000086 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
darylm5032aa62f22011-04-27 21:42:16 +000087
88###################################################################################################
89#
90# Components Section - list of the modules and components that will be processed by compilation
91# tools and the EDK II tools to generate PE32/PE32+/Coff image files.
92#
93# Note: The EDK II DSC file is not used to specify how compiled binary images get placed
94# into firmware volume images. This section is just a list of modules to compile from
95# source into UEFI-compliant binaries.
96# It is the FDF file that contains information on combining binary files into firmware
97# volume images, whose concept is beyond UEFI and is described in PI specification.
98# Binary modules do not need to be listed in this section, as they should be
99# specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
100# Logo (Logo.bmp), and etc.
101# There may also be modules listed in this section that are not required in the FDF file,
102# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
103# generated for it, but the binary will not be put into any firmware volume.
104#
105###################################################################################################
106
107[Components]
darylm5032aa62f22011-04-27 21:42:16 +0000108# Standard C Libraries.
109 StdLib/LibC/LibC.inf
110 StdLib/LibC/StdLib/StdLib.inf
111 StdLib/LibC/String/String.inf
112 StdLib/LibC/Wchar/Wchar.inf
113 StdLib/LibC/Ctype/Ctype.inf
114 StdLib/LibC/Time/Time.inf
115 StdLib/LibC/Stdio/Stdio.inf
darylm5032aa62f22011-04-27 21:42:16 +0000116 StdLib/LibC/Locale/Locale.inf
117 StdLib/LibC/Uefi/Uefi.inf
118 StdLib/LibC/Math/Math.inf
119 StdLib/LibC/Signal/Signal.inf
120 StdLib/LibC/NetUtil/NetUtil.inf
121
darylm50353e1e5c2011-06-28 02:34:10 +0000122# Device Abstractions within the Standard C Library
123# Applications should not directly access any functions defined in these libraries.
darylm503d7ce7002011-07-30 00:30:44 +0000124 StdLib/LibC/gdtoa/gdtoa.inf
darylm50353e1e5c2011-06-28 02:34:10 +0000125 StdLib/LibC/Uefi/Devices/daUtility.inf
126 StdLib/LibC/Uefi/Devices/daConsole.inf
127 StdLib/LibC/Uefi/Devices/daShell.inf
darylm5032aa62f22011-04-27 21:42:16 +0000128
darylm5036c6c8502012-12-11 21:19:14 +0000129# Additional, non-standard, libraries
130 StdLib/LibC/Containers/ContainerLib.inf
131
darylm503d7ce7002011-07-30 00:30:44 +0000132# Additional libraries for POSIX functionality.
Daryl McDanielcaf89d62014-07-17 01:55:23 +0000133 StdLib/PosixLib/PosixLib.inf
darylm503d7ce7002011-07-30 00:30:44 +0000134 StdLib/PosixLib/Err/LibErr.inf
135 StdLib/PosixLib/Gen/LibGen.inf
136 StdLib/PosixLib/Glob/LibGlob.inf
137 StdLib/PosixLib/Stringlist/LibStringlist.inf
darylm5036c6c8502012-12-11 21:19:14 +0000138 StdLib/LibC/Uefi/InteractiveIO/IIO.inf
darylm503d7ce7002011-07-30 00:30:44 +0000139
darylm503274402d2011-08-02 23:09:06 +0000140# Socket Libraries - LibC based
lpleahy7700f0f2012-02-17 23:43:35 +0000141 StdLib/BsdSocketLib/BsdSocketLib.inf
142 StdLib/EfiSocketLib/EfiSocketLib.inf
143 StdLib/UseSocketDxe/UseSocketDxe.inf
darylm503d7ce7002011-07-30 00:30:44 +0000144
darylm503274402d2011-08-02 23:09:06 +0000145##############################################################################
darylm5032aa62f22011-04-27 21:42:16 +0000146#
darylm503274402d2011-08-02 23:09:06 +0000147# Include Boilerplate text required for building with the Standard Libraries.
darylm5032aa62f22011-04-27 21:42:16 +0000148#
darylm503274402d2011-08-02 23:09:06 +0000149##############################################################################
darylm503d7ce7002011-07-30 00:30:44 +0000150!include StdLib/StdLib.inc