]> git.proxmox.com Git - mirror_edk2.git/blob - StdLib/StdLib.inc
SecurityPkg: Add TPM PTP support in TCG2 SMM.
[mirror_edk2.git] / StdLib / StdLib.inc
1 ################################################################
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.
7 #
8 # Copyright (c) 2016, Daryl McDaniel. All rights reserved.<BR>
9 # Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
10 # This program and the accompanying materials
11 # are licensed and made available under the terms and conditions of the BSD License
12 # which accompanies this distribution. The full text of the license may be found at
13 # http://opensource.org/licenses/bsd-license.
14 #
15 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 ################################################################
18
19 ##########
20 # Socket Support Libraries
21 ##########
22
23 [LibraryClasses.common]
24 BsdSocketLib|StdLib/BsdSocketLib/BsdSocketLib.inf
25 EfiSocketLib|StdLib/EfiSocketLib/EfiSocketLib.inf
26 UseSocketDxe|StdLib/UseSocketDxe/UseSocketDxe.inf
27
28 [LibraryClasses.Common.UEFI_APPLICATION]
29 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
30 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
31 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
32 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
33
34 #
35 # C Standard Libraries
36 #
37 LibC|StdLib/LibC/LibC.inf
38 LibCType|StdLib/LibC/Ctype/Ctype.inf
39 LibLocale|StdLib/LibC/Locale/Locale.inf
40 LibMath|StdLib/LibC/Math/Math.inf
41 LibSignal|StdLib/LibC/Signal/Signal.inf
42 LibStdio|StdLib/LibC/Stdio/Stdio.inf
43 LibStdLib|StdLib/LibC/StdLib/StdLib.inf
44 LibString|StdLib/LibC/String/String.inf
45 LibTime|StdLib/LibC/Time/Time.inf
46 LibUefi|StdLib/LibC/Uefi/Uefi.inf
47 LibWchar|StdLib/LibC/Wchar/Wchar.inf
48
49 # Common Utilities for Networking Libraries
50 LibNetUtil|StdLib/LibC/NetUtil/NetUtil.inf
51
52 # Additional libraries for POSIX functionality.
53 LibPosix|StdLib/PosixLib/PosixLib.inf # Combines LibErr, LibGen, LibGlob, LibStringlist, GetPass into one library
54
55 LibErr|StdLib/PosixLib/Err/LibErr.inf
56 LibGen|StdLib/PosixLib/Gen/LibGen.inf
57 LibGlob|StdLib/PosixLib/Glob/LibGlob.inf
58 LibStringlist|StdLib/PosixLib/Stringlist/LibStringlist.inf
59 LibIIO|StdLib/LibC/Uefi/InteractiveIO/IIO.inf
60
61 # Additional, non-standard, libraries
62 LibContainer|StdLib/LibC/Containers/ContainerLib.inf
63
64 # Libraries for device abstractions within the Standard C Library
65 # Applications should not directly access any functions defined in these libraries.
66 LibGdtoa|StdLib/LibC/gdtoa/gdtoa.inf
67 DevConsole|StdLib/LibC/Uefi/Devices/daConsole.inf
68 DevShell|StdLib/LibC/Uefi/Devices/daShell.inf # DEPRECATED! Please use DevMedia for new code.
69 DevMedia|StdLib/LibC/Uefi/Devices/daShell.inf
70 DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf
71
72 LuaLib|AppPkg/Applications/Lua/LuaLib.inf # Lua language library
73
74 [LibraryClasses.ARM]
75 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
76 NULL|StdLib/LibC/Softfloat/Softfloat.inf
77
78 # Add support for GCC stack protector
79 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
80
81 [LibraryClasses.AArch64]
82 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
83
84 # Use the softfloat library to cover missing hardfloat operations.
85 NULL|StdLib/LibC/Softfloat/Softfloat.inf
86
87 # Add support for GCC stack protector
88 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
89
90 [Components]
91 # BaseLib and BaseMemoryLib need to be built with the /GL- switch when using the Microsoft
92 # tool chain. This is required so that the library functions can be resolved during
93 # the second pass of the linker during Link-time-code-generation.
94 ###
95 MdePkg/Library/BaseLib/BaseLib.inf {
96 <BuildOptions>
97 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
98 }
99
100 MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf {
101 <BuildOptions>
102 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
103 }
104
105 ##########
106 # Socket Layer
107 ##########
108 StdLib/SocketDxe/SocketDxe.inf
109
110
111 ##############################################################################
112 #
113 # See the additional comments below if you plan to run applications under an
114 # emulation environment.
115 #
116
117 [BuildOptions]
118 !ifdef $(EMULATE)
119 # The Build Options, below, are only used when building the Standard Libraries
120 # to be run under an emulation environment; such as NT32Pkg.
121 # They disable optimization which facillitates debugging under the Emulation environment.
122 INTEL:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
123 MSFT:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
124 GCC:*_*_IA32_CC_FLAGS = -O0 -DUEFI_C_SOURCE
125 RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
126 XCODE:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized
127
128 !else
129 # These Build Options are used when building the Standard Libraries to be run
130 # on real hardware.
131 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 XCODE:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized
136 !endif
137
138 # Temporarily restrict compiler warnings to those produced by VS2012.
139 # Code that fails when these flags are removed will have to be rewritten
140 # in order to pass. This may be as simple as renaming an object, but may
141 # require more significant changes.
142 MSFT:*_VS2015_*_CC_FLAGS = /Wv:11
143 MSFT:*_VS2015x86_*_CC_FLAGS = /Wv:11
144 MSFT:*_VS2015xASL_*_CC_FLAGS = /Wv:11
145 MSFT:*_VS2015x86xASL_*_CC_FLAGS = /Wv:11