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
cdebug=$(cdebug) /Zi
ldebug=$(ldebug) /DEBUG
localcflags=$(localcflags) /Oy-
# Disable warnings:
#
@@ -509,6 +510,26 @@ _CODESIGN=( echo Skipping code sign )
!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
# macros that deal with manifests and code signing. Unless we need to
@@ -516,22 +537,22 @@ _CODESIGN=( echo Skipping code sign )
# prepare binaries.
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=\
( $(_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=\
( $(_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=\
( $(_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=\
( $(_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=\
( ( $(_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