#include <windows.h>
#include <winver.h>
#include "patchlevel.h"
#include "winlevel.h"

/*
 * BEGIN COMMON VERSION INFO for GSS and Kerberos version resources
 */

#define XSTR(x) #x
#define STR(x) XSTR(x)

#define MAJOR_MINOR STR(KRB5_MAJOR_RELEASE) "." STR(KRB5_MINOR_RELEASE)

#if KRB5_PATCH_LEVEL != 0
#define MAYBE_PATCH "." STR(KRB5_PATCHLEVEL)
#else
#define MAYBE_PATCH ""
#endif

#ifdef KRB5_RELTAIL
#define RELTAIL "-" KRB5_RELTAIL
#else
#define RELTAIL ""
#endif

#ifdef BETA
#define BETA_FLAG VS_FF_PRERELEASE
#else
#define BETA_FLAG 0
#endif

#if !defined(_WIN32)
#define Targ_OS VOS__WINDOWS16
#else
#define Targ_OS VOS__WINDOWS32
#endif

/* we're going to stamp all the DLLs with the same version number */

#define K5_PRODUCT_VERSION_STRING MAJOR_MINOR MAYBE_PATCH RELTAIL "\0"
#define K5_PRODUCT_VERSION        KRB5_MAJOR_RELEASE, KRB5_MINOR_RELEASE, KRB5_PATCHLEVEL, KRB5_BUILDLEVEL

#define K5_COPYRIGHT "Copyright (C) 1997-2006 by the Massachusetts Institute of Technology\0"
#define K5_COMPANY_NAME "Massachusetts Institute of Technology.\0"

/* 
 * END COMMON VERSION INFO
 */


/*
 * BEGIN SPECIFIC VERSION INFO for GSS and Kerberos version resources
 */

#ifdef SUPPORT_LIB
#define K5_DESCRIPTION "Kerberos v5 support - internal support code for MIT Kerberos v5 /GSS distribution"
#define K5_INTERNAL_NAME "krb5support\0"
#define K5_FILETYPE	VFT_DLL
#if !defined(_WIN32)
#error not win32??
#else
#define K5_ORIGINAL_NAME "k5sprt32.dll\0"
#endif
#endif /* support */

#ifdef CE_LIB
#define K5_DESCRIPTION "COM_ERR - Common Error Handler for MIT Kerberos v5 / GSS distribution\0"
#define K5_INTERNAL_NAME "comerr\0"
#define K5_FILETYPE	VFT_DLL
#if !defined(_WIN32)
#define K5_ORIGINAL_NAME "comerr16.dll\0"
#else
#define K5_ORIGINAL_NAME "comerr32.dll\0"
#endif
#endif /* comerr */

#ifdef PROF_LIB
#define K5_DESCRIPTION "PROFILE - Profile Library MIT Kerberos v5 / GSS distribution\0"
#define K5_INTERNAL_NAME "profile\0"
#define K5_FILETYPE	VFT_DLL
#if !defined(_WIN32)
#define K5_ORIGINAL_NAME "xpprof16.dll\0"
#else
#define K5_ORIGINAL_NAME "xpprof32.dll\0"
#endif
#endif /* profile */

#ifdef KRB5_LIB
#define K5_DESCRIPTION "Kerberos v5 - MIT GSS / Kerberos v5 distribution\0"
#define K5_INTERNAL_NAME "krb5\0"
#define K5_FILETYPE	VFT_DLL
#if !defined(_WIN32)
#define K5_ORIGINAL_NAME "krb5_16.dll\0"
#else
#define K5_ORIGINAL_NAME "krb5_32.dll\0"
#endif
#endif /* KRB5 */

#ifdef GSSAPI_LIB
#define K5_DESCRIPTION "GSSAPI - GSS API implementation for Kerberos 5 mechanism\0"
#define K5_INTERNAL_NAME "gssapi\0"
#define K5_FILETYPE	VFT_DLL
#if !defined(_WIN32)
#define K5_ORIGINAL_NAME "gssapi.dll\0"
#else
#define K5_ORIGINAL_NAME "gssapi32.dll\0"
#endif
#endif /* GSSAPI */

#ifdef KRB4_LIB
#define K5_DESCRIPTION "Kerberos v4 - MIT GSS / Kerberos v4 and v5 distribution\0"
#define K5_INTERNAL_NAME "krb4\0"
#define K5_FILETYPE	VFT_DLL
#if !defined(_WIN32)
#define K5_ORIGINAL_NAME "krb4_16.dll\0"
#else
#define K5_ORIGINAL_NAME "krb4_32.dll\0"
#endif
#endif /* KRB4 */

#ifdef SAPKRB_LIB
#define K5_DESCRIPTION "Kerberos v5 - MIT GSS / Kerberos v5 distribution (for SAP)\0"
#define K5_INTERNAL_NAME "sapkrb5\0"
#define K5_FILETYPE	VFT_DLL
#if !defined(_WIN32)
#define K5_ORIGINAL_NAME "sapkrb16.dll\0"
#else
#define K5_ORIGINAL_NAME "sapkrb32.dll\0"
#endif
#endif /* SAPKRB */

#ifdef SAPGSS_LIB
#define K5_DESCRIPTION "GSSAPI - GSS API implementation for Kerberos 5 mechanism(for SAP)\0"
#define K5_INTERNAL_NAME "sapgss\0"
#define K5_FILETYPE	VFT_DLL
#if !defined(_WIN32)
#define K5_ORIGINAL_NAME "sapgss16.dll\0"
#else
#define K5_ORIGINAL_NAME "sapgss32.dll\0"
#endif
#endif /* SAPGSS */

#ifdef KRB5_APP
#define K5_DESCRIPTION "KRB5 Ticket Manager - MIT GSS / Kerberos v5 distribution\0"
#define K5_FILETYPE	VFT_APP
#define K5_INTERNAL_NAME "KRB5\0"
#define K5_ORIGINAL_NAME "krb5.exe\0"
#endif /* KRB5_APP */

#ifdef GSS_APP
#define K5_DESCRIPTION "GSS - GSS Sample Application for MIT Kerberos v5 / GSS distribution\0"
#define K5_FILETYPE	VFT_APP
#define K5_INTERNAL_NAME "GSS\0"
#define K5_ORIGINAL_NAME "gss.exe\0"
#endif

#ifdef TELNET_APP
#define K5_DESCRIPTION "Telnet - Telnet Application for MIT Kerberos v5 / GSS distribution\0"
#define K5_FILETYPE	VFT_APP
#define K5_INTERNAL_NAME "TELNET\0"
#define K5_ORIGINAL_NAME "telnet.exe\0"
#endif

/* 
 * END SPECIFIC VERSION INFO
 */

VS_VERSION_INFO VERSIONINFO
FILEVERSION	K5_PRODUCT_VERSION
PRODUCTVERSION	K5_PRODUCT_VERSION
FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
FILEFLAGS	(VS_FF_DEBUG | VS_FF_PRIVATEBUILD | BETA_FLAG)
FILEOS		Targ_OS
FILETYPE        K5_FILETYPE
BEGIN
    BLOCK "VarFileInfo"
    BEGIN
	VALUE "Translation", 0x0409, 1252
    END

    BLOCK "StringFileInfo"
    BEGIN
	BLOCK "040904E4"
	BEGIN
#if defined(VER_EXTRA_LABEL) && defined(VER_EXTRA_VALUE)
            VALUE VER_EXTRA_LABEL,   VER_EXTRA_VALUE
#endif
#ifdef VER_COMMENT
            VALUE "Comment",         VER_COMMENT
#endif
#ifdef VER_USERNAME
            VALUE "Built By",        VER_USERNAME
#endif
#ifdef VER_HOSTNAME
            VALUE "Build Host",      VER_HOSTNAME
#endif
#ifdef VER_DATE
            VALUE "Build Time",      VER_DATE
#endif
#ifdef VER_VENDOR
            VALUE "Modified by Vendor",  VER_VENDOR
#endif
            VALUE "CompanyName",        K5_COMPANY_NAME
	    VALUE "FileDescription",	K5_DESCRIPTION
	    VALUE "FileVersion",	K5_PRODUCT_VERSION_STRING
	    VALUE "InternalName",	K5_INTERNAL_NAME
#ifdef VER_LEGALTRADEMARK_STR
            VALUE VER_LEGALTRADEMARK_STR
#else
	    VALUE "LegalTrademarks",	"\0"
#endif
	    VALUE "OriginalFilename",	K5_ORIGINAL_NAME
	    VALUE "ProductName",	K5_ORIGINAL_NAME
	    VALUE "ProductVersion",	K5_PRODUCT_VERSION_STRING

	    VALUE "LegalCopyright",	K5_COPYRIGHT
#ifdef VER_SPECIALBUILD
            VALUE "SpecialBuild",       VER_SPECIALBUILD
#endif
	END
    END
END
