PLATFORM_VERSION = 0.01\r
DSC_SPECIFICATION = 0x00010006\r
OUTPUT_DIRECTORY = Build/StdLib\r
- SUPPORTED_ARCHITECTURES = IA32|IPF|X64\r
+ SUPPORTED_ARCHITECTURES = IA32|IPF|X64|ARM\r
BUILD_TARGETS = DEBUG|RELEASE\r
SKUID_IDENTIFIER = DEFAULT\r
\r
+#\r
+# Debug output control\r
+#\r
+ DEFINE DEBUG_ENABLE_OUTPUT = FALSE # Set to TRUE to enable debug output\r
+ DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x80000000 # Flags to control amount of debug output\r
+ DEFINE DEBUG_PROPERTY_MASK = 0x0f\r
+\r
[PcdsFeatureFlag]\r
\r
[PcdsFixedAtBuild]\r
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f\r
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000\r
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK)\r
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)\r
\r
[PcdsFixedAtBuild.IPF]\r
\r
#\r
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
+ UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
#\r
# Common Libraries\r
#\r
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
- DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+ !if $(DEBUG_ENABLE_OUTPUT)\r
+ DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf\r
+ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
+ !else ## DEBUG_ENABLE_OUTPUT\r
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+ !endif ## DEBUG_ENABLE_OUTPUT\r
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf\r
-\r
- #\r
- # C Standard Libraries\r
- #\r
- LibC|StdLib/LibC/LibC.inf\r
- LibStdLib|StdLib/LibC/StdLib/StdLib.inf\r
- LibString|StdLib/LibC/String/String.inf\r
- LibWchar|StdLib/LibC/Wchar/Wchar.inf\r
- LibCType|StdLib/LibC/Ctype/Ctype.inf\r
- LibTime|StdLib/LibC/Time/Time.inf\r
- LibStdio|StdLib/LibC/Stdio/Stdio.inf\r
- LibGdtoa|StdLib/LibC/gdtoa/gdtoa.inf\r
- LibLocale|StdLib/LibC/Locale/Locale.inf\r
- LibUefi|StdLib/LibC/Uefi/Uefi.inf\r
- LibMath|StdLib/LibC/Math/Math.inf\r
- LibSignal|StdLib/LibC/Signal/Signal.inf\r
- LibNetUtil|StdLib/LibC/NetUtil/NetUtil.inf\r
-\r
-[LibraryClasses.IA32]\r
- TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf\r
- ## Comment out the above line and un-comment the line below for running under Nt32 emulation.\r
-# TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
-\r
-[LibraryClasses.X64]\r
- TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf\r
-\r
-[LibraryClasses.IPF]\r
- PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf\r
- TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf\r
+ PathLib|ShellPkg/Library/BasePathLib/BasePathLib.inf\r
\r
###################################################################################################\r
#\r
###################################################################################################\r
\r
[Components]\r
-# BaseLib and BaseMemoryLib need to be built with the /GL- switch when using the Microsoft\r
-# tool chain. This is required so that the library functions can be resolved during\r
-# the second pass of the linker during Link-time-code-generation.\r
-###\r
-# MdePkg/Library/BaseLib/BaseLib.inf {\r
-# <BuildOptions>\r
-# MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-\r
-# }\r
-#\r
-# MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf {\r
-# <BuildOptions>\r
-# MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL-\r
-# }\r
-\r
# Standard C Libraries.\r
StdLib/LibC/LibC.inf\r
StdLib/LibC/StdLib/StdLib.inf\r
StdLib/LibC/Ctype/Ctype.inf\r
StdLib/LibC/Time/Time.inf\r
StdLib/LibC/Stdio/Stdio.inf\r
- StdLib/LibC/gdtoa/gdtoa.inf\r
StdLib/LibC/Locale/Locale.inf\r
StdLib/LibC/Uefi/Uefi.inf\r
StdLib/LibC/Math/Math.inf\r
StdLib/LibC/Signal/Signal.inf\r
StdLib/LibC/NetUtil/NetUtil.inf\r
\r
-\r
-################################################################\r
+# Device Abstractions within the Standard C Library\r
+# Applications should not directly access any functions defined in these libraries.\r
+ StdLib/LibC/gdtoa/gdtoa.inf\r
+ StdLib/LibC/Uefi/Devices/daUtility.inf\r
+ StdLib/LibC/Uefi/Devices/daConsole.inf\r
+ StdLib/LibC/Uefi/Devices/daShell.inf\r
+\r
+# Additional, non-standard, libraries\r
+ StdLib/LibC/Containers/ContainerLib.inf\r
+\r
+# Additional libraries for POSIX functionality.\r
+ StdLib/PosixLib/Err/LibErr.inf\r
+ StdLib/PosixLib/Gen/LibGen.inf\r
+ StdLib/PosixLib/Glob/LibGlob.inf\r
+ StdLib/PosixLib/Stringlist/LibStringlist.inf\r
+ StdLib/LibC/Uefi/InteractiveIO/IIO.inf\r
+\r
+# Socket Libraries - LibC based\r
+ StdLib/BsdSocketLib/BsdSocketLib.inf\r
+ StdLib/EfiSocketLib/EfiSocketLib.inf\r
+ StdLib/UseSocketDxe/UseSocketDxe.inf\r
+\r
+##############################################################################\r
#\r
-# See the additional comments below if you plan to run applications under the\r
-# Nt32 emulation environment.\r
+# Include Boilerplate text required for building with the Standard Libraries.\r
#\r
-\r
-[BuildOptions]\r
- INTEL:*_*_*_CC_FLAGS = /Qfreestanding\r
- MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t\r
- GCC:*_*_*_CC_FLAGS = -ffreestanding -nostdinc -nostdlib\r
-\r
-# The Build Options, below, are only used when building the C library\r
-# to be run under the NT32 emulation. They disable the clock() system call\r
-# which is currently incompatible with the NT32 environment.\r
-# Just uncomment the lines below and select the correct TimerLib instance, above.\r
-\r
- # INTEL:*_*_IA32_CC_FLAGS = /D NT32dvm\r
- # MSFT:*_*_IA32_CC_FLAGS = /D NT32dvm\r
- # GCC:*_*_IA32_CC_FLAGS = -DNT32dvm\r
+##############################################################################\r
+!include StdLib/StdLib.inc\r