]> git.proxmox.com Git - mirror_edk2.git/blame - StdLib/StdLib.inc
StdLib: Improve robustness of stat() and make basename() a public function.
[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
41b152c5 7#\r
8# Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
9# This program and the accompanying materials\r
10# are licensed and made available under the terms and conditions of the BSD License\r
11# which accompanies this distribution. The full text of the license may be found at\r
12# http://opensource.org/licenses/bsd-license.\r
13#\r
14# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
15# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
d7ce7006 16################################################################\r
17\r
18##########\r
19# Socket Support Libraries\r
20##########\r
21\r
22[LibraryClasses.common]\r
23 BsdSocketLib|StdLib/BsdSocketLib/BsdSocketLib.inf\r
24 EfiSocketLib|StdLib/EfiSocketLib/EfiSocketLib.inf\r
25 UseSocketDxe|StdLib/UseSocketDxe/UseSocketDxe.inf\r
26\r
27[LibraryClasses.Common.UEFI_APPLICATION]\r
28 #\r
29 # C Standard Libraries\r
30 #\r
31 LibC|StdLib/LibC/LibC.inf\r
32 LibCType|StdLib/LibC/Ctype/Ctype.inf\r
33 LibLocale|StdLib/LibC/Locale/Locale.inf\r
34 LibMath|StdLib/LibC/Math/Math.inf\r
35 LibSignal|StdLib/LibC/Signal/Signal.inf\r
36 LibStdio|StdLib/LibC/Stdio/Stdio.inf\r
37 LibStdLib|StdLib/LibC/StdLib/StdLib.inf\r
38 LibString|StdLib/LibC/String/String.inf\r
39 LibTime|StdLib/LibC/Time/Time.inf\r
40 LibUefi|StdLib/LibC/Uefi/Uefi.inf\r
41 LibWchar|StdLib/LibC/Wchar/Wchar.inf\r
42\r
43# Common Utilities for Networking Libraries\r
44 LibNetUtil|StdLib/LibC/NetUtil/NetUtil.inf\r
45\r
46# Additional libraries for POSIX functionality.\r
47 LibErr|StdLib/PosixLib/Err/LibErr.inf\r
48 LibGen|StdLib/PosixLib/Gen/LibGen.inf\r
49 LibGlob|StdLib/PosixLib/Glob/LibGlob.inf\r
50 LibStringlist|StdLib/PosixLib/Stringlist/LibStringlist.inf\r
51\r
52# Libraries for device abstractions within the Standard C Library\r
53# Applications should not directly access any functions defined in these libraries.\r
54 LibGdtoa|StdLib/LibC/gdtoa/gdtoa.inf\r
55 DevConsole|StdLib/LibC/Uefi/Devices/daConsole.inf\r
56 DevShell|StdLib/LibC/Uefi/Devices/daShell.inf\r
57 DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf\r
58\r
59###\r
60# Select the correct TimerLib instance depending upon whether running under\r
61# an emulation environment, or not.\r
62!ifndef $(EMULATE)\r
63 # Not running in an Emulation Environment\r
64[LibraryClasses.IA32.UEFI_APPLICATION]\r
41b152c5 65 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
66# TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf\r
d7ce7006 67\r
68[LibraryClasses.X64.UEFI_APPLICATION]\r
41b152c5 69 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
70# TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf\r
d7ce7006 71\r
72[LibraryClasses.IPF.UEFI_APPLICATION]\r
73 PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf\r
74 TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf\r
75\r
c614ca50 76[LibraryClasses.ARM.UEFI_APPLICATION]\r
77 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
78 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
79\r
80\r
d7ce7006 81!else\r
274402de 82 # Use this instance if Running in an Emulation Environment.\r
d7ce7006 83[LibraryClasses.Common.UEFI_APPLICATION]\r
84 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
c614ca50 85\r
86[LibraryClasses.ARM.UEFI_APPLICATION]\r
87 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
88\r
d7ce7006 89!endif\r
90\r
91[Components]\r
92# BaseLib and BaseMemoryLib need to be built with the /GL- switch when using the Microsoft\r
93# tool chain. This is required so that the library functions can be resolved during\r
94# the second pass of the linker during Link-time-code-generation.\r
95###\r
96 MdePkg/Library/BaseLib/BaseLib.inf {\r
97 <BuildOptions>\r
98 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-\r
99 }\r
100\r
101 MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf {\r
102 <BuildOptions>\r
103 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-\r
104 }\r
105\r
106##########\r
107# Socket Layer\r
108##########\r
109 StdLib/SocketDxe/SocketDxe.inf\r
110\r
111\r
112##############################################################################\r
113#\r
114# See the additional comments below if you plan to run applications under an\r
115# emulation environment.\r
116#\r
117\r
118[BuildOptions]\r
119!ifndef $(EMULATE)\r
120 # These Build Options are used when building the Standard Libraries to be run\r
121 # on real hardware.\r
41b152c5 122 INTEL:*_*_*_CC_FLAGS = /Qfreestanding\r
123 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /D NT32dvm\r
124 GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib\r
c614ca50 125 RVCT:*_*_*_CC_FLAGS = --library_interface=none -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm -DNT32dvm\r
126 ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length -DNT32dvm\r
d7ce7006 127\r
128!else\r
129 # The Build Options, below, are only used when building the Standard Libraries\r
130 # to be run under an emulation environment. They disable the clock() system call\r
131 # which is currently incompatible with the most emulation environments.\r
132 # Select the correct TimerLib instance, above.\r
133 INTEL:*_*_IA32_CC_FLAGS = /Od /D NT32dvm\r
134 MSFT:*_*_IA32_CC_FLAGS = /Od /D NT32dvm\r
135 GCC:*_*_IA32_CC_FLAGS = -O0 -DNT32dvm\r
136!endif\r