#/*++
#   
#  Copyright (c) 2006, Intel Corporation                                                         
#  All rights reserved. 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.             
#  
#  Module Name:
#
#    Version.env
#   
#  Abstract:
#   
#    This file is used to define EDK related version info.
#   
#--*/

!IF "$(UEFI_MODE)" == "YES"
EFI_SPECIFICATION_VERSION = 0x00020000
!ELSE
EFI_SPECIFICATION_VERSION = 0x0001000A
!ENDIF

!IF "$(PI_MODE)" == "YES"
PI_SPECIFICATION_VERSION = 0x00010000
!ELSE
PI_SPECIFICATION_VERSION = 0x00000009
!ENDIF

TIANO_RELEASE_VERSION     = 0x00080006
