## @file | |
# Intel(r) UEFI Application Development Kit for EDK II. | |
# This package contains applications which depend upon Standard Libraries | |
# from the StdLib package. | |
# | |
# See the comments in the [LibraryClasses.IA32] and [BuildOptions] sections | |
# for important information about configuring this package for your | |
# environment. | |
# | |
# Copyright (c) 2010 - 2011, 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. | |
## | |
[Defines] | |
PLATFORM_NAME = AppPkg | |
PLATFORM_GUID = 0458dade-8b6e-4e45-b773-1b27cbda3e06 | |
PLATFORM_VERSION = 0.01 | |
DSC_SPECIFICATION = 0x00010006 | |
OUTPUT_DIRECTORY = Build/AppPkg | |
SUPPORTED_ARCHITECTURES = IA32|IPF|X64 | |
BUILD_TARGETS = DEBUG|RELEASE | |
SKUID_IDENTIFIER = DEFAULT | |
[PcdsFeatureFlag] | |
[PcdsFixedAtBuild] | |
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f | |
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000 | |
[PcdsFixedAtBuild.IPF] | |
[LibraryClasses] | |
# | |
# Entry Point Libraries | |
# | |
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf | |
ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf | |
# | |
# Common Libraries | |
# | |
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf | |
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf | |
UefiLib|MdePkg/Library/UefiLib/UefiLib.inf | |
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf | |
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf | |
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf | |
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf | |
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf | |
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf | |
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf | |
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf | |
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf | |
PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf | |
PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf | |
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf | |
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.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 | |
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 | |
################################################################################################### | |
# | |
# Components Section - list of the modules and components that will be processed by compilation | |
# tools and the EDK II tools to generate PE32/PE32+/Coff image files. | |
# | |
# Note: The EDK II DSC file is not used to specify how compiled binary images get placed | |
# into firmware volume images. This section is just a list of modules to compile from | |
# source into UEFI-compliant binaries. | |
# It is the FDF file that contains information on combining binary files into firmware | |
# volume images, whose concept is beyond UEFI and is described in PI specification. | |
# Binary modules do not need to be listed in this section, as they should be | |
# specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi), | |
# Logo (Logo.bmp), and etc. | |
# There may also be modules listed in this section that are not required in the FDF file, | |
# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be | |
# generated for it, but the binary will not be put into any firmware volume. | |
# | |
################################################################################################### | |
[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- | |
} | |
#### Sample Applications. | |
AppPkg/Applications/Hello/Hello.inf # No LibC includes or functions. | |
AppPkg/Applications/Main/Main.inf # Simple invocation. No other LibC functions. | |
AppPkg/Applications/Enquire/Enquire.inf | |
################################################################ | |
# | |
# See the additional comments below if you plan to run applications under the | |
# Nt32 emulation environment. | |
# | |
[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 |