## @file
#  Standard C library: Miscelaneous implementations.
#
#  Copyright (c) 2010 - 2014, 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]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = LibC
  FILE_GUID                      = 695bec93-82ae-4c17-bdad-7f184f4e651d
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = LibC

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF
#

[Sources]
  Main/errno.c
  Main/assert.c
  Main/isinfd_ieee754.c
  Main/isinff_ieee754.c
  Main/isnand_ieee754.c
  Main/isnanf_ieee754.c
  Main/infinityf_ieee754.c
  Main/Main.c
  Main/HtoNtoH.c
  Main/ByteSwap.c
  Main/longjmp.c

[Sources.IA32]
  Main/x86flt_rounds.c
  Main/Ia32/fpu_rmode.asm | MSFT
  Main/Ia32/fpu_rmode.asm | INTEL
  Main/Ia32/fpu_rmode.S   | GCC
  Main/Ia32/isinfl.c
  Main/Ia32/isnanl.c

  # Compiler helper (C RunTime) functions
  CRT/Ia32/llmul.c          | MSFT    # __allmul
  CRT/Ia32/llshl.c          | MSFT    # __allshl
  CRT/Ia32/llshr.c          | MSFT    # __allshr
  CRT/Ia32/ulldiv.c         | MSFT    # __aulldiv
  CRT/Ia32/ullrem.c         | MSFT    # __aullrem
  CRT/Ia32/ullshr.c         | MSFT    # __aullshr
  CRT/Ia32/lldiv.c          | MSFT    # __alldiv
  CRT/Ia32/llrem.c          | MSFT    # __allrem
  CRT/Ia32/lldvrm.c         | MSFT    # __alldvrm
  CRT/Ia32/ulldvrm.c        | MSFT    # __aulldvrm

  CRT/Ia32/llmul.c          | INTEL
  CRT/Ia32/llshl.c          | INTEL
  CRT/Ia32/llshr.c          | INTEL
  CRT/Ia32/ulldiv.c         | INTEL
  CRT/Ia32/ullrem.c         | INTEL
  CRT/Ia32/ullshr.c         | INTEL
  CRT/Ia32/lldiv.c          | INTEL
  CRT/Ia32/llrem.c          | INTEL
  CRT/Ia32/lldvrm.c         | INTEL
  CRT/Ia32/ulldvrm.c        | INTEL

  CRT/Gcc.c                 | GCC

[Sources.X64]
  Main/x86flt_rounds.c
  Main/X64/fpu_rmode.asm  | MSFT
  Main/X64/fpu_rmode.asm  | INTEL
  Main/X64/fpu_rmode.S    | GCC
  Main/X64/isinfl.c
  Main/X64/isnanl.c

[Sources.IPF]
  Main/x86flt_rounds.c
  Main/Ipf/FpuRmode.s

[Sources.ARM]
  Main/Arm/fixunsdfsi.c
  Main/Arm/floatunsidf.c
  Main/Arm/flt_rounds.c

[Sources.AARCH64]
  Main/Arm/flt_rounds.c

[Binaries.IA32]
  LIB|Main/Ia32/ftol2.obj|*|MSFT

[Packages]
  StdLib/StdLib.dec
  StdLibPrivateInternalFiles/DoNotUse.dec
  MdePkg/MdePkg.dec
  ShellPkg/ShellPkg.dec

[LibraryClasses]
  ShellCEntryLib
  UefiLib
  BaseLib
  BaseMemoryLib
  MemoryAllocationLib
  LibStdLib
  LibStdio
  LibString
  DevConsole

################################################################
#
# The Build Options, below, are only used when building the C library.
# DO NOT use them when building your application!
# Nasty things could happen if you do.
#
[BuildOptions]
  MSFT:*_*_IA32_CC_FLAGS = /GL-