## @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 - 2018, 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

