Home | History | Annotate | Download | only in StdLib
      1 ## @file

      2 #   Intel(r) UEFI Standard Libraries for EDK II.

      3 #   Build descriptions.

      4 #

      5 #   See the comments in the [LibraryClasses.IA32] and [BuildOptions] sections

      6 #   for important information about configuring this package for your

      7 #   environment.

      8 #

      9 # This package contains:

     10 #       Standard C Library.

     11 #       Sockets Library.

     12 #       Posix Library.

     13 #

     14 #   Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>

     15 #   This program and the accompanying materials

     16 #   are licensed and made available under the terms and conditions of the BSD License

     17 #   which accompanies this distribution. The full text of the license may be found at

     18 #   http://opensource.org/licenses/bsd-license.

     19 #

     20 #   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,

     21 #   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.

     22 ##

     23 
     24 [Defines]
     25   PLATFORM_NAME                  = StdLib
     26   PLATFORM_GUID                  = 6135e67b-d813-4e4a-93c3-945d6af41858
     27   PLATFORM_VERSION               = 0.01
     28   DSC_SPECIFICATION              = 0x00010006
     29   OUTPUT_DIRECTORY               = Build/StdLib
     30   SUPPORTED_ARCHITECTURES        = IA32|X64|ARM|AARCH64
     31   BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT
     32   SKUID_IDENTIFIER               = DEFAULT
     33 
     34 #

     35 #  Debug output control

     36 #

     37   DEFINE DEBUG_ENABLE_OUTPUT      = FALSE       # Set to TRUE to enable debug output

     38   DEFINE DEBUG_PRINT_ERROR_LEVEL  = 0x80000000  # Flags to control amount of debug output

     39   DEFINE DEBUG_PROPERTY_MASK      = 0x0f
     40 
     41 [PcdsFeatureFlag]
     42 
     43 [PcdsFixedAtBuild]
     44   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|$(DEBUG_PROPERTY_MASK)
     45   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
     46 
     47 [PcdsFixedAtBuild.IPF]
     48 
     49 [LibraryClasses]
     50   #

     51   # Entry Point Libraries

     52   #

     53   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
     54   ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
     55   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
     56   #

     57   # Common Libraries

     58   #

     59   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
     60   BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
     61   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
     62   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
     63   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
     64   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
     65   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
     66   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
     67   !if $(DEBUG_ENABLE_OUTPUT)
     68     DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
     69     DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
     70   !else   ## DEBUG_ENABLE_OUTPUT

     71     DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
     72   !endif  ## DEBUG_ENABLE_OUTPUT

     73   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
     74   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
     75   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
     76   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
     77   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
     78   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
     79   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
     80   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
     81   FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
     82   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
     83   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
     84   PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
     85   SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
     86   ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
     87 
     88 ###################################################################################################

     89 #

     90 # Components Section - list of the modules and components that will be processed by compilation

     91 #                      tools and the EDK II tools to generate PE32/PE32+/Coff image files.

     92 #

     93 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed

     94 #       into firmware volume images. This section is just a list of modules to compile from

     95 #       source into UEFI-compliant binaries.

     96 #       It is the FDF file that contains information on combining binary files into firmware

     97 #       volume images, whose concept is beyond UEFI and is described in PI specification.

     98 #       Binary modules do not need to be listed in this section, as they should be

     99 #       specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),

    100 #       Logo (Logo.bmp), and etc.

    101 #       There may also be modules listed in this section that are not required in the FDF file,

    102 #       When a module listed here is excluded from FDF file, then UEFI-compliant binary will be

    103 #       generated for it, but the binary will not be put into any firmware volume.

    104 #

    105 ###################################################################################################

    106 
    107 [Components]
    108 # Standard C Libraries.

    109   StdLib/LibC/LibC.inf
    110   StdLib/LibC/StdLib/StdLib.inf
    111   StdLib/LibC/String/String.inf
    112   StdLib/LibC/Wchar/Wchar.inf
    113   StdLib/LibC/Ctype/Ctype.inf
    114   StdLib/LibC/Time/Time.inf
    115   StdLib/LibC/Stdio/Stdio.inf
    116   StdLib/LibC/Locale/Locale.inf
    117   StdLib/LibC/Uefi/Uefi.inf
    118   StdLib/LibC/Math/Math.inf
    119   StdLib/LibC/Signal/Signal.inf
    120   StdLib/LibC/NetUtil/NetUtil.inf
    121 
    122 # Device Abstractions within the Standard C Library

    123 # Applications should not directly access any functions defined in these libraries.

    124   StdLib/LibC/gdtoa/gdtoa.inf
    125   StdLib/LibC/Uefi/Devices/daUtility.inf
    126   StdLib/LibC/Uefi/Devices/daConsole.inf
    127   StdLib/LibC/Uefi/Devices/daShell.inf
    128 
    129 # Additional, non-standard, libraries

    130   StdLib/LibC/Containers/ContainerLib.inf
    131 
    132 # Additional libraries for POSIX functionality.

    133   StdLib/PosixLib/PosixLib.inf
    134   StdLib/PosixLib/Err/LibErr.inf
    135   StdLib/PosixLib/Gen/LibGen.inf
    136   StdLib/PosixLib/Glob/LibGlob.inf
    137   StdLib/PosixLib/Stringlist/LibStringlist.inf
    138   StdLib/LibC/Uefi/InteractiveIO/IIO.inf
    139 
    140 #    Socket Libraries - LibC based

    141   StdLib/BsdSocketLib/BsdSocketLib.inf
    142   StdLib/EfiSocketLib/EfiSocketLib.inf
    143   StdLib/UseSocketDxe/UseSocketDxe.inf
    144 
    145 ##############################################################################

    146 #

    147 #  Include Boilerplate text required for building with the Standard Libraries.

    148 #

    149 ##############################################################################

    150 !include StdLib/StdLib.inc
    151