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