################################################################ # 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) 2011, Intel Corporation. All rights reserved.
# 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] # # 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. LibErr|StdLib/PosixLib/Err/LibErr.inf LibGen|StdLib/PosixLib/Gen/LibGen.inf LibGlob|StdLib/PosixLib/Glob/LibGlob.inf LibStringlist|StdLib/PosixLib/Stringlist/LibStringlist.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 DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf ### # Select the correct TimerLib instance depending upon whether running under # an emulation environment, or not. !ifndef $(EMULATE) # Not running in an Emulation Environment [LibraryClasses.IA32.UEFI_APPLICATION] TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf # TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf [LibraryClasses.X64.UEFI_APPLICATION] TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf # TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf [LibraryClasses.IPF.UEFI_APPLICATION] PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf [LibraryClasses.ARM.UEFI_APPLICATION] NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf !else # Use this instance if Running in an Emulation Environment. [LibraryClasses.Common.UEFI_APPLICATION] TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf [LibraryClasses.ARM.UEFI_APPLICATION] NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf !endif [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 { MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL- } MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf { 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] !ifndef $(EMULATE) # These Build Options are used when building the Standard Libraries to be run # on real hardware. INTEL:*_*_*_CC_FLAGS = /Qfreestanding MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /D NT32dvm GCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib RVCT:*_*_*_CC_FLAGS = --library_interface=none -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm -DNT32dvm ARMGCC:*_*_*_CC_FLAGS = -nostdinc -nostdlib -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length -DNT32dvm !else # The Build Options, below, are only used when building the Standard Libraries # to be run under an emulation environment. They disable the clock() system call # which is currently incompatible with the most emulation environments. # Select the correct TimerLib instance, above. INTEL:*_*_IA32_CC_FLAGS = /Od /D NT32dvm MSFT:*_*_IA32_CC_FLAGS = /Od /D NT32dvm GCC:*_*_IA32_CC_FLAGS = -O0 -DNT32dvm !endif