]> git.proxmox.com Git - mirror_edk2.git/blob - StdLib/StdLib.inc
StdLib/LibC: Add software floating point library from NetBSD
[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) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
9 # 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.
16 ################################################################
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]
28 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
29 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
30 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
31 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
32
33 #
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.
52 LibPosix|StdLib/PosixLib/PosixLib.inf # Combines LibErr, LibGen, LibGlob, LibStringlist, GetPass into one library
53
54 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
58 LibIIO|StdLib/LibC/Uefi/InteractiveIO/IIO.inf
59
60 # Additional, non-standard, libraries
61 LibContainer|StdLib/LibC/Containers/ContainerLib.inf
62
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
67 DevShell|StdLib/LibC/Uefi/Devices/daShell.inf # DEPRECATED! Please use DevMedia for new code.
68 DevMedia|StdLib/LibC/Uefi/Devices/daShell.inf
69 DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf
70
71 LuaLib|AppPkg/Applications/Lua/LuaLib.inf # Lua language library
72
73 [LibraryClasses.ARM]
74 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
75 NULL|StdLib/LibC/Softfloat/Softfloat.inf
76
77 # Add support for GCC stack protector
78 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
79
80 [LibraryClasses.AArch64]
81 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
82
83 # Add support for GCC stack protector
84 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
85
86 [Components]
87 # BaseLib and BaseMemoryLib need to be built with the /GL- switch when using the Microsoft
88 # tool chain. This is required so that the library functions can be resolved during
89 # the second pass of the linker during Link-time-code-generation.
90 ###
91 MdePkg/Library/BaseLib/BaseLib.inf {
92 <BuildOptions>
93 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
94 }
95
96 MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf {
97 <BuildOptions>
98 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
99 }
100
101 ##########
102 # Socket Layer
103 ##########
104 StdLib/SocketDxe/SocketDxe.inf
105
106
107 ##############################################################################
108 #
109 # See the additional comments below if you plan to run applications under an
110 # emulation environment.
111 #
112
113 [BuildOptions]
114 !ifdef $(EMULATE)
115 # The Build Options, below, are only used when building the Standard Libraries
116 # to be run under an emulation environment; such as NT32Pkg.
117 # They disable optimization which facillitates debugging under the Emulation environment.
118 INTEL:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
119 MSFT:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
120 GCC:*_*_IA32_CC_FLAGS = -O0 -DUEFI_C_SOURCE
121 RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
122 ARMGCC:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length
123 XCODE:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized
124
125 !else
126 # These Build Options are used when building the Standard Libraries to be run
127 # on real hardware.
128 INTEL:*_*_*_CC_FLAGS = /Qfreestanding /D UEFI_C_SOURCE
129 MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /D UEFI_C_SOURCE
130 GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE
131 RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
132 ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length
133 XCODE:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized
134 !endif