Windows: Build policy assembly as a merge module

This commit is contained in:
Asanka C. Herath
2010-11-29 18:20:42 -05:00
parent 42f9c644cf
commit 4a6a5d59a5
3 changed files with 92 additions and 45 deletions

View File

@@ -54,24 +54,45 @@ DEBUGOPT=-$(BUILD)
###################################################################### ######################################################################
# Heimdal Merge Modules # Heimdal Merge Modules
MERGEMOD=$(INSTDIR)\Heimdal.msm ASSEMBLYMODULE=$(INSTDIR)\Heimdal.msm
$(MERGEMOD): $(OBJ)\heimdal-assemblies.wixobj $(ASSEMBLYMODULE): $(OBJ)\heimdal-assemblies.wixobj
$(LIGHT) -out $@ $** $(LIGHT) -out $@ $**
$(OBJ)\heimdal-assemblies.wixobj: heimdal-assemblies.wxs $(OBJ)\heimdal-assemblies.wixobj: heimdal-assemblies.wxs
$(CANDLE) -arch $(PLATFORM) -o $@ $** \ $(CANDLE) -arch $(PLATFORM) -o $@ $** \
-dVersion=$(VERSION) \ -dVersion=$(VERSION) \
-dBinDir=$(BINDIR) \ -dBinDir=$(BINDIR) \
-dPlatform=$(PLATFORM) -dPlatform=$(PLATFORM)
$(SDKREDISTDIR)\Heimdal.msm: $(MERGEMOD) $(SDKREDISTDIR)\Heimdal.msm: $(ASSEMBLYMODULE)
$(CP) $** $@ $(CP) $** $@
all:: $(MERGEMOD) $(SDKREDISTDIR)\Heimdal.msm POLICYMODULE=$(INSTDIR)\Heimdal.Policy.msm
$(POLICYMODULE): $(OBJ)\heimdal-policy.wixobj
$(LIGHT) -out $@ $**
$(OBJ)\heimdal-policy.wixobj: heimdal-policy.wxs
$(CANDLE) -arch $(PLATFORM) -o $@ $** \
-dVersion=$(VERSION) \
-dBinDir=$(BINDIR) \
-dPlatform=$(PLATFORM) \
-dPolPrefix=$(POLPREFIX)
$(SDKREDISTDIR)\Heimdal.Policy.msm: $(POLICYMODULE)
$(CP) $** $@
all:: $(ASSEMBLYMODULE) $(SDKREDISTDIR)\Heimdal.msm
all:: $(POLICYMODULE) $(SDKREDISTDIR)\Heimdal.Policy.msm
clean:: clean::
-$(RM) $(MERGEMOD) -$(RM) $(ASSEMBLYMODULE)
-$(RM) $(POLICYMODULE)
-$(RM) $(SDKREDISTDIR)\Heimdal.msm
-$(RM) $(SDKREDISTDIR)\Heimdal.Policy.msm
###################################################################### ######################################################################
# Runtime modules # Runtime modules
@@ -127,7 +148,7 @@ THIRDPARTYOPT=$(THIRDPARTYOPT) -dMKShim=1
INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)-$(VERSIOND).msi INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)-$(VERSIOND).msi
$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(MERGEMOD) $(THIRDPARTYOBJS) \ $(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(ASSEMBLYMODULE) $(THIRDPARTYOBJS) \
$(THIRDPARTYDEPS) lang\en-us.wxl $(THIRDPARTYDEPS) lang\en-us.wxl
$(LIGHT) -out $@ $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS) \ $(LIGHT) -out $@ $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS) \
-sval -cultures:en-us -loc lang\en-us.wxl \ -sval -cultures:en-us -loc lang\en-us.wxl \
@@ -136,15 +157,15 @@ $(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(MERGEMOD) $(THIRDPARTYOBJS) \
$(_CODESIGN) $(_CODESIGN)
$(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs $(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs
$(CANDLE) -arch $(PLATFORM) -o $@ $** \ $(CANDLE) -arch $(PLATFORM) -o $@ $** \
-dVersion=$(VERSION) \ -dVersion=$(VERSION) \
-dBinDir=$(BINDIR) \ -dBinDir=$(BINDIR) \
-dDocDir=$(DOCDIR) \ -dDocDir=$(DOCDIR) \
-dInstDir=$(INSTDIR) \ -dInstDir=$(INSTDIR) \
-dSrcDir=$(SRC) \ -dSrcDir=$(SRC) \
-dPlatform=$(PLATFORM) \ -dPlatform=$(PLATFORM) \
-dRuntimeModule=$(RUNTIMEMODULE) \ -dRuntimeModule=$(RUNTIMEMODULE) \
-dPolPrefix=$(POLPREFIX) \ -dPolPrefix=$(POLPREFIX) \
$(THIRDPARTYOPT) $(THIRDPARTYOPT)
all:: $(INSTALLER) all:: $(INSTALLER)

View File

@@ -9,8 +9,6 @@
<?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?> <?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?>
<?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?> <?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?>
<?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?> <?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?>
<?define GuidPolGSSAPI=2EB8472F-64DD-470B-AF65-FC8AAC185788 ?>
<?define GuidPolKerberos=9ED6B62C-13D0-43BB-BCD7-4737D3E6EC43 ?>
<?define GuidKpasswd=20A984EC-5BCB-4B93-A3A9-7AACBDC625E9 ?> <?define GuidKpasswd=20A984EC-5BCB-4B93-A3A9-7AACBDC625E9 ?>
<?define GuidKvno=2B932C2B-9167-4051-BDF7-A104E9983CE6 ?> <?define GuidKvno=2B932C2B-9167-4051-BDF7-A104E9983CE6 ?>
<?define GuidKcpytkt=17734691-7CB3-4E9A-AADC-6D4205795F43 ?> <?define GuidKcpytkt=17734691-7CB3-4E9A-AADC-6D4205795F43 ?>
@@ -25,8 +23,6 @@
<?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?> <?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?>
<?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?> <?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?>
<?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?> <?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?>
<?define GuidPolGSSAPI=7B7D6813-8D9C-4647-8966-89A1CA24A08B ?>
<?define GuidPolKerberos=EF04F1AF-725B-4AF6-AE7B-18E2036C03B9 ?>
<?define GuidKpasswd=B66C04B5-EE1D-48C3-A25B-4DCAAA8F459B ?> <?define GuidKpasswd=B66C04B5-EE1D-48C3-A25B-4DCAAA8F459B ?>
<?define GuidKvno=4C6015BE-1347-4D12-8841-FF90E0B9D6A8 ?> <?define GuidKvno=4C6015BE-1347-4D12-8841-FF90E0B9D6A8 ?>
<?define GuidKcpytkt=CBCDFC80-601B-4F26-A020-7D1278735B95 ?> <?define GuidKcpytkt=CBCDFC80-601B-4F26-A020-7D1278735B95 ?>
@@ -133,6 +129,10 @@
<Merge Id='Heimdal.Assemblies' Language='0' <Merge Id='Heimdal.Assemblies' Language='0'
SourceFile='$(var.InstDir)\Heimdal.msm' /> SourceFile='$(var.InstDir)\Heimdal.msm' />
<Merge Id='Heimdal.Policy' Language='0'
SourceFile='$(var.InstDir)\Heimdal.Policy.msm' />
<Merge Id='Runtime' Language='0' <Merge Id='Runtime' Language='0'
SourceFile='$(var.RuntimeModule)' /> SourceFile='$(var.RuntimeModule)' />
@@ -141,27 +141,6 @@
SourceFile='$(var.InstDir)\Heimdal-krbcompat.msm' /> SourceFile='$(var.InstDir)\Heimdal-krbcompat.msm' />
<?endif?> <?endif?>
<!--
Publisher Configuration
The publisher configuration files are included in the
Heimdal installers, but not included in the Heimdal
assemblies.
-->
<Directory Id='dir.policy.Heimdal.Kerberos'
Name='$(var.PolPrefix).Heimdal.Kerberos'
FileSource='$(var.BinDir)\$(var.PolPrefix).Heimdal.Kerberos'>
<Component Id='comp.policy.Heimdal.Kerberos'
Guid='$(var.GuidPolKerberos)'
Win64='$(var.Win64)'>
<File Name='$(var.Version).pol' KeyPath='yes' Assembly='win32'
Id='policy.GSSAPI' AssemblyManifest='policy.GSSAPI' />
<File Name='$(var.Version).cat' Id='policy.GSSAPI.cat' />
</Component>
</Directory>
<Directory Id='dirPlugin' Name='plugin'> <Directory Id='dirPlugin' Name='plugin'>
<Directory Id='PLUGINDIR' Name='krb5'> <Directory Id='PLUGINDIR' Name='krb5'>
@@ -337,9 +316,8 @@
<?endif?> <?endif?>
<ComponentRef Id='comp.Plugin.Reg' /> <ComponentRef Id='comp.Plugin.Reg' />
<ComponentRef Id='comp.policy.Heimdal.Kerberos' />
<MergeRef Id='Heimdal.Assemblies' /> <MergeRef Id='Heimdal.Assemblies' />
<MergeRef Id='Heimdal.Policy' />
<MergeRef Id='Runtime' /> <MergeRef Id='Runtime' />
<?ifdef Thirdparty ?> <?ifdef Thirdparty ?>

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="windows-1252"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?if $(var.Platform)=x64 ?>
<?define Win64=yes ?>
<?define GuidPolKerberos=9ED6B62C-13D0-43BB-BCD7-4737D3E6EC43 ?>
<?else?>
<?define Win64=no ?>
<?define GuidPolKerberos=EF04F1AF-725B-4AF6-AE7B-18E2036C03B9 ?>
<?endif?>
<Module Id="Heimdal" Language="0" Version="$(var.Version)">
<Package Id="A064012D-F3C3-4059-9AC0-00D8A5283D6D"
InstallerVersion="200"
Languages="1033" Manufacturer="Heimdal"
SummaryCodepage="1252" AdminImage="no"
Platform="$(var.Platform)" />
<!--
Publisher Configuration
The publisher configuration files are included in the Heimdal
installers, but not included in the Heimdal assemblies.
-->
<Directory Id='TARGETDIR' Name='SourceDir'>
<Directory Id='dir.policy.Heimdal.Kerberos'
Name='$(var.PolPrefix).Heimdal.Kerberos'
FileSource='$(var.BinDir)\$(var.PolPrefix).Heimdal.Kerberos'>
<Component Id='comp.policy.Heimdal.Kerberos'
Guid='$(var.GuidPolKerberos)'
Win64='$(var.Win64)'>
<File Name='$(var.Version).pol' KeyPath='yes' Assembly='win32'
Id='policy.Kerberos' AssemblyManifest='policy.Kerberos' />
<File Name='$(var.Version).cat' Id='policy.Kerberos.cat' />
</Component>
</Directory>
</Directory>
</Module>
</Wix>