Windows: Add Symbol Store support

Change-Id: I722738dc56b9fdeb1c50643bcdc076dbd27a3f8a
This commit is contained in:
Jeffrey Altman
2013-09-22 10:00:23 -04:00
parent cb2896b6e7
commit dae1a38d80

View File

@@ -164,6 +164,7 @@ cincdirs=$(cincdirs) -I$(INCDIR) -I$(INCDIR)\krb5 $(pthreadinc)
cdefines=$(cdefines) -DHAVE_CONFIG_H cdefines=$(cdefines) -DHAVE_CONFIG_H
cdebug=$(cdebug) /Zi cdebug=$(cdebug) /Zi
ldebug=$(ldebug) /DEBUG ldebug=$(ldebug) /DEBUG
localcflags=$(localcflags) /Oy-
# Disable warnings: # Disable warnings:
# #
@@ -509,6 +510,26 @@ _CODESIGN=( echo Skipping code sign )
!endif !endif
#----------------------------------------------------------------------
# Symbol Store Support
#
# SYMSTORE_EXE is full path to symstore.exe
#
# SYMSTORE_ROOT is full path to root directory of symbol store
#
# SYMSTORE_COMMENT is optional comment to include in symbol store catalog entry
#
!IF DEFINED(SYMSTORE_EXE) && DEFINED(SYMSTORE_ROOT)
!IF "$(SYMSTORE_COMMENT)" != ""
SYMSTORE_COMMENT = |$(SYMSTORE_COMMENT)
!ENDIF
SYMSTORE_IMPORT= \
$(SYMSTORE_EXE) add /s $(SYMSTORE_ROOT) /t "Heimdal" /v "$(BUILD)-$(CPU)-$(VER_PACKAGE_VERSION)" /c "$(@F)$(SYMSTORE_COMMENT)" /f $*.*
!ELSE
SYMSTORE_IMPORT=@echo No symbol store
!ENDIF
#---------------------------------------------------------------------- #----------------------------------------------------------------------
# Convenience macros for preparing EXEs and DLLs. These are multiline # Convenience macros for preparing EXEs and DLLs. These are multiline
# macros that deal with manifests and code signing. Unless we need to # macros that deal with manifests and code signing. Unless we need to
@@ -516,22 +537,22 @@ _CODESIGN=( echo Skipping code sign )
# prepare binaries. # prepare binaries.
EXEPREP=\ EXEPREP=\
( $(_VC_MANIFEST_EMBED_EXE) && $(_VC_MANIFEST_CLEAN) && $(_CODESIGN) ) || ( $(RM) $@ && exit /b 1 ) ( $(_VC_MANIFEST_EMBED_EXE) && $(_VC_MANIFEST_CLEAN) && $(SYMSTORE_IMPORT) && $(_CODESIGN) ) || ( $(RM) $@ && exit /b 1 )
EXEPREP_NOHEIM=\ EXEPREP_NOHEIM=\
( $(_VC_MANIFEST_EMBED_EXE_NOHEIM) && $(_VC_MANIFEST_CLEAN) && $(_CODESIGN) ) || ( $(RM) $@ && exit /b 1 ) ( $(_VC_MANIFEST_EMBED_EXE_NOHEIM) && $(_VC_MANIFEST_CLEAN) && $(SYMSTORE_IMPORT) && $(_CODESIGN) ) || ( $(RM) $@ && exit /b 1 )
EXEPREP_NODIST=\ EXEPREP_NODIST=\
( $(_VC_MANIFEST_EMBED_EXE_NOHEIM) && $(_VC_MANIFEST_CLEAN) ) || ( $(RM) $@ && exit /b 1 ) ( $(_VC_MANIFEST_EMBED_EXE_NOHEIM) && $(_VC_MANIFEST_CLEAN) && $(SYMSTORE_IMPORT) ) || ( $(RM) $@ && exit /b 1 )
DLLPREP=\ DLLPREP=\
( $(_VC_MANIFEST_EMBED_DLL) && $(_VC_MANIFEST_CLEAN) && $(_CODESIGN) ) || ( $(RM) $@ && exit /b 1 ) ( $(_VC_MANIFEST_EMBED_DLL) && $(_VC_MANIFEST_CLEAN) && $(SYMSTORE_IMPORT) && $(_CODESIGN) ) || ( $(RM) $@ && exit /b 1 )
DLLPREP_NODIST=\ DLLPREP_NODIST=\
( $(_VC_MANIFEST_EMBED_DLL) && $(_VC_MANIFEST_CLEAN) ) || ( $(RM) $@ && exit /b 1 ) ( $(_VC_MANIFEST_EMBED_DLL) && $(_VC_MANIFEST_CLEAN) && $(SYMSTORE_IMPORT) ) || ( $(RM) $@ && exit /b 1 )
DLLPREP_MERGE=\ DLLPREP_MERGE=\
( ( $(_MERGE_MANIFEST_DLL) || $(_INSERT_APPMANIFEST_DLL) ) && $(_CODESIGN) ) || ( $(RM) $@ && exit /b 1 ) ( ( $(_MERGE_MANIFEST_DLL) || $(_INSERT_APPMANIFEST_DLL) && $(SYMSTORE_IMPORT) ) && $(_CODESIGN) ) || ( $(RM) $@ && exit /b 1 )
#---------------------------------------------------------------------- #----------------------------------------------------------------------
# Convenience macros for import libraries and assemblies # Convenience macros for import libraries and assemblies