1## @file
2#  Standard C library: Miscelaneous implementations.
3#
4#  Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR>
5#
6#  This program and the accompanying materials
7#  are licensed and made available under the terms and conditions of the BSD License
8#  which accompanies this distribution. The full text of the license may be found at
9#  http://opensource.org/licenses/bsd-license.
10#
11#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13#
14#
15##
16
17[Defines]
18  INF_VERSION                    = 0x00010005
19  BASE_NAME                      = LibC
20  FILE_GUID                      = 695bec93-82ae-4c17-bdad-7f184f4e651d
21  MODULE_TYPE                    = UEFI_APPLICATION
22  VERSION_STRING                 = 1.0
23  LIBRARY_CLASS                  = LibC
24
25#
26#  VALID_ARCHITECTURES           = IA32 X64 IPF
27#
28
29[Sources]
30  Main/errno.c
31  Main/assert.c
32  Main/isinfd_ieee754.c
33  Main/isinff_ieee754.c
34  Main/isnand_ieee754.c
35  Main/isnanf_ieee754.c
36  Main/infinityf_ieee754.c
37  Main/Main.c
38  Main/HtoNtoH.c
39  Main/ByteSwap.c
40  Main/longjmp.c
41
42[Sources.IA32]
43  Main/x86flt_rounds.c
44  Main/Ia32/fpu_rmode.asm | MSFT
45  Main/Ia32/fpu_rmode.asm | INTEL
46  Main/Ia32/fpu_rmode.S   | GCC
47  Main/Ia32/isinfl.c
48  Main/Ia32/isnanl.c
49
50  # Compiler helper (C RunTime) functions
51  CRT/Ia32/llmul.c          | MSFT    # __allmul
52  CRT/Ia32/llshl.c          | MSFT    # __allshl
53  CRT/Ia32/llshr.c          | MSFT    # __allshr
54  CRT/Ia32/ulldiv.c         | MSFT    # __aulldiv
55  CRT/Ia32/ullrem.c         | MSFT    # __aullrem
56  CRT/Ia32/ullshr.c         | MSFT    # __aullshr
57  CRT/Ia32/lldiv.c          | MSFT    # __alldiv
58  CRT/Ia32/llrem.c          | MSFT    # __allrem
59  CRT/Ia32/lldvrm.c         | MSFT    # __alldvrm
60  CRT/Ia32/ulldvrm.c        | MSFT    # __aulldvrm
61
62  CRT/Ia32/llmul.c          | INTEL
63  CRT/Ia32/llshl.c          | INTEL
64  CRT/Ia32/llshr.c          | INTEL
65  CRT/Ia32/ulldiv.c         | INTEL
66  CRT/Ia32/ullrem.c         | INTEL
67  CRT/Ia32/ullshr.c         | INTEL
68  CRT/Ia32/lldiv.c          | INTEL
69  CRT/Ia32/llrem.c          | INTEL
70  CRT/Ia32/lldvrm.c         | INTEL
71  CRT/Ia32/ulldvrm.c        | INTEL
72
73  CRT/Gcc.c                 | GCC
74
75[Sources.X64]
76  Main/x86flt_rounds.c
77  Main/X64/fpu_rmode.asm  | MSFT
78  Main/X64/fpu_rmode.asm  | INTEL
79  Main/X64/fpu_rmode.S    | GCC
80  Main/X64/isinfl.c
81  Main/X64/isnanl.c
82
83[Sources.IPF]
84  Main/x86flt_rounds.c
85  Main/Ipf/FpuRmode.s
86
87[Sources.ARM]
88  Main/Arm/fixunsdfsi.c
89  Main/Arm/floatunsidf.c
90  Main/Arm/flt_rounds.c
91
92[Sources.AARCH64]
93  Main/Arm/flt_rounds.c
94
95[Binaries.IA32]
96  LIB|Main/Ia32/ftol2.obj|*|MSFT
97
98[Packages]
99  StdLib/StdLib.dec
100  StdLibPrivateInternalFiles/DoNotUse.dec
101  MdePkg/MdePkg.dec
102  ShellPkg/ShellPkg.dec
103
104[LibraryClasses]
105  ShellCEntryLib
106  UefiLib
107  BaseLib
108  BaseMemoryLib
109  MemoryAllocationLib
110  LibStdLib
111  LibStdio
112  LibString
113  DevConsole
114
115################################################################
116#
117# The Build Options, below, are only used when building the C library.
118# DO NOT use them when building your application!
119# Nasty things could happen if you do.
120#
121[BuildOptions]
122  MSFT:*_*_IA32_CC_FLAGS = /GL-
123  GCC:*_*_ARM_CC_FLAGS = -fno-lto
124