Windows: Version mgmt for assemblies and thirdparty
Breakout the version data from windows/NTMakefile.config and move it to windows/NTMakefile.version. This new file contains only version data. This permits version data to be safely referenced by third party components. In addition, add version range information for those versions of Heimdal for which this release is a compatible upgrade. If there is a forward incompatible change to the assembly ABI, it is not a compatible upgrade. This version data is used to specify the Windows assembly redirect range. Change-Id: Ic9f156212599cc4277e2be812f29a6497801046c
This commit is contained in:
@@ -34,6 +34,7 @@ RELDIR=include
|
||||
SUBDIRS=kadm5 hcrypto gssapi
|
||||
|
||||
!include ../windows/NTMakefile.w32
|
||||
!include ../windows/NTMakefile.version
|
||||
!include ../windows/NTMakefile.config
|
||||
|
||||
INCFILES= \
|
||||
@@ -50,7 +51,7 @@ $(OBJ)\bits.exe: $(OBJ)\bits.obj
|
||||
$(EXECONLINK)
|
||||
$(EXEPREP_NODIST)
|
||||
|
||||
$(INCDIR)\config.h: config.h.w32 ..\windows\NTMakefile.config NTMakefile
|
||||
$(INCDIR)\config.h: config.h.w32 ..\windows\NTMakefile.config ..\windows\NTMakefile.version NTMakefile
|
||||
$(PERL) << < config.h.w32 > $@
|
||||
|
||||
while(<>) {
|
||||
@@ -105,7 +106,7 @@ while(<>) {
|
||||
|
||||
<<
|
||||
|
||||
$(INCDIR)\version.h: ..\windows\NTMakefile.config NTMakefile
|
||||
$(INCDIR)\version.h: ..\windows\NTMakefile.version NTMakefile
|
||||
$(CP) << $@
|
||||
const char *heimdal_long_version = "@(#)$$Version: $(VER_PACKAGE_NAME) $(VER_PACKAGE_VERSION) by $(USERNAME) on $(COMPUTERNAME) ($(CPU)-pc-windows) $$";
|
||||
const char *heimdal_version = "$(VER_PACKAGE_NAME) $(VER_PACKAGE_VERSION)";
|
||||
|
@@ -51,6 +51,8 @@ prep:: mk-asm-dirs
|
||||
|
||||
ASMKRBDIR=$(ASMDIR)\Heimdal.Kerberos
|
||||
ASMKRBVER=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX).$(VER_PRODUCT_PATCH)
|
||||
ASMKRBVER_OLD_BEGIN=$(VER_OLD_BEGIN_MAJOR).$(VER_OLD_BEGIN_MINOR).$(VER_OLD_BEGIN_AUX).$(VER_OLD_BEGIN_PATCH)
|
||||
ASMKRBVER_OLD_END=$(VER_OLD_END_MAJOR).$(VER_OLD_END_MINOR).$(VER_OLD_END_AUX).$(VER_OLD_END_PATCH)
|
||||
ASMKRBMAN=$(ASMKRBNAME).manifest
|
||||
|
||||
ASMKRBBINS=\
|
||||
@@ -132,7 +134,8 @@ POLKRBCAT=$(POLKRBDIR)\$(ASMKRBVER).cat
|
||||
$(POLKRBFILE): policy.Heimdal.Kerberos.in
|
||||
$(SED) -e "s,[@]krbname[@],$(ASMKRBNAME),g" \
|
||||
-e "s,[@]krbversion[@],$(ASMKRBVER),g" \
|
||||
-e "s,[@]krbverfrom[@],$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR),g" \
|
||||
-e "s,[@]krbverfrom_begin[@],$(ASMKRBVER_OLD_BEGIN),g" \
|
||||
-e "s,[@]krbverfrom_end[@],$(ASMKRBVER_OLD_END),g" \
|
||||
-e "s,[@]krbpolname[@],$(POLKRB),g" \
|
||||
-e "s,[@]cpu[@],$(MCPU),g" \
|
||||
-e "s,[@]pkt[@],$(CODESIGN_PKT),g" < $** > $@
|
||||
|
@@ -12,7 +12,7 @@
|
||||
name="@krbname@"
|
||||
language="*"
|
||||
processorArchitecture="@cpu@"/>
|
||||
<bindingRedirect oldVersion="@krbverfrom@.0.0-@krbversion@"
|
||||
<bindingRedirect oldVersion="@krbverfrom_begin@-@krbverfrom_end@"
|
||||
newVersion="@krbversion@"/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
|
@@ -1,33 +1,12 @@
|
||||
# Version strings
|
||||
|
||||
VER_PACKAGE=heimdal
|
||||
VER_PACKAGE_NAME=Heimdal
|
||||
VER_PACKAGE_BUGREPORT=heimdal-bugs@h5l.org
|
||||
VER_PACKAGE_COPYRIGHT=Copyright (C) 1995-2011 Royal Institute of Technology, Stockholm, Sweden
|
||||
VER_PACKAGE_COMPANY=www.h5l.org
|
||||
|
||||
VER_PRODUCT_MAJOR=1
|
||||
VER_PRODUCT_MINOR=5
|
||||
VER_PRODUCT_AUX=9900
|
||||
VER_PRODUCT_PATCH=0
|
||||
|
||||
VER_PACKAGE_VERSION=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX)
|
||||
|
||||
# Define to 1 if this is a pre-release build. Undefine otherwise
|
||||
VER_PRERELEASE=1
|
||||
|
||||
# Define to a valid string if this build DOES NOT follow normal
|
||||
# release procedures. I.e. this is a private build whose version
|
||||
# numbers are not co-ordinated with mainline development.
|
||||
|
||||
#VER_PRIVATE=Private build for MyCompany
|
||||
|
||||
# Define to a valid string if this build DOES follow normal release
|
||||
# procedures, but is a variation of the standard files of the same
|
||||
# version numbers.
|
||||
|
||||
#VER_SPECIAL=Special build for testing ticket 12345
|
||||
|
||||
!if exist (..\..\..\windows\NTMakefile.version)
|
||||
! include <..\..\..\windows\NTMakefile.version>
|
||||
!elseif exist (..\..\windows\NTMakefile.version)
|
||||
! include <..\..\windows\NTMakefile.version>
|
||||
!elseif exist (..\windows\NTMakefile.version)
|
||||
! include <..\windows\NTMakefile.version>
|
||||
!else
|
||||
! include <windows\NTMakefile.version>
|
||||
!endif
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# Features
|
||||
|
47
windows/NTMakefile.version
Normal file
47
windows/NTMakefile.version
Normal file
@@ -0,0 +1,47 @@
|
||||
# Version strings
|
||||
|
||||
VER_PACKAGE=heimdal
|
||||
VER_PACKAGE_NAME=Heimdal
|
||||
VER_PACKAGE_BUGREPORT=heimdal-bugs@h5l.org
|
||||
VER_PACKAGE_COPYRIGHT=Copyright (C) 1995-2011 Royal Institute of Technology, Stockholm, Sweden
|
||||
VER_PACKAGE_COMPANY=www.h5l.org
|
||||
|
||||
VER_PRODUCT_MAJOR=1
|
||||
VER_PRODUCT_MINOR=5
|
||||
VER_PRODUCT_AUX=9900
|
||||
VER_PRODUCT_PATCH=0
|
||||
|
||||
# ------------------------------------------------------------
|
||||
# The VER_OLD_BEGIN and VER_OLD_END version values are used in
|
||||
# constructing the assembly publisher configuration. The end
|
||||
# must be less than the VER_PRODUCT value. If the current
|
||||
# version is 1.5.100.0 then VER_OLD_END version is
|
||||
# 1.5.99.65535.
|
||||
|
||||
VER_OLD_BEGIN_MAJOR=1
|
||||
VER_OLD_BEGIN_MINOR=5
|
||||
VER_OLD_BEGIN_AUX=0
|
||||
VER_OLD_BEGIN_PATCH=0
|
||||
|
||||
VER_OLD_END_MAJOR=1
|
||||
VER_OLD_END_MINOR=5
|
||||
VER_OLD_END_AUX=9949
|
||||
VER_OLD_END_PATCH=65535
|
||||
|
||||
VER_PACKAGE_VERSION=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX)
|
||||
|
||||
# Define to 1 if this is a pre-release build. Undefine otherwise
|
||||
VER_PRERELEASE=1
|
||||
|
||||
# Define to a valid string if this build DOES NOT follow normal
|
||||
# release procedures. I.e. this is a private build whose version
|
||||
# numbers are not co-ordinated with mainline development.
|
||||
|
||||
#VER_PRIVATE=Private build for MyCompany
|
||||
|
||||
# Define to a valid string if this build DOES follow normal release
|
||||
# procedures, but is a variation of the standard files of the same
|
||||
# version numbers.
|
||||
|
||||
#VER_SPECIAL=Special build for testing ticket 12345
|
||||
|
Reference in New Issue
Block a user