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
|
---|