blob: 8837e04b4f3554473e2695467eb9f098bd013e49 [file] [log] [blame]
################################################################
# Boilerplate text to be included by any DSC file using the
# Standard Libraries.
#
# The including DSC file must DEFINE the EMULATE macro if
# the application is to be run in an emulation environment.
#
# Copyright (c) 2016, Daryl McDaniel. All rights reserved.<BR>
# Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
################################################################
##########
# Socket Support Libraries
##########
[LibraryClasses.common]
BsdSocketLib|StdLib/BsdSocketLib/BsdSocketLib.inf
EfiSocketLib|StdLib/EfiSocketLib/EfiSocketLib.inf
UseSocketDxe|StdLib/UseSocketDxe/UseSocketDxe.inf
[LibraryClasses.Common.UEFI_APPLICATION]
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
#
# C Standard Libraries
#
LibC|StdLib/LibC/LibC.inf
LibCType|StdLib/LibC/Ctype/Ctype.inf
LibLocale|StdLib/LibC/Locale/Locale.inf
LibMath|StdLib/LibC/Math/Math.inf
LibSignal|StdLib/LibC/Signal/Signal.inf
LibStdio|StdLib/LibC/Stdio/Stdio.inf
LibStdLib|StdLib/LibC/StdLib/StdLib.inf
LibString|StdLib/LibC/String/String.inf
LibTime|StdLib/LibC/Time/Time.inf
LibUefi|StdLib/LibC/Uefi/Uefi.inf
LibWchar|StdLib/LibC/Wchar/Wchar.inf
# Common Utilities for Networking Libraries
LibNetUtil|StdLib/LibC/NetUtil/NetUtil.inf
# Additional libraries for POSIX functionality.
LibPosix|StdLib/PosixLib/PosixLib.inf # Combines LibErr, LibGen, LibGlob, LibStringlist, GetPass into one library
LibErr|StdLib/PosixLib/Err/LibErr.inf
LibGen|StdLib/PosixLib/Gen/LibGen.inf
LibGlob|StdLib/PosixLib/Glob/LibGlob.inf
LibStringlist|StdLib/PosixLib/Stringlist/LibStringlist.inf
LibIIO|StdLib/LibC/Uefi/InteractiveIO/IIO.inf
# Additional, non-standard, libraries
LibContainer|StdLib/LibC/Containers/ContainerLib.inf
# Libraries for device abstractions within the Standard C Library
# Applications should not directly access any functions defined in these libraries.
LibGdtoa|StdLib/LibC/gdtoa/gdtoa.inf
DevConsole|StdLib/LibC/Uefi/Devices/daConsole.inf
DevShell|StdLib/LibC/Uefi/Devices/daShell.inf # DEPRECATED! Please use DevMedia for new code.
DevMedia|StdLib/LibC/Uefi/Devices/daShell.inf
DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf
LuaLib|AppPkg/Applications/Lua/LuaLib.inf # Lua language library
[LibraryClasses.ARM]
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
NULL|StdLib/LibC/Softfloat/Softfloat.inf
# Add support for GCC stack protector
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
[LibraryClasses.AArch64]
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
# Use the softfloat library to cover missing hardfloat operations.
NULL|StdLib/LibC/Softfloat/Softfloat.inf
# Add support for GCC stack protector
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
[Components]
# BaseLib and BaseMemoryLib need to be built with the /GL- switch when using the Microsoft
# tool chain. This is required so that the library functions can be resolved during
# the second pass of the linker during Link-time-code-generation.
###
MdePkg/Library/BaseLib/BaseLib.inf {
<BuildOptions>
MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
}
MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf {
<BuildOptions>
MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-
}
##########
# Socket Layer
##########
StdLib/SocketDxe/SocketDxe.inf
##############################################################################
#
# See the additional comments below if you plan to run applications under an
# emulation environment.
#
[BuildOptions]
!ifdef $(EMULATE)
# The Build Options, below, are only used when building the Standard Libraries
# to be run under an emulation environment; such as NT32Pkg.
# They disable optimization which facillitates debugging under the Emulation environment.
INTEL:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
MSFT:*_*_IA32_CC_FLAGS = /Od /D UEFI_C_SOURCE
GCC:*_*_IA32_CC_FLAGS = -O0 -DUEFI_C_SOURCE
RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
XCODE:*_*_*_CC_FLAGS = -O0 -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized
!else
# These Build Options are used when building the Standard Libraries to be run
# on real hardware.
INTEL:*_*_*_CC_FLAGS = /Qfreestanding /D UEFI_C_SOURCE
MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /D UEFI_C_SOURCE
GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE
RVCT:*_*_*_CC_FLAGS = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm
XCODE:*_*_*_CC_FLAGS = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized
!endif
# Temporarily restrict compiler warnings to those produced by VS2012.
# Code that fails when these flags are removed will have to be rewritten
# in order to pass. This may be as simple as renaming an object, but may
# require more significant changes.
MSFT:*_VS2015_*_CC_FLAGS = /Wv:11
MSFT:*_VS2015x86_*_CC_FLAGS = /Wv:11
MSFT:*_VS2015xASL_*_CC_FLAGS = /Wv:11
MSFT:*_VS2015x86xASL_*_CC_FLAGS = /Wv:11