win32: build debug version, updates to MSI

Build with debug options,
include profiles and SM module into MSI.
This commit is contained in:
Viktor Tarasov 2012-06-07 22:22:58 +02:00
parent da894500c9
commit 7c05e8ce21
2 changed files with 74 additions and 4 deletions

View File

@ -10,6 +10,12 @@ WIX_PATH = "C:\Program Files (x86)\Windows Installer XML v3.6"
WIX_PATH = "C:\Program Files\Windows Installer XML v3.6"
!ENDIF
#Include support for Secure Messaging
SM_DEF = /DENABLE_SM
#Build with debugging support
#DEBUG_DEF = /DDEBUG
# If you want support for OpenSSL (needed for pkcs15-init tool, software hashing in PKCS#11 library and verification):
# - download and build OpenSSL
# - uncomment the line starting with OPENSSL_DEF
@ -23,7 +29,12 @@ OPENSSL_DIR = C:\OpenSSL-Win64
OPENSSL_DIR = C:\OpenSSL-Win32
!ENDIF
OPENSSL_INCL_DIR = /I$(OPENSSL_DIR)\include
!IF "$(DEBUG_DEF)" == "/DDEBUG"
OPENSSL_LIB = $(OPENSSL_DIR)\lib\VC\static\libeay32MTd.lib $(OPENSSL_DIR)\lib\VC\static\ssleay32MTd.lib user32.lib advapi32.lib crypt32.lib
!ELSE
OPENSSL_LIB = $(OPENSSL_DIR)\lib\VC\static\libeay32MT.lib $(OPENSSL_DIR)\lib\VC\static\ssleay32MT.lib user32.lib advapi32.lib crypt32.lib
!ENDIF
PROGRAMS_OPENSSL = pkcs15-init.exe cryptoflex-tool.exe netkey-tool.exe piv-tool.exe westcos-tool.exe
OPENSC_FEATURES = $(OPENSC_FEATURES) openssl
@ -57,13 +68,23 @@ CNGSDK_INCL_DIR = "/IC:\Program Files\Microsoft CNG Development Kit\Include"
CODE_OPTIMIZATION = /O1
ALL_INCLUDES = /I$(TOPDIR)\win32 /I$(TOPDIR)\src $(OPENSSL_INCL_DIR) $(ZLIB_INCL_DIR) $(LIBLTDL_INCL) $(INTTYPES_INCL_DIR) $(CNGSDK_INCL_DIR)
COPTS = /W3 /D_CRT_SECURE_NO_DEPRECATE /MT /nologo /DHAVE_CONFIG_H $(ALL_INCLUDES) /D_WIN32_WINNT=0x0502 /DWIN32_LEAN_AND_MEAN $(OPENSSL_DEF) $(ZLIB_DEF) $(MINIDRIVER_DEF) /DOPENSC_FEATURES="\"$(OPENSC_FEATURES)\""
!IF "$(DEBUG_DEF)" == "/DDEBUG"
LINKDEBUGFLAGS = /NODEFAULTLIB:LIBCMT /DEBUG
CODE_OPTIMIZATION =
COPTS = /W3 /D_CRT_SECURE_NO_DEPRECATE /MTd /nologo /DHAVE_CONFIG_H $(ALL_INCLUDES) /D_WIN32_WINNT=0x0502 /DWIN32_LEAN_AND_MEAN $(OPENSSL_DEF) $(ZLIB_DEF) $(MINIDRIVER_DEF) $(SM_DEF) /DOPENSC_FEATURES="\"$(OPENSC_FEATURES)\"" /DDEBUG /Zi /Od
!ELSE
LINKDEBUGFLAGS = /NODEFAULTLIB:LIBCMTD
COPTS = /W3 /D_CRT_SECURE_NO_DEPRECATE /MT /nologo /DHAVE_CONFIG_H $(ALL_INCLUDES) /D_WIN32_WINNT=0x0502 /DWIN32_LEAN_AND_MEAN $(OPENSSL_DEF) $(ZLIB_DEF) $(MINIDRIVER_DEF) $(SM_DEF) /DOPENSC_FEATURES="\"$(OPENSC_FEATURES)\""
!ENDIF
!IF "$(BUILD_FOR)" == "WIN64"
LINKFLAGS = /NOLOGO /INCREMENTAL:NO /MACHINE:X64 /MANIFEST:NO /NODEFAULTLIB:MSVCRTD /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:LIBCMTD
LINKFLAGS = /NOLOGO /INCREMENTAL:NO /MACHINE:X64 /MANIFEST:NO /NODEFAULTLIB:MSVCRTD /NODEFAULTLIB:MSVCRT $(LINKDEBUGFLAGS)
LIBFLAGS = /nologo /machine:x64
CANDLEFLAGS = -dPlatform=x64
!ELSE
LINKFLAGS = /NOLOGO /INCREMENTAL:NO /MACHINE:X86 /MANIFEST:NO /NODEFAULTLIB:MSVCRTD /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:LIBCMTD
LINKFLAGS = /NOLOGO /INCREMENTAL:NO /MACHINE:X86 /MANIFEST:NO /NODEFAULTLIB:MSVCRTD /NODEFAULTLIB:MSVCRT $(LINKDEBUGFLAGS)
LIBFLAGS = /nologo /machine:x86
CANDLEFLAGS = -dPlatform=x86
!ENDIF

View File

@ -57,14 +57,24 @@
<Directory Id="$(var.PlatformProgramFilesFolder)" Name="PFiles">
<Directory Id="OpenSC_Project_Dir" Name="OpenSC Project">
<!-- Most of the stuff goes to the Program Files folder -->
<Directory Id="PKCS11SPYINSTALLDIR" Name="PKCS11-Spy">
<Component Id="pkcs11_spy.dll" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs11\pkcs11-spy.dll"/>
<RegistryKey Id="Pkcs11SpyRegs" Root="HKLM" Key="Software\[Manufacturer]\PKCS11-Spy" Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Name="Module" Value="%SystemRoot%\system32\opensc-pkcs11.dll"/>
<RegistryValue Type="string" Name="Output" Value="%TEMP%\pkcs11-spy.log"/>
</RegistryKey>
</Component>
</Directory>
<Directory Id="INSTALLDIR" Name="OpenSC">
<!-- opensc.conf sample goes to installation directory -->
<Component Id="opensc.conf" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\etc\opensc.conf.in" Name="opensc.conf" KeyPath="yes"/>
<File Source="$(var.SOURCE_DIR)\etc\opensc.conf.win" Name="opensc.conf" KeyPath="yes"/>
<!-- -->
<RegistryKey Id="OpenscRegs" Root="HKLM" Key="Software\[Manufacturer]\OpenSC" Action="createAndRemoveOnUninstall">
<RegistryValue Type="string" Name="ConfigFile" Value="[INSTALLDIR]opensc.conf"/>
<RegistryValue Type="string" Name="ProfileDir" Value="[INSTALLDIR]profiles"/>
<RegistryValue Type="string" Name="SmDir" Value="[INSTALLDIR]tools"/>
</RegistryKey>
</Component>
<!-- Tools have their own folder -->
@ -72,6 +82,9 @@
<Component Id="opensc.dll" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\libopensc\opensc.dll" Vital="yes"/>
</Component>
<Component Id="smm_local.dll" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\sm\smm-local.dll" Vital="yes"/>
</Component>
<Component Id="opensc_explorer.exe" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\tools\opensc-explorer.exe" Vital="yes"/>
</Component>
@ -104,6 +117,9 @@
<Component Id="entersafe.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\entersafe.profile"/>
</Component>
<Component Id="epass2003.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\epass2003.profile"/>
</Component>
<Component Id="myeid.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\myeid.profile"/>
</Component>
@ -128,6 +144,27 @@
<Component Id="rutoken_ecp.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\rutoken_ecp.profile"/>
</Component>
<Component Id="ias_adele_admin1.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\ias_adele_admin1.profile"/>
</Component>
<Component Id="ias_adele_admin2.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\ias_adele_admin2.profile"/>
</Component>
<Component Id="ias_adele_common.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\ias_adele_common.profile"/>
</Component>
<Component Id="iasecc_admin_eid.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\iasecc_admin_eid.profile"/>
</Component>
<Component Id="iasecc_generic_oberthur.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\iasecc_generic_oberthur.profile"/>
</Component>
<Component Id="iasecc_generic_pki.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\iasecc_generic_pki.profile"/>
</Component>
<Component Id="iasecc.profile" Guid="*" Win64="$(var.Win64YesNo)">
<File Source="$(var.SOURCE_DIR)\src\pkcs15init\iasecc.profile"/>
</Component>
</Directory>
</Directory>
</Directory>
@ -147,10 +184,14 @@
<Feature Id="OpenSC_core" Level="1" Title="OpenSC core library" Description="Core DLL and configuration file used by all other components." Absent="disallow">
<ComponentRef Id="opensc.dll"/>
<ComponentRef Id="opensc.conf"/>
<ComponentRef Id="smm_local.dll"/>
</Feature>
<Feature Id="OpenSC_pkcs11" Level="1" Title="OpenSC PKCS#11 module" Description="PKCS#11 module usd by most open source and cross-platform software (like Firefox, Putty, TrueCrypt, OpenVPN etc)" TypicalDefault="install">
<ComponentRef Id="opensc_pkcs11.dll"/>
</Feature>
<Feature Id="PKCS11_spy" Level="1" Title="PKCS#11 Spy module" Description="Module of the PKCS#11 spy." Absent="disallow">
<ComponentRef Id="pkcs11_spy.dll"/>
</Feature>
<!-- Minidriver is only installed if selected via Custom install (level == 4) -->
<Feature Id="OpenSC_minidriver" Level="4" Title="OpenSC minidriver (EXPERIMENTAL)" Description="OpenSC minidriver for using smart cards with native Windows CSP applications (like Internet Explorer)" AllowAdvertise="no" Absent="allow">
<ComponentRef Id="opensc_minidriver.dll"/>
@ -169,6 +210,7 @@
<ComponentRef Id="asepcos.profile"/>
<ComponentRef Id="cardos.profile"/>
<ComponentRef Id="entersafe.profile"/>
<ComponentRef Id="epass2003.profile"/>
<ComponentRef Id="myeid.profile"/>
<ComponentRef Id="setcos.profile"/>
<ComponentRef Id="starcos.profile"/>
@ -177,6 +219,13 @@
<ComponentRef Id="authentic.profile"/>
<ComponentRef Id="rutoken.profile"/>
<ComponentRef Id="rutoken_ecp.profile"/>
<ComponentRef Id="ias_adele_admin1.profile"/>
<ComponentRef Id="ias_adele_admin2.profile"/>
<ComponentRef Id="ias_adele_common.profile"/>
<ComponentRef Id="iasecc_admin_eid.profile"/>
<ComponentRef Id="iasecc_generic_oberthur.profile"/>
<ComponentRef Id="iasecc_generic_pki.profile"/>
<ComponentRef Id="iasecc.profile"/>
</Feature>
<Feature Id="OpenSC_menu" Level="1" Title="Start menu entries" Description="Start menu entries: link to documentation">
<ComponentRef Id="ProgramMenuDir"/>