blob: b0309e2bf3cc4be9787598381e6d5be21e69350e [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.
11#
12# Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>
13# This program and the accompanying materials
14# are licensed and made available under the terms and conditions of the BSD License
15# which accompanies this distribution. The full text of the license may be found at
16# http://opensource.org/licenses/bsd-license.
17#
18# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
19# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
20##
21
22[Defines]
23 PLATFORM_NAME = StdLib
24 PLATFORM_GUID = 6135e67b-d813-4e4a-93c3-945d6af41858
25 PLATFORM_VERSION = 0.01
26 DSC_SPECIFICATION = 0x00010006
27 OUTPUT_DIRECTORY = Build/StdLib
darylm503c614ca52011-09-16 20:59:10 +000028 SUPPORTED_ARCHITECTURES = IA32|IPF|X64|ARM
darylm5032aa62f22011-04-27 21:42:16 +000029 BUILD_TARGETS = DEBUG|RELEASE
30 SKUID_IDENTIFIER = DEFAULT
31
Lee Leahy86e9f872013-11-19 02:37:37 +000032#
33# Debug output control
34#
35 DEFINE DEBUG_ENABLE_OUTPUT = FALSE # Set to TRUE to enable debug output
36 DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80000000 # Flags to control amount of debug output
37 DEFINE DEBUG_PROPERTY_MASK = 0x0f
38
darylm5032aa62f22011-04-27 21:42:16 +000039[PcdsFeatureFlag]
40
41[PcdsFixedAtBuild]
Lee Leahy86e9f872013-11-19 02:37:37 +000042 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK)
43 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
darylm5032aa62f22011-04-27 21:42:16 +000044
45[PcdsFixedAtBuild.IPF]
46
47[LibraryClasses]
48 #
49 # Entry Point Libraries
50 #
51 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
52 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
darylm503d7ce7002011-07-30 00:30:44 +000053 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
darylm5032aa62f22011-04-27 21:42:16 +000054 #
55 # Common Libraries
56 #
57 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
58 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
59 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
60 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
61 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
62 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
63 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
64 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
Lee Leahy86e9f872013-11-19 02:37:37 +000065 !if $(DEBUG_ENABLE_OUTPUT)
66 DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
67 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
68 !else ## DEBUG_ENABLE_OUTPUT
69 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
70 !endif ## DEBUG_ENABLE_OUTPUT
darylm5032aa62f22011-04-27 21:42:16 +000071 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
72 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
73 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
74 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
75 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
76 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
77 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
78 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
79 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
80 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
81 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
82 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
83 FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
84 SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf
darylm503d7ce7002011-07-30 00:30:44 +000085 PathLib|ShellPkg/Library/BasePathLib/BasePathLib.inf
darylm5032aa62f22011-04-27 21:42:16 +000086
87###################################################################################################
88#
89# Components Section - list of the modules and components that will be processed by compilation
90# tools and the EDK II tools to generate PE32/PE32+/Coff image files.
91#
92# Note: The EDK II DSC file is not used to specify how compiled binary images get placed
93# into firmware volume images. This section is just a list of modules to compile from
94# source into UEFI-compliant binaries.
95# It is the FDF file that contains information on combining binary files into firmware
96# volume images, whose concept is beyond UEFI and is described in PI specification.
97# Binary modules do not need to be listed in this section, as they should be
98# specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
99# Logo (Logo.bmp), and etc.
100# There may also be modules listed in this section that are not required in the FDF file,
101# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
102# generated for it, but the binary will not be put into any firmware volume.
103#
104###################################################################################################
105
106[Components]
darylm5032aa62f22011-04-27 21:42:16 +0000107# Standard C Libraries.
108 StdLib/LibC/LibC.inf
109 StdLib/LibC/StdLib/StdLib.inf
110 StdLib/LibC/String/String.inf
111 StdLib/LibC/Wchar/Wchar.inf
112 StdLib/LibC/Ctype/Ctype.inf
113 StdLib/LibC/Time/Time.inf
114 StdLib/LibC/Stdio/Stdio.inf
darylm5032aa62f22011-04-27 21:42:16 +0000115 StdLib/LibC/Locale/Locale.inf
116 StdLib/LibC/Uefi/Uefi.inf
117 StdLib/LibC/Math/Math.inf
118 StdLib/LibC/Signal/Signal.inf
119 StdLib/LibC/NetUtil/NetUtil.inf
120
darylm50353e1e5c2011-06-28 02:34:10 +0000121# Device Abstractions within the Standard C Library
122# Applications should not directly access any functions defined in these libraries.
darylm503d7ce7002011-07-30 00:30:44 +0000123 StdLib/LibC/gdtoa/gdtoa.inf
darylm50353e1e5c2011-06-28 02:34:10 +0000124 StdLib/LibC/Uefi/Devices/daUtility.inf
125 StdLib/LibC/Uefi/Devices/daConsole.inf
126 StdLib/LibC/Uefi/Devices/daShell.inf
darylm5032aa62f22011-04-27 21:42:16 +0000127
darylm5036c6c8502012-12-11 21:19:14 +0000128# Additional, non-standard, libraries
129 StdLib/LibC/Containers/ContainerLib.inf
130
darylm503d7ce7002011-07-30 00:30:44 +0000131# Additional libraries for POSIX functionality.
132 StdLib/PosixLib/Err/LibErr.inf
133 StdLib/PosixLib/Gen/LibGen.inf
134 StdLib/PosixLib/Glob/LibGlob.inf
135 StdLib/PosixLib/Stringlist/LibStringlist.inf
darylm5036c6c8502012-12-11 21:19:14 +0000136 StdLib/LibC/Uefi/InteractiveIO/IIO.inf
darylm503d7ce7002011-07-30 00:30:44 +0000137
darylm503274402d2011-08-02 23:09:06 +0000138# Socket Libraries - LibC based
lpleahy7700f0f2012-02-17 23:43:35 +0000139 StdLib/BsdSocketLib/BsdSocketLib.inf
140 StdLib/EfiSocketLib/EfiSocketLib.inf
141 StdLib/UseSocketDxe/UseSocketDxe.inf
darylm503d7ce7002011-07-30 00:30:44 +0000142
darylm503274402d2011-08-02 23:09:06 +0000143##############################################################################
darylm5032aa62f22011-04-27 21:42:16 +0000144#
darylm503274402d2011-08-02 23:09:06 +0000145# Include Boilerplate text required for building with the Standard Libraries.
darylm5032aa62f22011-04-27 21:42:16 +0000146#
darylm503274402d2011-08-02 23:09:06 +0000147##############################################################################
darylm503d7ce7002011-07-30 00:30:44 +0000148!include StdLib/StdLib.inc