# for important information about configuring this package for your\r
# environment.\r
#\r
-# Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
PLATFORM_VERSION = 0.01\r
DSC_SPECIFICATION = 0x00010006\r
OUTPUT_DIRECTORY = Build/AppPkg\r
- SUPPORTED_ARCHITECTURES = IA32|IPF|X64\r
- BUILD_TARGETS = DEBUG|RELEASE\r
+ SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64\r
+ BUILD_TARGETS = DEBUG|RELEASE|NOOPT\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 = 0x80000040 # Flags to control amount of debug output\r
+ DEFINE DEBUG_PROPERTY_MASK = 0\r
+\r
[PcdsFeatureFlag]\r
\r
[PcdsFixedAtBuild]\r
- gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f\r
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000\r
-\r
-[PcdsFixedAtBuild.IPF]\r
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK)\r
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)\r
\r
[LibraryClasses]\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
+\r
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
+\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
+ CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.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
#### Sample Applications.\r
AppPkg/Applications/Hello/Hello.inf # No LibC includes or functions.\r
AppPkg/Applications/Main/Main.inf # Simple invocation. No other LibC functions.\r
- AppPkg/Applications/Enquire/Enquire.inf\r
+ AppPkg/Applications/Enquire/Enquire.inf #\r
+ AppPkg/Applications/ArithChk/ArithChk.inf #\r
+\r
+#### A simple fuzzer for OrderedCollectionLib, in particular for\r
+#### BaseOrderedCollectionRedBlackTreeLib.\r
+ AppPkg/Applications/OrderedCollectionTest/OrderedCollectionTest.inf {\r
+ <LibraryClasses>\r
+ OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf\r
+ DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf\r
+ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
+ <PcdsFeatureFlag>\r
+ gEfiMdePkgTokenSpaceGuid.PcdValidateOrderedCollection|TRUE\r
+ <PcdsFixedAtBuild>\r
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80400040\r
+ }\r
\r
-################################################################\r
-#\r
-# See the additional comments below if you plan to run applications under the\r
-# Nt32 emulation environment.\r
-#\r
+#### Un-comment the following line to build Python 2.7.2.\r
+# AppPkg/Applications/Python/PythonCore.inf\r
+\r
+#### Un-comment the following line to build Python 2.7.10.\r
+# AppPkg/Applications/Python/Python-2.7.10/Python2710.inf\r
\r
-[BuildOptions]\r
- INTEL:*_*_*_CC_FLAGS = /Qfreestanding\r
- MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t\r
- GCC:*_*_*_CC_FLAGS = -ffreestanding -nostdinc -nostdlib\r
+#### Un-comment the following line to build Lua.\r
+# AppPkg/Applications/Lua/Lua.inf\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
+#\r
+# Specify whether we are running in an emulation environment, or not.\r
+# Define EMULATE if we are, else keep the DEFINE commented out.\r
+#\r
+# DEFINE EMULATE = 1\r
+\r
+##############################################################################\r
+#\r
+# Include Boilerplate text required for building with the Standard Libraries.\r
+#\r
+##############################################################################\r
+!include StdLib/StdLib.inc\r
+!include AppPkg/Applications/Sockets/Sockets.inc\r