blob: 9d540abd9221c04c084eb5efed87a88dffc1cd87 [file] [log] [blame]
darylm503d7ce7002011-07-30 00:30:44 +00001################################################################
2# Boilerplate text to be included by any DSC file using the
3# Standard Libraries.
4#
5# The including DSC file must DEFINE the EMULATE macro if
6# the application is to be run in an emulation environment.
darylm50341b152c2011-10-03 18:54:12 +00007#
Daryl McDanielcaf89d62014-07-17 01:55:23 +00008# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
darylm50341b152c2011-10-03 18:54:12 +00009# This program and the accompanying materials
10# are licensed and made available under the terms and conditions of the BSD License
11# which accompanies this distribution. The full text of the license may be found at
12# http://opensource.org/licenses/bsd-license.
13#
14# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
15# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
darylm503d7ce7002011-07-30 00:30:44 +000016################################################################
17
18##########
19# Socket Support Libraries
20##########
21
22[LibraryClasses.common]
23 BsdSocketLib|StdLib/BsdSocketLib/BsdSocketLib.inf
24 EfiSocketLib|StdLib/EfiSocketLib/EfiSocketLib.inf
25 UseSocketDxe|StdLib/UseSocketDxe/UseSocketDxe.inf
26
27[LibraryClasses.Common.UEFI_APPLICATION]
darylm503a7a83632012-06-15 19:58:39 +000028 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
Daryl McDaniel6a013e52015-01-13 23:35:33 +000029 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
30 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
darylm503a7a83632012-06-15 19:58:39 +000031 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
32
darylm503d7ce7002011-07-30 00:30:44 +000033 #
34 # C Standard Libraries
35 #
36 LibC|StdLib/LibC/LibC.inf
37 LibCType|StdLib/LibC/Ctype/Ctype.inf
38 LibLocale|StdLib/LibC/Locale/Locale.inf
39 LibMath|StdLib/LibC/Math/Math.inf
40 LibSignal|StdLib/LibC/Signal/Signal.inf
41 LibStdio|StdLib/LibC/Stdio/Stdio.inf
42 LibStdLib|StdLib/LibC/StdLib/StdLib.inf
43 LibString|StdLib/LibC/String/String.inf
44 LibTime|StdLib/LibC/Time/Time.inf
45 LibUefi|StdLib/LibC/Uefi/Uefi.inf
46 LibWchar|StdLib/LibC/Wchar/Wchar.inf
47
48# Common Utilities for Networking Libraries
49 LibNetUtil|StdLib/LibC/NetUtil/NetUtil.inf
50
51# Additional libraries for POSIX functionality.
Daryl McDanielcaf89d62014-07-17 01:55:23 +000052 LibPosix|StdLib/PosixLib/PosixLib.inf # Combines LibErr, LibGen, LibGlob, LibStringlist, GetPass into one library
53
darylm503d7ce7002011-07-30 00:30:44 +000054 LibErr|StdLib/PosixLib/Err/LibErr.inf
55 LibGen|StdLib/PosixLib/Gen/LibGen.inf
56 LibGlob|StdLib/PosixLib/Glob/LibGlob.inf
57 LibStringlist|StdLib/PosixLib/Stringlist/LibStringlist.inf
darylm5036c6c8502012-12-11 21:19:14 +000058 LibIIO|StdLib/LibC/Uefi/InteractiveIO/IIO.inf
59
60# Additional, non-standard, libraries
61 LibContainer|StdLib/LibC/Containers/ContainerLib.inf
darylm503d7ce7002011-07-30 00:30:44 +000062
63# Libraries for device abstractions within the Standard C Library
64# Applications should not directly access any functions defined in these libraries.
65 LibGdtoa|StdLib/LibC/gdtoa/gdtoa.inf
66 DevConsole|StdLib/LibC/Uefi/Devices/daConsole.inf
Daryl McDanielefb419e2014-09-18 19:13:22 +000067 DevShell|StdLib/LibC/Uefi/Devices/daShell.inf # DEPRECATED! Please use DevMedia for new code.
68 DevMedia|StdLib/LibC/Uefi/Devices/daShell.inf
darylm503d7ce7002011-07-30 00:30:44 +000069 DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf
70
darylm50316a5fed2014-11-07 20:18:01 +000071 LuaLib|AppPkg/Applications/Lua/LuaLib.inf # Lua language library
72
lpleahy86a7f722012-06-26 17:48:28 +000073[LibraryClasses.ARM]
darylm503c614ca52011-09-16 20:59:10 +000074 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
NetBSD project3352b622015-07-30 09:50:51 +000075 NULL|StdLib/LibC/Softfloat/Softfloat.inf
darylm503d7ce7002011-07-30 00:30:44 +000076
Olivier Martinb3933332015-07-30 09:50:43 +000077 # Add support for GCC stack protector
78 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
79
Harry Liebel6ba46a92013-07-23 18:51:51 +000080[LibraryClasses.AArch64]
81 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
82
Harry Liebel1bbb83b2015-07-30 09:51:04 +000083 # Use the softfloat library to cover missing hardfloat operations.
84 NULL|StdLib/LibC/Softfloat/Softfloat.inf
85
Olivier Martinb3933332015-07-30 09:50:43 +000086 # Add support for GCC stack protector
87 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
88
darylm503d7ce7002011-07-30 00:30:44 +000089[Components]
90# BaseLib and BaseMemoryLib need to be built with the /GL- switch when using the Microsoft
91# tool chain. This is required so that the library functions can be resolved during
92# the second pass of the linker during Link-time-code-generation.
93###
94 MdePkg/Library/BaseLib/BaseLib.inf {
95 <BuildOptions>
96 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
97 }
98
99 MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf {
100 <BuildOptions>
101 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
102 }
103
104##########
105# Socket Layer
106##########
107 StdLib/SocketDxe/SocketDxe.inf
108
109
110##############################################################################
111#
112# See the additional comments below if you plan to run applications under an
113# emulation environment.
114#
115
116[BuildOptions]
darylm50316a5fed2014-11-07 20:18:01 +0000117!ifdef $(EMULATE)
118 # The Build Options, below, are only used when building the Standard Libraries
119 # to be run under an emulation environment; such as NT32Pkg.
120 # They disable optimization which facillitates debugging under the Emulation environment.
121 INTEL:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
122 MSFT:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
123 GCC:*_*_IA32_CC_FLAGS = -O0 -DUEFI_C_SOURCE
124 RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
125 ARMGCC:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length
126 XCODE:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized
127
128!else
darylm503d7ce7002011-07-30 00:30:44 +0000129 # These Build Options are used when building the Standard Libraries to be run
130 # on real hardware.
Andrew Fishc21e7a72014-09-09 21:59:08 +0000131 INTEL:*_*_*_CC_FLAGS = /Qfreestanding /D UEFI_C_SOURCE
132 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /D UEFI_C_SOURCE
133 GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE
134 RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
135 ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length
136 XCODE:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized
darylm503d7ce7002011-07-30 00:30:44 +0000137!endif