blob: 5446ecd35f45d67583c73c50655308d9c8e5a08b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
################################################################
# Boilerplate text to be included by any DSC file using the
# Standard Libraries.
#
# The including DSC file must DEFINE the EMULATE macro if
# the application is to be run in an emulation environment.
################################################################
##########
# Socket Support Libraries
##########
[LibraryClasses.common]
BsdSocketLib|StdLib/BsdSocketLib/BsdSocketLib.inf
EfiSocketLib|StdLib/EfiSocketLib/EfiSocketLib.inf
UseSocketDxe|StdLib/UseSocketDxe/UseSocketDxe.inf
[LibraryClasses.Common.UEFI_APPLICATION]
#
# C Standard Libraries
#
LibC|StdLib/LibC/LibC.inf
LibCType|StdLib/LibC/Ctype/Ctype.inf
LibLocale|StdLib/LibC/Locale/Locale.inf
LibMath|StdLib/LibC/Math/Math.inf
LibSignal|StdLib/LibC/Signal/Signal.inf
LibStdio|StdLib/LibC/Stdio/Stdio.inf
LibStdLib|StdLib/LibC/StdLib/StdLib.inf
LibString|StdLib/LibC/String/String.inf
LibTime|StdLib/LibC/Time/Time.inf
LibUefi|StdLib/LibC/Uefi/Uefi.inf
LibWchar|StdLib/LibC/Wchar/Wchar.inf
# Common Utilities for Networking Libraries
LibNetUtil|StdLib/LibC/NetUtil/NetUtil.inf
# Additional libraries for POSIX functionality.
LibErr|StdLib/PosixLib/Err/LibErr.inf
LibGen|StdLib/PosixLib/Gen/LibGen.inf
LibGlob|StdLib/PosixLib/Glob/LibGlob.inf
LibStringlist|StdLib/PosixLib/Stringlist/LibStringlist.inf
# Libraries for device abstractions within the Standard C Library
# Applications should not directly access any functions defined in these libraries.
LibGdtoa|StdLib/LibC/gdtoa/gdtoa.inf
DevConsole|StdLib/LibC/Uefi/Devices/daConsole.inf
DevShell|StdLib/LibC/Uefi/Devices/daShell.inf
DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf
###
# Select the correct TimerLib instance depending upon whether running under
# an emulation environment, or not.
!ifndef $(EMULATE)
# Not running in an Emulation Environment
[LibraryClasses.IA32.UEFI_APPLICATION]
TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
[LibraryClasses.X64.UEFI_APPLICATION]
TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
[LibraryClasses.IPF.UEFI_APPLICATION]
PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf
TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
[LibraryClasses.ARM.UEFI_APPLICATION]
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
!else
# Use this instance if Running in an Emulation Environment.
[LibraryClasses.Common.UEFI_APPLICATION]
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
[LibraryClasses.ARM.UEFI_APPLICATION]
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
!endif
[Components]
# BaseLib and BaseMemoryLib need to be built with the /GL- switch when using the Microsoft
# tool chain. This is required so that the library functions can be resolved during
# the second pass of the linker during Link-time-code-generation.
###
MdePkg/Library/BaseLib/BaseLib.inf {
<BuildOptions>
MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
}
MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf {
<BuildOptions>
MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
}
##########
# Socket Layer
##########
StdLib/SocketDxe/SocketDxe.inf
##############################################################################
#
# See the additional comments below if you plan to run applications under an
# emulation environment.
#
[BuildOptions]
!ifndef $(EMULATE)
# These Build Options are used when building the Standard Libraries to be run
# on real hardware.
INTEL:*_*_*_CC_FLAGS = /Qfreestanding
MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t
GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib
RVCT:*_*_*_CC_FLAGS = --library_interface=none -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm -DNT32dvm
ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length -DNT32dvm
!else
# The Build Options, below, are only used when building the Standard Libraries
# to be run under an emulation environment. They disable the clock() system call
# which is currently incompatible with the most emulation environments.
# Select the correct TimerLib instance, above.
INTEL:*_*_IA32_CC_FLAGS = /Od /D NT32dvm
MSFT:*_*_IA32_CC_FLAGS = /Od /D NT32dvm
GCC:*_*_IA32_CC_FLAGS = -O0 -DNT32dvm
!endif
|