## @file
#  Standard C library: Locale implementation.
#
#  Copyright (c) 2010-2012, 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.php.
#  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                      = LibLocale
  FILE_GUID                      = 9205cde5-5ae5-4a4b-bfbf-f6211967eef9
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = LibLocale

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF
#

[Sources]
  __mb_cur_max.c            #
  _def_messages.c           #
  _def_monetary.c           #
  _def_numeric.c            #
  _def_time.c               #
  aliasname.c               #
  ctypeio.c                 #
  localeconv.c              #
  nl_langinfo.c             #
  setlocale1.c              #
  setlocale32.c             #
  setlocale.c               #
  wcscoll.c                 #
  wcsftime.c                #
  wcstoimax.c               #
  wcstol.c                  #
  wcstoll.c                 #
  wcstoul.c                 #
  wcstoull.c                #
  wcstoumax.c               #
  wcstod.c                  #
  wcstof.c                  #
  wcstold.c                 #
  wcsxfrm.c                 #
  multibyte_Utf8.c          #

  # Single-byte locale to avoid bringing in citrus
  iswctype_sb.c             #

[Packages]
  StdLib/StdLib.dec
  StdLibPrivateInternalFiles/DoNotUse.dec
  MdePkg/MdePkg.dec

[LibraryClasses]
  LibC
  LibCType
