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 146