Windows: Build installers
This commit is contained in:
@@ -34,7 +34,7 @@ thirdparty=thirdparty
|
|||||||
!endif
|
!endif
|
||||||
|
|
||||||
SUBDIRS = include lib kuser kdc admin kadmin kpasswd appl doc \
|
SUBDIRS = include lib kuser kdc admin kadmin kpasswd appl doc \
|
||||||
tools tests packages etc $(thirdparty)
|
tools tests packages etc $(thirdparty) packages\windows\installer
|
||||||
|
|
||||||
!include windows/NTMakefile.w32
|
!include windows/NTMakefile.w32
|
||||||
|
|
||||||
|
88
packages/windows/installer/NTMakefile
Normal file
88
packages/windows/installer/NTMakefile
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
########################################################################
|
||||||
|
#
|
||||||
|
# Copyright (c) 2010, Secure Endpoints Inc.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
#
|
||||||
|
# - Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# - Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in
|
||||||
|
# the documentation and/or other materials provided with the
|
||||||
|
# distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
|
||||||
|
RELDIR=packages\windows\installer
|
||||||
|
|
||||||
|
!include ../../../windows/NTMakefile.w32
|
||||||
|
|
||||||
|
VERSIOND=$(VER_PRODUCT_MAJOR)-$(VER_PRODUCT_MINOR)-$(VER_PRODUCT_AUX)-$(VER_PRODUCT_PATCH)
|
||||||
|
VERSION=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX).$(VER_PRODUCT_PATCH)
|
||||||
|
|
||||||
|
!if "$(CPU)"=="AMD64"
|
||||||
|
PLATFORM=x64
|
||||||
|
!else
|
||||||
|
PLATFORM=x86
|
||||||
|
!endif
|
||||||
|
|
||||||
|
MERGEMOD=$(INSTDIR)\Heimdal.msm
|
||||||
|
|
||||||
|
$(MERGEMOD): $(OBJ)\heimdal-assemblies.wixobj
|
||||||
|
$(LIGHT) -out $@ $**
|
||||||
|
|
||||||
|
$(OBJ)\heimdal-assemblies.wixobj: heimdal-assemblies.wxs
|
||||||
|
$(CANDLE) -arch $(PLATFORM) -o $@ $** \
|
||||||
|
-dVersion=$(VERSION) \
|
||||||
|
-dBinDir=$(BINDIR) \
|
||||||
|
-dPlatform=$(PLATFORM)
|
||||||
|
|
||||||
|
all:: $(MERGEMOD)
|
||||||
|
|
||||||
|
clean::
|
||||||
|
-$(RM) $(MERGEMOD)
|
||||||
|
|
||||||
|
!if exist($(SRC)\thirdparty)
|
||||||
|
THIRDPARTYOBJS=$(INSTDIR)\apicache.wixobj $(INSTDIR)\lsacache.wixobj
|
||||||
|
THIRDPARTYDEPS=$(INSTDIR)\Heimdal-krbcompat.msm
|
||||||
|
THIRDPARTYOPT=-dApiCache=1 -dLsaCache=1 -dKrbCompat=1
|
||||||
|
!endif
|
||||||
|
|
||||||
|
INSTALLER=$(INSTDIR)\Heimdal.msi
|
||||||
|
|
||||||
|
RUNTIMEMODULE="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.$(PLATFORM)_msm.msm"
|
||||||
|
|
||||||
|
$(INSTALLER): $(OBJ)\heimdal-installer.wixobj $(MERGEMOD) $(THIRDPARTYOBJS) $(THIRDPARTYDEPS)
|
||||||
|
$(LIGHT) -out $@ $(OBJ)\heimdal-installer.wixobj $(THIRDPARTYOBJS) -sval
|
||||||
|
$(_CODESIGN)
|
||||||
|
|
||||||
|
$(OBJ)\heimdal-installer.wixobj: heimdal-installer.wxs
|
||||||
|
$(CANDLE) -arch $(PLATFORM) -o $@ $** \
|
||||||
|
-dVersion=$(VERSION) \
|
||||||
|
-dBinDir=$(BINDIR) \
|
||||||
|
-dInstDir=$(INSTDIR) \
|
||||||
|
-dSrcDir=$(SRC) \
|
||||||
|
-dPlatform=$(PLATFORM) \
|
||||||
|
-dRuntimeModule=$(RUNTIMEMODULE) \
|
||||||
|
$(THIRDPARTYOPT)
|
||||||
|
|
||||||
|
all:: $(INSTALLER)
|
||||||
|
|
||||||
|
clean::
|
||||||
|
-$(RM) $(INSTALLER)
|
58
packages/windows/installer/heimdal-assemblies.wxs
Normal file
58
packages/windows/installer/heimdal-assemblies.wxs
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
<?xml version="1.0" encoding="windows-1252"?>
|
||||||
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
|
||||||
|
|
||||||
|
<?if $(var.Platform)=x64 ?>
|
||||||
|
|
||||||
|
<?define Win64=yes ?>
|
||||||
|
<?define GuidKerberos=78905402-0F4B-48E1-924C-B0E18657C5C5 ?>
|
||||||
|
<?define GuidGSSAPI=6EDFA308-6825-4395-9C9E-362C890F1343 ?>
|
||||||
|
|
||||||
|
<?else?>
|
||||||
|
|
||||||
|
<?define Win64=no ?>
|
||||||
|
<?define GuidKerberos=C5919968-FEC4-4D17-89A4-8697B95F115E ?>
|
||||||
|
<?define GuidGSSAPI=F1EEAB94-ACF3-425E-85BE-4761A0634F46 ?>
|
||||||
|
|
||||||
|
<?endif?>
|
||||||
|
|
||||||
|
<Module Id="Heimdal" Language="0" Version="$(var.Version)">
|
||||||
|
|
||||||
|
<Package Id="A064012D-F3C3-4059-9AC0-00D8A5283D6D"
|
||||||
|
InstallerVersion="200"
|
||||||
|
Languages="1033" Manufacturer="Secure Endpoints Inc."
|
||||||
|
SummaryCodepage="1252" AdminImage="no"
|
||||||
|
Platform="$(var.Platform)" />
|
||||||
|
|
||||||
|
<Directory Id='TARGETDIR' Name='SourceDir'>
|
||||||
|
<Directory Id="dir.Heimdal.Kerberos" Name="Heimdal.Kerberos"
|
||||||
|
FileSource="$(var.BinDir)\Heimdal.Kerberos">
|
||||||
|
<Component Id="comp.Heimdal.Kerberos"
|
||||||
|
Guid="$(var.GuidKerberos)"
|
||||||
|
Win64="$(var.Win64)">
|
||||||
|
<File Name="heimdal.dll" KeyPath="yes" Assembly="win32"
|
||||||
|
AssemblyManifest="id.Heimdal.Kerberos.manifest" />
|
||||||
|
<File Name="com_err.dll" />
|
||||||
|
<File Name="heimdal.pdb" />
|
||||||
|
<File Name="com_err.pdb" />
|
||||||
|
<File Name="Heimdal.Kerberos.cat" />
|
||||||
|
<File Name="Heimdal.Kerberos.manifest" Id="id.Heimdal.Kerberos.manifest" />
|
||||||
|
</Component>
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<Directory Id="dir.Heimdal.GSSAPI" Name="Heimdal.GSSAPI"
|
||||||
|
FileSource="$(var.BinDir)\Heimdal.GSSAPI">
|
||||||
|
<Component Id="comp.Heimdal.GSSAPI"
|
||||||
|
Guid="$(var.GuidGSSAPI)"
|
||||||
|
Win64="$(var.Win64)">
|
||||||
|
<File Name="gssapi.dll" KeyPath="yes" Assembly="win32"
|
||||||
|
AssemblyManifest="id.Heimdal.GSSAPI.manifest" />
|
||||||
|
<File Name="gssapi.pdb" />
|
||||||
|
<File Name="Heimdal.GSSAPI.cat" />
|
||||||
|
<File Name="Heimdal.GSSAPI.manifest" Id="id.Heimdal.GSSAPI.manifest" />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
</Module>
|
||||||
|
</Wix>
|
157
packages/windows/installer/heimdal-installer.wxs
Normal file
157
packages/windows/installer/heimdal-installer.wxs
Normal file
@@ -0,0 +1,157 @@
|
|||||||
|
<?xml version='1.0' encoding='windows-1252'?>
|
||||||
|
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
|
||||||
|
|
||||||
|
<?if $(var.Platform)=x64 ?>
|
||||||
|
|
||||||
|
<?define Win64=yes ?>
|
||||||
|
<?define PIProgramFilesFolder=ProgramFiles64Folder ?>
|
||||||
|
<?define GuidKinit=BAA5BD92-163E-4AA5-8C99-EA2100F3D9DE ?>
|
||||||
|
<?define GuidKlist=60E82A9D-2CD4-4DE5-8DCA-F3A010BE8A19 ?>
|
||||||
|
<?define GuidKswitch=7320C75F-80C5-4AA3-B133-2AB7F496B291 ?>
|
||||||
|
<?define GuidKdestroy=289C2C0D-F41D-4E46-9819-6B9B63F83418 ?>
|
||||||
|
<?define GuidKtutil=28B09087-4731-41F4-B734-C71E84EC31FC ?>
|
||||||
|
<?define GuidKdigest=D13DA4C0-B1BB-4C02-8ED2-5DFC7D16B19D ?>
|
||||||
|
|
||||||
|
<?else?>
|
||||||
|
|
||||||
|
<?define Win64=no ?>
|
||||||
|
<?define PIProgramFilesFolder=ProgramFilesFolder ?>
|
||||||
|
<?define GuidKinit=038F19D7-F7C9-4B6A-8359-321CD1FAD347 ?>
|
||||||
|
<?define GuidKlist=36BF8C4E-B0C4-42AF-9F3F-3D6F8CFEBB49 ?>
|
||||||
|
<?define GuidKswitch=3A4438E7-BBC0-47B4-9146-E0CDCBBE6C86 ?>
|
||||||
|
<?define GuidKdestroy=07D96FBC-2251-4EBC-AA68-12C6C52F44E6 ?>
|
||||||
|
<?define GuidKtutil=CE082458-E2C5-4744-A423-88C23AD3C81C ?>
|
||||||
|
<?define GuidKdigest=3FFBFAB0-FB37-411C-AF4E-53BCC468D7D1 ?>
|
||||||
|
|
||||||
|
<?endif?>
|
||||||
|
|
||||||
|
<Product Name='Heimdal'
|
||||||
|
Id='*' UpgradeCode='81E64C32-1D09-4E3D-9EA2-EECD9C4D16CE'
|
||||||
|
Language='1033' Codepage='1252' Version='$(var.Version)'
|
||||||
|
Manufacturer='Secure Endpoints Inc.'>
|
||||||
|
|
||||||
|
<Package Id='*' Description="Heimdal"
|
||||||
|
Comments='Heimdal Kerberos tools and libraries'
|
||||||
|
Manufacturer='Secure Endpoints Inc.'
|
||||||
|
InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
|
||||||
|
|
||||||
|
<Directory Id='TARGETDIR' Name='SourceDir' DiskId='1'>
|
||||||
|
<Directory Id='$(var.PIProgramFilesFolder)' Name='PFiles'>
|
||||||
|
<Directory Id='INSTALLDIR' Name='Heimdal'>
|
||||||
|
<Directory Id='dirBin' Name='bin' FileSource='$(var.BinDir)'>
|
||||||
|
|
||||||
|
<Component Id='comp.kinit'
|
||||||
|
Guid='$(var.GuidKinit)'
|
||||||
|
Win64='$(var.Win64)'>
|
||||||
|
<File Name='kinit.exe' KeyPath='yes' />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
<Component Id='comp.klist'
|
||||||
|
Guid='$(var.GuidKlist)'
|
||||||
|
Win64='$(var.Win64)'>
|
||||||
|
<File Name='klist.exe' KeyPath='yes' />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
<Component Id='comp.kswitch'
|
||||||
|
Guid='$(var.GuidKswitch)'
|
||||||
|
Win64='$(var.Win64)'>
|
||||||
|
<File Name='kswitch.exe' KeyPath='yes' />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
<Component Id='comp.ktutil'
|
||||||
|
Guid='$(var.GuidKtutil)'
|
||||||
|
Win64='$(var.Win64)'>
|
||||||
|
<File Name='ktutil.exe' KeyPath='yes' />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
<Component Id='comp.kdestroy'
|
||||||
|
Guid='$(var.GuidKdestroy)'
|
||||||
|
Win64='$(var.Win64)'>
|
||||||
|
<File Name='kdestroy.exe' KeyPath='yes' />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
<Component Id='comp.kdigest'
|
||||||
|
Guid='$(var.GuidKdigest)'
|
||||||
|
Win64='$(var.Win64)'>
|
||||||
|
<File Name='kdigest.exe' KeyPath='yes' />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
<Merge Id='Heimdal.Assemblies' Language='0'
|
||||||
|
SourceFile='$(var.InstDir)\Heimdal.msm' />
|
||||||
|
|
||||||
|
<Merge Id='Runtime' Language='0'
|
||||||
|
SourceFile='$(var.RuntimeModule)' />
|
||||||
|
|
||||||
|
<?ifdef KrbCompat?>
|
||||||
|
<Merge Id='Heimdal.Compatibility' Language='0'
|
||||||
|
SourceFile='$(var.InstDir)\Heimdal-krbcompat.msm' />
|
||||||
|
<?endif?>
|
||||||
|
|
||||||
|
<Directory Id='dirPlugin' Name='plugin'>
|
||||||
|
<Directory Id='PLUGINDIR' Name='krb5'>
|
||||||
|
|
||||||
|
<Component Id='comp.Plugin.Reg'
|
||||||
|
Guid='4BC44234-70A4-4CC1-A5AF-4CA76E9F9487'>
|
||||||
|
<RegistryKey Action='createAndRemoveOnUninstall' Root='HKLM'
|
||||||
|
Key='Software\Heimdal'>
|
||||||
|
<RegistryValue Name='plugin_dir' Type='multiString' Action='append'
|
||||||
|
Value='"[PLUGINDIR]"' KeyPath='yes' />
|
||||||
|
</RegistryKey>
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
<Directory Id='CommonAppDataFolder' Name='ProgramData'>
|
||||||
|
<Directory Id='dirCommonHeimdal' Name='Heimdal' FileSource='$(var.SrcDir)'>
|
||||||
|
|
||||||
|
<Component Id='comp.krb5.conf'
|
||||||
|
Guid='ED28951F-7B17-4DF5-91D7-4DC11C810E66' >
|
||||||
|
<File Name='krb5.conf' KeyPath='yes' />
|
||||||
|
</Component>
|
||||||
|
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
<Media Id='1' Cabinet='Disk1' CompressionLevel='high' EmbedCab='yes' />
|
||||||
|
|
||||||
|
<Feature Id='feature.Main' ConfigurableDirectory='INSTALLDIR'
|
||||||
|
Title='Heimdal'
|
||||||
|
Description='Command line tools and libraries for Heimdal Kerberos'
|
||||||
|
Level='1' TypicalDefault='install' InstallDefault='local'>
|
||||||
|
|
||||||
|
<ComponentRef Id='comp.kinit' />
|
||||||
|
<ComponentRef Id='comp.klist' />
|
||||||
|
<ComponentRef Id='comp.kdestroy' />
|
||||||
|
<ComponentRef Id='comp.kswitch' />
|
||||||
|
<ComponentRef Id='comp.kdigest' />
|
||||||
|
<ComponentRef Id='comp.ktutil' />
|
||||||
|
<ComponentRef Id='comp.krb5.conf' />
|
||||||
|
<?ifdef LsaCache ?>
|
||||||
|
<ComponentRef Id='comp.LSACache' />
|
||||||
|
<?endif?>
|
||||||
|
<?ifdef ApiCache ?>
|
||||||
|
<ComponentRef Id='comp.APICache' />
|
||||||
|
<?endif?>
|
||||||
|
<ComponentRef Id='comp.Plugin.Reg' />
|
||||||
|
|
||||||
|
<MergeRef Id='Heimdal.Assemblies' />
|
||||||
|
<MergeRef Id='Runtime' />
|
||||||
|
<?ifdef KrbCompat?>
|
||||||
|
<MergeRef Id='Heimdal.Compatibility' />
|
||||||
|
<?endif?>
|
||||||
|
|
||||||
|
<?ifdef Thirdparty ?>
|
||||||
|
<ComponentGroupRef Id='comp.Heimdal.Thirdparty' />
|
||||||
|
<?endif?>
|
||||||
|
|
||||||
|
</Feature>
|
||||||
|
|
||||||
|
<Property Id='ALLUSERS' Value='1' Secure='yes' />
|
||||||
|
|
||||||
|
</Product>
|
||||||
|
</Wix>
|
@@ -72,19 +72,20 @@ MCPU=amd64
|
|||||||
#----------------------------------------------------------------
|
#----------------------------------------------------------------
|
||||||
# Directory macros
|
# Directory macros
|
||||||
|
|
||||||
DESTDIR=$(SRC)\out\dest_$(OUTDIR)
|
DESTDIR =$(SRC)\out\dest_$(OUTDIR)
|
||||||
OBJDIR =$(SRC)\out\obj_$(OUTDIR)
|
OBJDIR =$(SRC)\out\obj_$(OUTDIR)
|
||||||
|
|
||||||
INCDIR =$(DESTDIR)\inc
|
INCDIR =$(DESTDIR)\inc
|
||||||
LIBDIR =$(DESTDIR)\lib
|
LIBDIR =$(DESTDIR)\lib
|
||||||
BINDIR =$(DESTDIR)\bin
|
BINDIR =$(DESTDIR)\bin
|
||||||
SBINDIR=$(BINDIR)
|
SBINDIR =$(BINDIR)
|
||||||
LIBEXECDIR=$(BINDIR)
|
LIBEXECDIR =$(BINDIR)
|
||||||
ASMDIR=$(BINDIR)
|
ASMDIR =$(BINDIR)
|
||||||
SDKDIR=$(SRC)\out
|
INSTDIR =$(DESTDIR)\install
|
||||||
SDKINCDIR=$(SRC)\out\inc
|
SDKDIR =$(SRC)\out
|
||||||
SDKLIBDIR=$(SRC)\out\lib\$(CPU)
|
SDKINCDIR =$(SRC)\out\inc
|
||||||
SDKSRCDIR=$(SRC)\out\src
|
SDKLIBDIR =$(SRC)\out\lib\$(CPU)
|
||||||
|
SDKSRCDIR =$(SRC)\out\src
|
||||||
|
|
||||||
!ifdef RELDIR
|
!ifdef RELDIR
|
||||||
SRCDIR =$(SRC)\$(RELDIR)
|
SRCDIR =$(SRC)\$(RELDIR)
|
||||||
@@ -117,6 +118,9 @@ CMP=cmp.exe
|
|||||||
SIGNTOOL=signtool.exe
|
SIGNTOOL=signtool.exe
|
||||||
MAKECAT=makecat.exe
|
MAKECAT=makecat.exe
|
||||||
|
|
||||||
|
CANDLE=candle.exe
|
||||||
|
LIGHT=light.exe
|
||||||
|
|
||||||
# Only used for tests
|
# Only used for tests
|
||||||
SH=sh.exe
|
SH=sh.exe
|
||||||
SED=sed.exe
|
SED=sed.exe
|
||||||
@@ -141,6 +145,8 @@ pthreadinc= -I$(PTHREAD_INC)
|
|||||||
|
|
||||||
cincdirs=$(cincdirs) -I$(INCDIR) -I$(INCDIR)\krb5 $(pthreadinc)
|
cincdirs=$(cincdirs) -I$(INCDIR) -I$(INCDIR)\krb5 $(pthreadinc)
|
||||||
cdefines=$(cdefines) -DHAVE_CONFIG_H
|
cdefines=$(cdefines) -DHAVE_CONFIG_H
|
||||||
|
cdebug=$(cdebug) /Zi
|
||||||
|
ldebug=$(ldebug) /DEBUG
|
||||||
|
|
||||||
# ---------------------------------------------------------------
|
# ---------------------------------------------------------------
|
||||||
# time_t issues
|
# time_t issues
|
||||||
@@ -220,7 +226,7 @@ RC2RES = $(RC2RES_C) -fo $@ $**
|
|||||||
!ifndef RECURSE
|
!ifndef RECURSE
|
||||||
|
|
||||||
check-utils:
|
check-utils:
|
||||||
@for %%g in ( "$(AWK)" "$(YACC)" "$(LEX)" "$(PYTHON)" "$(PERL)" "$(CMP)" "$(SED)" "$(SIGNTOOL)" "$(MAKECAT)" ) do @( \
|
@for %%g in ( "$(AWK)" "$(YACC)" "$(LEX)" "$(PYTHON)" "$(PERL)" "$(CMP)" "$(SED)" "$(SIGNTOOL)" "$(MAKECAT)" "$(CANDLE)" "$(LIGHT)") do @( \
|
||||||
for /f %%f in ( "%%g" ) do @( \
|
for /f %%f in ( "%%g" ) do @( \
|
||||||
if exist %%f @( \
|
if exist %%f @( \
|
||||||
echo Found %%f \
|
echo Found %%f \
|
||||||
|
Reference in New Issue
Block a user