## @file
#  Instance of PCD Library without support of dynamic PCD entries.
#
#  PCD Library that only provides access to Feature Flag, Fixed At Build,
#  and Binary Patch typed PCD entries. Access to Dynamic PCD entries is ignored.
#
#  Copyright (c) 2007 - 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.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                      = BasePcdLibNull
  MODULE_UNI_FILE                = BasePcdLibNull.uni
  FILE_GUID                      = 40096a3a-5c2a-4fbc-aef7-5475dd7ab334
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PcdLib 


#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  PcdLib.c

[LibraryClasses]
  DebugLib
  BaseMemoryLib

[Packages]
  MdePkg/MdePkg.dec

