## @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.
# 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 # Libraries for device abstractions within the Standard C Library # Applications should not directly access any functions defined in these libraries. DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf DevConsole|StdLib/LibC/Uefi/Devices/daConsole.inf DevShell|StdLib/LibC/Uefi/Devices/daShell.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 { MSFT:*_*_*_CC_FLAGS = /X /Zc:wchar_t /GL- } MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf { 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 AppPkg/Applications/Python/PythonCore.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