X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=StdLib%2FStdLib.dsc;h=6bbab03a306e8a2ba9c7d5a8313cd8bd01d06a4a;hb=69e259e5e9877de181d81bb424b6fe16804c7580;hp=3024b02a2042d0e9b8c08d4f11bb9cb996ad6104;hpb=2aa62f2bc9a9654687b377d9ca8a8c2c860a3852;p=mirror_edk2.git
diff --git a/StdLib/StdLib.dsc b/StdLib/StdLib.dsc
index 3024b02a20..6bbab03a30 100644
--- a/StdLib/StdLib.dsc
+++ b/StdLib/StdLib.dsc
@@ -8,8 +8,10 @@
#
# This package contains:
# Standard C Library.
+# Sockets Library.
+# Posix Library.
#
-# Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.
+# Copyright (c) 2010 - 2018, 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
@@ -25,17 +27,22 @@
PLATFORM_VERSION = 0.01
DSC_SPECIFICATION = 0x00010006
OUTPUT_DIRECTORY = Build/StdLib
- SUPPORTED_ARCHITECTURES = IA32|IPF|X64
- BUILD_TARGETS = DEBUG|RELEASE
+ SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64
+ BUILD_TARGETS = DEBUG|RELEASE|NOOPT
SKUID_IDENTIFIER = DEFAULT
+#
+# Debug output control
+#
+ DEFINE DEBUG_ENABLE_OUTPUT = FALSE # Set to TRUE to enable debug output
+ DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80000000 # Flags to control amount of debug output
+ DEFINE DEBUG_PROPERTY_MASK = 0x0f
+
[PcdsFeatureFlag]
[PcdsFixedAtBuild]
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
-
-[PcdsFixedAtBuild.IPF]
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK)
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
[LibraryClasses]
#
@@ -43,6 +50,7 @@
#
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
+ UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
#
# Common Libraries
#
@@ -54,7 +62,12 @@
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
- DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+ !if $(DEBUG_ENABLE_OUTPUT)
+ DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
+ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
+ !else ## DEBUG_ENABLE_OUTPUT
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+ !endif ## DEBUG_ENABLE_OUTPUT
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
@@ -62,42 +75,13 @@
PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
+ HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
- HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
- FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
- SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf
-
- #
- # C Standard Libraries
- #
- LibC|StdLib/LibC/LibC.inf
- LibStdLib|StdLib/LibC/StdLib/StdLib.inf
- LibString|StdLib/LibC/String/String.inf
- LibWchar|StdLib/LibC/Wchar/Wchar.inf
- LibCType|StdLib/LibC/Ctype/Ctype.inf
- LibTime|StdLib/LibC/Time/Time.inf
- LibStdio|StdLib/LibC/Stdio/Stdio.inf
- LibGdtoa|StdLib/LibC/gdtoa/gdtoa.inf
- LibLocale|StdLib/LibC/Locale/Locale.inf
- LibUefi|StdLib/LibC/Uefi/Uefi.inf
- LibMath|StdLib/LibC/Math/Math.inf
- LibSignal|StdLib/LibC/Signal/Signal.inf
- LibNetUtil|StdLib/LibC/NetUtil/NetUtil.inf
-
-[LibraryClasses.IA32]
- TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
- ## Comment out the above line and un-comment the line below for running under Nt32 emulation.
-# TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
-
-[LibraryClasses.X64]
- TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf
-
-[LibraryClasses.IPF]
- PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf
- TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf
###################################################################################################
#
@@ -119,20 +103,6 @@
###################################################################################################
[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-
-# }
-
# Standard C Libraries.
StdLib/LibC/LibC.inf
StdLib/LibC/StdLib/StdLib.inf
@@ -141,30 +111,38 @@
StdLib/LibC/Ctype/Ctype.inf
StdLib/LibC/Time/Time.inf
StdLib/LibC/Stdio/Stdio.inf
- StdLib/LibC/gdtoa/gdtoa.inf
StdLib/LibC/Locale/Locale.inf
StdLib/LibC/Uefi/Uefi.inf
StdLib/LibC/Math/Math.inf
StdLib/LibC/Signal/Signal.inf
StdLib/LibC/NetUtil/NetUtil.inf
-
-################################################################
+# Device Abstractions within the Standard C Library
+# Applications should not directly access any functions defined in these libraries.
+ StdLib/LibC/gdtoa/gdtoa.inf
+ StdLib/LibC/Uefi/Devices/daUtility.inf
+ StdLib/LibC/Uefi/Devices/daConsole.inf
+ StdLib/LibC/Uefi/Devices/daShell.inf
+
+# Additional, non-standard, libraries
+ StdLib/LibC/Containers/ContainerLib.inf
+
+# Additional libraries for POSIX functionality.
+ StdLib/PosixLib/PosixLib.inf
+ StdLib/PosixLib/Err/LibErr.inf
+ StdLib/PosixLib/Gen/LibGen.inf
+ StdLib/PosixLib/Glob/LibGlob.inf
+ StdLib/PosixLib/Stringlist/LibStringlist.inf
+ StdLib/LibC/Uefi/InteractiveIO/IIO.inf
+
+# Socket Libraries - LibC based
+ StdLib/BsdSocketLib/BsdSocketLib.inf
+ StdLib/EfiSocketLib/EfiSocketLib.inf
+ StdLib/UseSocketDxe/UseSocketDxe.inf
+
+##############################################################################
#
-# See the additional comments below if you plan to run applications under the
-# Nt32 emulation environment.
+# Include Boilerplate text required for building with the Standard Libraries.
#
-
-[BuildOptions]
- INTEL:*_*_*_CC_FLAGS = /Qfreestanding
- MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t
- GCC:*_*_*_CC_FLAGS = -ffreestanding -nostdinc -nostdlib
-
-# The Build Options, below, are only used when building the C library
-# to be run under the NT32 emulation. They disable the clock() system call
-# which is currently incompatible with the NT32 environment.
-# Just uncomment the lines below and select the correct TimerLib instance, above.
-
- # INTEL:*_*_IA32_CC_FLAGS = /D NT32dvm
- # MSFT:*_*_IA32_CC_FLAGS = /D NT32dvm
- # GCC:*_*_IA32_CC_FLAGS = -DNT32dvm
+##############################################################################
+!include StdLib/StdLib.inc