Windows: move gssapi.dll to merge module

In order for the 64-bit FULL installer to install both the 64-bit
and 32-bit versions of gssapi.dll a merge module needs to be created
so that both versions can exist within the same install package.

Change-Id: Iaa979556e1691d3906e497f87e7d12cd89b1d980
This commit is contained in:
Jeffrey Altman
2013-10-12 16:13:12 -04:00
parent 3a00c9b7b0
commit 44de8701d2
3 changed files with 139 additions and 15 deletions

View File

@@ -104,13 +104,26 @@ $(COMMANDMODULE): $(OBJ)\heimdal-command.wixobj
$(SDKREDISTDIR)\Heimdal.Command.msm: $(COMMANDMODULE)
$(CP) $** $@
GSSMODULE=$(INSTDIR)\Heimdal.GSS.msm
$(GSSMODULE): $(OBJ)\heimdal-gss.wixobj
$(LIGHT) -out $@ $**
# OBJECT COMPILED BELOW
all:: $(ASSEMBLYMODULE) $(SDKREDISTDIR)\Heimdal.msm
all:: $(POLICYMODULE)
all:: $(COMMANDMODULE) $(SDKREDISTDIR)\Heimdal.Command.msm
all:: $(GSSMODULE)
clean::
-$(RM) $(ASSEMBLYMODULE)
-$(RM) $(POLICYMODULE)
-$(RM) $(COMMANDMODULE)
-$(RM) $(GSSMODULE)
-$(RM) $(SDKREDISTDIR)\*.*
######################################################################
@@ -188,15 +201,20 @@ CANDLEOPTS=$(CANDLEOPTS) -dTarget64 \
!ifdef MULTIPLATFORM_INSTALLER
CANDLEOPTS_MULTI= -dTarget32
TYPEOPT=-full
INSTDEPS= \
$(INSTDIR32)\Heimdal.msm \
$(INSTDIR32)\Heimdal.GSS.msm \
$(INSTDIR32)\Heimdal.Policy.msm \
$(ASSEMBLYMODULE) $(GSSMODULE) $(POLICYMODULE)
!else
! message Excluding 32-bit components from installer
TYPEOPT=
INSTDEPS= \
$(ASSEMBLYMODULE) $(GSSMODULE) $(POLICYMODULE)
!endif
INSTDEPS=$(INSTDIR32)\Heimdal.msm \
$(INSTDIR32)\Heimdal.Command.msm \
$(INSTDIR32)\Heimdal.Policy.msm \
$(ASSEMBLYMODULE) $(POLICYMODULE)
!else
@@ -204,6 +222,8 @@ CANDLEOPTS=$(CANDLEOPTS) -dTarget32 \
-dInstDir32=$(INSTDIR) \
-dRuntimeModule32=$(RUNTIMEMODULE32) \
INSTDEPS= \
$(ASSEMBLYMODULE) $(GSSMODULE) $(POLICYMODULE)
!endif
!if exist($(SRC)\thirdparty\MKShim)
@@ -235,8 +255,18 @@ CMD_WXS=thirdparty\installer\heimdal-command.wxs
CMD_WXS=heimdal-command.wxs
!endif
$(OBJ)\heimdal-command.wixobj: heimdal-command.wxs
$(CANDLE) -arch $(PLATFORM) -o $@ heimdal-command.wxs \
$(OBJ)\heimdal-command.wixobj: $(CMD_WXS)
$(CANDLE) -arch $(PLATFORM) -o $@ $(CMD_WXS) \
$(CANDLEOPTS) $(THIRDPARTYOPTS)
!if exist(thirdparty\installer\heimdal-gss.wxs)
GSS_WXS=thirdparty\installer\heimdal-gss.wxs
!else
GSS_WXS=heimdal-gss.wxs
!endif
$(OBJ)\heimdal-gss.wixobj: $(GSS_WXS)
$(CANDLE) -arch $(PLATFORM) -o $@ $(GSS_WXS) \
$(CANDLEOPTS) $(THIRDPARTYOPTS)
all:: $(INSTALLER)

View File

@@ -0,0 +1,94 @@
<?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<?if $(var.Platform)=x64 ?>
<?define Win64=yes ?>
<?define ToolsBinDir=dirBin64 ?>
<?define GuidGssDll=9368D1E7-D4CB-4BDC-A2A6-AB1C992151AD ?>
<?define GuidPackage={A19EA263-680D-4626-AF54-5A05ACCC027C} ?>
<?else?>
<?define Win64=no ?>
<?define ToolsBinDir=dirBin32 ?>
<?define GuidGssDll=5F38982B-A325-4A7B-A2FC-EA40314F4D00 ?>
<?define GuidPackage={F0525351-C791-4890-98BE-14B38D3E6B72} ?>
<?endif?>
<Module Id="Heimdal.GSS" Language="0" Version="$(var.Version)">
<Package Id="$(var.GuidPackage)"
InstallerVersion="200"
Languages="1033" Manufacturer="Heimdal"
SummaryCodepage="1252" AdminImage="no"
Platform="$(var.Platform)" />
<Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'>
<?ifdef Target32 ?>
<Directory Id='ProgramFilesFolder'>
<Directory Id='INSTALLDIR32' Name='Heimdal'>
<Directory Id='dirBin32' Name='bin'>
</Directory>
</Directory>
</Directory>
<?endif?>
<?ifdef Target64?>
<Directory Id='ProgramFiles64Folder'>
<Directory Id='INSTALLDIR64' Name='Heimdal'>
<Directory Id='dirBin64' Name='bin'>
</Directory>
</Directory>
</Directory>
<?endif?>
</Directory>
<?ifdef Target32?>
<DirectoryRef Id='dirBin32' DiskId='1'>
<Component Id='comp.SearchPath.32'
Guid='BA6C1A53-E479-4E87-9B61-7BA793DBAE56' Win64='no'>
<RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'>
<RegistryValue Name='InstallPath' Type='string'
Value='[dirBin32]' KeyPath='yes' />
</RegistryKey>
<Environment Id='env.Path.32' Name='PATH' Action='set' Part='last'
Separator=';' Value='[dirBin32]' System='yes' />
</Component>
</DirectoryRef>
<?endif?>
<?ifdef Target64?>
<DirectoryRef Id='dirBin64' DiskId='1'>
<Component Id='comp.SearchPath.64'
Guid='2F189729-2253-47A1-AA68-06FE3A9697A7' Win64='yes'>
<RegistryKey Root='HKLM' Key='Software\Heimdal\CurrentVersion'>
<RegistryValue Name='InstallPath' Type='string'
Value='[dirBin64]' KeyPath='yes' />
</RegistryKey>
<Environment Id='env.Path' Name='PATH' Action='set' Part='last'
Separator=';' Value='[dirBin64]' System='yes' />
</Component>
</DirectoryRef>
<?endif?>
<DirectoryRef Id='$(var.ToolsBinDir)' FileSource='$(var.BinDir)\$(var.AsmKrbName)'>
<Component Id='comp.gssdll'
Guid='$(var.GuidGssDll)'
Win64='$(var.Win64)'>
<File Name='gssapi.dll' KeyPath='yes' />
<File Name='gssapi.pdb' />
</Component>
</DirectoryRef>
</Module>
</Wix>

View File

@@ -16,7 +16,6 @@
<?define GuidKcpytkt=17734691-7CB3-4E9A-AADC-6D4205795F43 ?>
<?define GuidKdeltkt=3E853905-8CDA-4E14-8EBA-C0C4EEDB811A ?>
<?define GuidHeimtools=F411A9F1-A186-40CB-B55B-CADBE0166268 ?>
<?define GuidGssDll=9368D1E7-D4CB-4BDC-A2A6-AB1C992151AD ?>
<?define ConfigDir=INSTALLDIR64 ?>
@@ -93,6 +92,9 @@
<Merge Id='Heimdal.Assemblies.32' Language='0'
SourceFile='$(var.InstDir32)\Heimdal.msm' />
<Merge Id='Heimdal.GSS.32' Language='0'
SourceFile='$(var.InstDir32)\Heimdal.GSS.msm' />
<Merge Id='Heimdal.Policy.32' Language='0'
SourceFile='$(var.InstDir32)\Heimdal.Policy.msm' />
@@ -118,6 +120,9 @@
<Merge Id='Heimdal.Assemblies.64' Language='0'
SourceFile='$(var.InstDir64)\Heimdal.msm' />
<Merge Id='Heimdal.GSS.64' Language='0'
SourceFile='$(var.InstDir64)\Heimdal.GSS.msm' />
<Merge Id='Heimdal.Policy.64' Language='0'
SourceFile='$(var.InstDir64)\Heimdal.Policy.msm' />
@@ -198,13 +203,6 @@
</File>
</Component>
<Component Id='comp.gssdll'
Guid='$(var.GuidGssDll)'
Win64='$(var.Win64)'>
<File Name='gssapi.dll' KeyPath='yes' Source='$(var.BinDir)\$(var.AsmKrbName)\gssapi.dll' />
<File Name='gssapi.pdb' />
</Component>
<Component Id='comp.Heimdal.chm'
Guid='785F6668-EBDB-4F18-8BEF-F72ECECB43D6'>
<File Source='$(var.DocDir)\heimdal.chm' />
@@ -338,7 +336,6 @@
<ComponentRef Id='comp.HX509.chm' />
<ComponentRef Id='comp.Heimdal.chm' />
<ComponentRef Id='comp.gssdll' />
<ComponentRef Id='comp.kcpytkt' />
<ComponentRef Id='comp.kdeltkt' />
<ComponentRef Id='comp.kdestroy' />
@@ -362,10 +359,12 @@
<?ifdef Target64?>
<MergeRef Id='Heimdal.Assemblies.64' />
<MergeRef Id='Heimdal.GSS.64' />
<MergeRef Id='Heimdal.Policy.64' />
<MergeRef Id='Runtime.64' />
<?else?>
<MergeRef Id='Heimdal.Assemblies.32' />
<MergeRef Id='Heimdal.GSS.32' />
<MergeRef Id='Heimdal.Policy.32' />
<MergeRef Id='Runtime.32' />
<?endif?>
@@ -383,6 +382,7 @@
<ComponentGroupRef Id='comp.Heimdal.MKShim.32' />
<?endif?>
<MergeRef Id='Heimdal.Assemblies.32' />
<MergeRef Id='Heimdal.GSS.32' />
<MergeRef Id='Heimdal.Policy.32' />
<MergeRef Id='Runtime.32' />
</Feature>