summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2020-11-11 12:22:39 +0000
committerRobin Watts <Robin.Watts@artifex.com>2020-11-11 13:20:55 +0000
commitd3a0d4c4c5e6c7c1662094500f25c11b27016268 (patch)
tree7151f6f5eb0689e52a7770e0afe65322d0d9254f
parentc2fa28dbaa4c238eba4c8236d7da3a12113b734c (diff)
downloadghostpdl-d3a0d4c4c5e6c7c1662094500f25c11b27016268.tar.gz
MSVC: Add sanitize configurations/targets.
While we have 64bit configurations, these will only work for 32 bit builds at the moment, due to MSVC not supporting 64bit builds.
-rw-r--r--base/msvccmd.mak10
-rw-r--r--psi/msvc.mak101
-rw-r--r--windows/All.vcxproj44
-rw-r--r--windows/GhostPDL.sln14
-rw-r--r--windows/ghostpcl.vcxproj42
-rw-r--r--windows/ghostpdl.vcxproj44
-rw-r--r--windows/ghostscript.vcxproj42
-rw-r--r--windows/ghostxps.vcxproj44
8 files changed, 326 insertions, 15 deletions
diff --git a/base/msvccmd.mak b/base/msvccmd.mak
index 7d5980e81..f8733a872 100644
--- a/base/msvccmd.mak
+++ b/base/msvccmd.mak
@@ -220,6 +220,12 @@ MSINCFLAGS=-I"$(INCDIR64A)" -I"$(INCDIR64B)"
MSINCFLAGS=
!endif
+!if "$(SANITIZE)" == "1"
+SANITIZECFLAGS=/fsanitize=address
+!else
+SANITIZECFLAGS=
+!endif
+
# Specify output object name
CCOBJNAME=-Fo
@@ -233,8 +239,8 @@ COMPILE_FOR_CONSOLE_EXE=
GENOPT=$(CP) $(CD) $(CT) $(CS) $(WARNOPT) $(VC8WARN) /nologo $(CMT)
CCFLAGS=$(PLATOPT) $(FPFLAGS) $(CPFLAGS) $(CFLAGS) $(XCFLAGS) $(MSINCFLAGS) $(SBRFLAGS)
-CC=$(COMP) /c $(CCFLAGS) $(COMPILE_FULL_OPTIMIZED) @$(GLGENDIR)\ccf32.tr
-CXX=$(CXX) /c $(CCFLAGS) $(COMPILE_FULL_OPTIMIZED) @$(GLGENDIR)\ccf32.tr
+CC=$(COMP) /c $(CCFLAGS) $(COMPILE_FULL_OPTIMIZED) $(SANITIZECFLAGS) @$(GLGENDIR)\ccf32.tr
+CXX=$(CXX) /c $(CCFLAGS) $(COMPILE_FULL_OPTIMIZED) $(SANITIZECFLAGS) @$(GLGENDIR)\ccf32.tr
CPP=$(COMPCPP) /c $(CCFLAGS) @$(GLGENDIR)\ccf32.tr
!if $(MAKEDLL)
WX=$(COMPILE_FOR_DLL)
diff --git a/psi/msvc.mak b/psi/msvc.mak
index 09983671b..5583438d7 100644
--- a/psi/msvc.mak
+++ b/psi/msvc.mak
@@ -87,10 +87,14 @@ DEFAULT_OBJ_DIR=.\$(PRODUCT_PREFIX)profobj
!if "$(DEBUG)"=="1"
DEFAULT_OBJ_DIR=.\$(PRODUCT_PREFIX)debugobj
!else
+!if "$(SANITIZE)"=="1"
+DEFAULT_OBJ_DIR=.\$(PRODUCT_PREFIX)sanobj
+!else
DEFAULT_OBJ_DIR=.\$(PRODUCT_PREFIX)obj
!endif
!endif
!endif
+!endif
!ifdef METRO
DEFAULT_OBJ_DIR=$(DEFAULT_OBJ_DIR)rt
!endif
@@ -114,6 +118,9 @@ BINDIR=.\membin
!if "$(DEBUG)"=="1"
BINDIR=.\debugbin
!else
+!if "$(SANITIZE)"=="1"
+BINDIR=.\sanbin
+!else
!if "$(DEBUGSYM)"=="1"
BINDIR=.\profbin
!else
@@ -121,6 +128,7 @@ BINDIR=.\bin
!endif
!endif
!endif
+!endif
!ifdef XP
BINDIR=$(BINDIR)xp
!endif
@@ -388,6 +396,10 @@ DEBUGSYM=0
WIN32=0
!endif
+!if "$(SANITIZE)"=="1" && defined(WIN64)
+!error 64bit Sanitize builds not supported by MSVC yet!
+!endif
+
# We can build either 32-bit or 64-bit target on a 64-bit platform
# but the location of the binaries differs. Would be nice if the
# detection of the platform could be automatic.
@@ -1855,6 +1867,10 @@ $(GS_XE): $(GSDLL_DLL) $(DWOBJ) $(GSCONSOLE_XE) $(GLOBJ)gp_wutf8.$(OBJ) $(TOP_M
!if "$(PROFILE)"=="1"
echo /Profile >> $(PSGEN)gswin.rsp
!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan-i386.lib >> $(PSGEN)gswin.rsp
+ echo /wholearchive:clang_rt.asan_cxx-i386.lib >> $(PSGEN)gswin.rsp
+!endif
!ifdef WIN64
echo /DEF:$(PSSRCDIR)\dwmain64.def /OUT:$(GS_XE) >> $(PSGEN)gswin.rsp
!else
@@ -1870,6 +1886,10 @@ $(GSCONSOLE_XE): $(OBJC) $(GS_OBJ).res $(PSSRCDIR)\dw64c.def $(PSSRCDIR)\dw32c.d
!if "$(PROFILE)"=="1"
echo /Profile >> $(PSGEN)gswin.rsp
!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan-i386.lib >> $(PSGEN)gswin.rsp
+ echo /wholearchive:clang_rt.asan_cxx-i386.lib >> $(PSGEN)gswin.rsp
+!endif
!ifdef WIN64
echo /DEF:$(PSSRCDIR)\dw64c.def /OUT:$(GSCONSOLE_XE) >> $(PSGEN)gswin.rsp
!else
@@ -1885,6 +1905,9 @@ $(GSDLL_DLL): $(ECHOGS_XE) $(gs_tr) $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(GSDLL_
!if "$(PROFILE)"=="1"
echo /Profile >> $(PSGEN)gswin.rsp
!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan_dll_thunk-i386.lib >> $(PSGEN)gswin.rsp
+!endif
$(LINK) $(LCT) @$(PSGEN)gswin.rsp $(GSDLL_OBJS) @$(gsld_tr) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) @$(PSGEN)lib.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res
del $(PSGEN)gswin.rsp
@@ -1899,6 +1922,9 @@ $(GPCL6DLL_DLL): $(ECHOGS_XE) $(GSDLL_OBJ).res $(LIBCTR) $(LIB_ALL) $(PCL_DEVS_A
!if "$(PROFILE)"=="1"
echo /Profile >> $(PSGEN)gpclwin.rsp
!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan_dll_thunk-i386.lib >> $(PSGEN)gpclwin.rsp
+!endif
$(LINK) $(LCT) @$(PCLGEN)gpclwin.rsp $(GPCL6DLL_OBJS) @$(PCLGEN)gpclwin.tr @$(PSGEN)pcllib.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res
del $(PCLGEN)gpclwin.rsp
@@ -1907,6 +1933,10 @@ $(GPCL_XE): $(GPCL6DLL_DLL) $(DWMAINOBJS) $(GS_OBJ).res $(TOP_MAKEFILES)
!if "$(PROFILE)"=="1"
echo /Profile >> $(PCLGEN)gpclwin.rsp
!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan-i386.lib >> $(PCLGEN)gpclwin.rsp
+ echo /wholearchive:clang_rt.asan_cxx-i386.lib >> $(PCLGEN)gpclwin.rsp
+!endif
!ifdef WIN64
echo /OUT:$(GPCL_XE) >> $(PCLGEN)gpclwin.rsp
!else
@@ -1927,6 +1957,9 @@ $(GXPSDLL_DLL): $(ECHOGS_XE) $(GSDLL_OBJ).res $(LIBCTR) $(LIB_ALL) $(XPS_DEVS_AL
!if "$(PROFILE)"=="1"
echo /Profile >> $(XPSGEN)gxpswin.rsp
!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan_dll_thunk-i386.lib >> $(PSGEN)gxpswin.rsp
+!endif
$(LINK) $(LCT) @$(XPSGEN)gxpswin.rsp $(GXPSDLL_OBJS) @$(XPSGEN)gxpswin.tr @$(XPSGEN)xpslib.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res
del $(PCLGEN)gxpswin.rsp
@@ -1935,6 +1968,10 @@ $(GXPS_XE): $(GXPSDLL_DLL) $(DWMAINOBJS) $(GS_OBJ).res $(TOP_MAKEFILES)
!if "$(PROFILE)"=="1"
echo /Profile >> $(XPSGEN)gxpswin.rsp
!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan-i386.lib >> $(XPSGEN)gxpswin.rsp
+ echo /wholearchive:clang_rt.asan_cxx-i386.lib >> $(XPSGEN)gxpswin.rsp
+!endif
!ifdef WIN64
echo /OUT:$(GXPS_XE) >> $(XPSGEN)gxpswin.rsp
!else
@@ -1967,19 +2004,22 @@ $(GPDLDLL_DLL): $(ECHOGS_XE) $(GSDLL_OBJ).res $(LIBCTR) $(LIB_ALL) $(PCL_DEVS_AL
!if "$(PROFILE)"=="1"
echo /Profile >> $(GPDLGEN)gpdlwin.rsp
!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan_dll_thunk-i386.lib >> $(PSGEN)gpdlwin.rsp
+!endif
$(LINK) $(LCT) @$(GPDLGEN)gpdlwin.rsp $(GPDLDLL_OBJS) @$(GPDLGEN)gpdlwin.tr @$(GPDLGEN)gpdllib.rsp $(LINKLIBPATH) @$(LIBCTR) $(GSDLL_OBJ).res
del $(GPDLGEN)gpdlwin.rsp
$(GPDL_XE): $(GPDLDLL_DLL) $(DWMAINOBJS) $(GS_OBJ).res $(TOP_MAKEFILES)
echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(GPDLGEN)gpdlwin.rsp
!if "$(PROFILE)"=="1"
- echo /Profile >> $(XPSGEN)gpdlwin.rsp
+ echo /Profile >> $(GPDLGEN)gpdlwin.rsp
!endif
-!ifdef WIN64
- echo /OUT:$(GPDL_XE) >> $(GPDLGEN)gpdlwin.rsp
-!else
- echo /OUT:$(GPDL_XE) >> $(GPDLGEN)gpdlwin.rsp
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan-i386.lib >> $(GPDLGEN)gpdlwin.rsp
+ echo /wholearchive:clang_rt.asan_cxx-i386.lib >> $(GPDLGEN)gpdlwin.rsp
!endif
+ echo /OUT:$(GPDL_XE) >> $(GPDLGEN)gpdlwin.rsp
$(LINK) $(LCT) @$(GPDLGEN)gpdlwin.rsp $(DWMAINOBJS) $(BINDIR)\$(GPDLDLL).lib $(LINKLIBPATH) @$(LIBCTR) $(GS_OBJ).res
del $(GPDLGEN)gpdlwin.rsp
@@ -2004,6 +2044,10 @@ $(GS_XE): $(GSCONSOLE_XE) $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(DWOBJNO) $(GSDLL
!if "$(PROFILE)"=="1"
echo /Profile >> $(PSGEN)gswin.rsp
!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan-i386.lib >> $(PSGEN)gswin.rsp
+ echo /wholearchive:clang_rt.asan_cxx-i386.lib >> $(PSGEN)gswin.rsp
+!endif
$(LINK) $(LCT) @$(PSGEN)gswin.rsp $(GLOBJ)gsdll @$(PSGEN)gswin.tr $(LINKLIBPATH) @$(LIBCTR) @$(PSGEN)lib.rsp $(GSDLL_OBJ).res $(DWTRACE)
del $(PSGEN)gswin.tr
del $(PSGEN)gswin.rsp
@@ -2023,6 +2067,13 @@ $(GSCONSOLE_XE): $(ECHOGS_XE) $(gs_tr) $(GS_ALL) $(DEVS_ALL) $(GSDLL_OBJS) $(OBJ
!else
echo /DEF:$(PSSRCDIR)\dw32c.def /OUT:$(GSCONSOLE_XE) >> $(PSGEN)gswin.rsp
!endif
+!if "$(PROFILE)"=="1"
+ echo /Profile >> $(PSGEN)gswin.rsp
+!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan-i386.lib >> $(PSGEN)gswin.rsp
+ echo /wholearchive:clang_rt.asan_cxx-i386.lib >> $(PSGEN)gswin.rsp
+!endif
$(LINK) $(LCT) @$(PSGEN)gswin.rsp $(GLOBJ)gsdll @$(PSGEN)gswin.tr $(LINKLIBPATH) @$(LIBCTR) @$(PSGEN)lib.rsp $(GS_OBJ).res $(DWTRACE)
del $(PSGEN)gswin.rsp
del $(PSGEN)gswin.tr
@@ -2049,6 +2100,13 @@ $(GXPS_XE): $(ECHOGS_XE) $(LIBCTR) $(LIB_ALL) $(WINMAINOBJS) $(XPS_DEVS_ALL) $(X
echo $(WINMAINOBJS) $(MAIN_OBJ) $(XPS_TOP_OBJS) $(INT_ARCHIVE_SOME) $(XOBJS) >> $(XPSGEN)gxpswin.tr
echo $(PCLOBJ)xpsromfs$(COMPILE_INITS).$(OBJ) >> $(XPSGEN)gxpswin.tr
echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(XPSGEN)xpswin.rsp
+!if "$(PROFILE)"=="1"
+ echo /Profile >> $(PSGEN)xpswin.rsp
+!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan-i386.lib >> $(XPSGEN)xpswin.rsp
+ echo /wholearchive:clang_rt.asan_cxx-i386.lib >> $(XPSGEN)xpswin.rsp
+!endif
echo /OUT:$(GXPS_XE) >> $(XPSGEN)xpswin.rsp
$(LINK) $(LCT) @$(XPSGEN)xpswin.rsp @$(XPSGEN)gxpswin.tr $(LINKLIBPATH) @$(LIBCTR) @$(XPSGEN)xpslib.rsp
del $(XPSGEN)xpswin.rsp
@@ -2063,6 +2121,13 @@ $(GPDL_XE): $(ECHOGS_XE) $(ld_tr) $(gpdl_tr) $(LIBCTR) $(LIB_ALL) $(WINMAINOBJS)
echo $(WINMAINOBJS) $(MAIN_OBJ) $(GPDL_PSI_TOP_OBJS) $(PCL_PXL_TOP_OBJS) $(PSI_TOP_OBJ) $(XPS_TOP_OBJ) $(XOBJS) >> $(GPDLGEN)gpdlwin.tr
echo $(PCLOBJ)pdlromfs$(COMPILE_INITS).$(OBJ) >> $(GPDLGEN)gpdlwin.tr
echo /SUBSYSTEM:CONSOLE$(SUBSUBSYS) > $(GPDLGEN)gpdlwin.rsp
+!if "$(PROFILE)"=="1"
+ echo /Profile >> $(PSGEN)gpdlwin.rsp
+!endif
+!if "$(SANITIZE)"=="1"
+ echo /wholearchive:clang_rt.asan-i386.lib >> $(GPDLGEN)gpdlwin.rsp
+ echo /wholearchive:clang_rt.asan_cxx-i386.lib >> $(GPDLGEN)gpdlwin.rsp
+!endif
echo /OUT:$(GPDL_XE) >> $(GPDLGEN)gpdlwin.rsp
$(LINK) $(LCT) @$(GPDLGEN)gpdlwin.rsp @$(GPDLGEN)gpdlwin.tr $(LINKLIBPATH) @$(LIBCTR) @$(GPDLGEN)gpdllib.rsp
del $(GPDLGEN)gpdlwin.rsp
@@ -2164,6 +2229,32 @@ profilebsc:
+# -------------------- Sanitize targets --------------------- #
+# Simply set some definitions and call ourselves back #
+
+SANITIZEDEFS=SANITIZE=1 $(RECURSIVEDEFS)
+
+sanitize:
+ nmake -f $(MAKEFILE) $(SANITIZEDEFS) FT_BRIDGE=$(FT_BRIDGE)
+
+gssanitize:
+ nmake -f $(MAKEFILE) $(SANITIZEDEFS) FT_BRIDGE=$(FT_BRIDGE) gs
+
+gpcl6sanitze:
+ nmake -f $(MAKEFILE) $(SANITIZEDEFS) FT_BRIDGE=$(FT_BRIDGE) gpcl6
+
+gxpssanitize:
+ nmake -f $(MAKEFILE) $(SANITIZEDEFS) FT_BRIDGE=$(FT_BRIDGE) gxps
+
+gpdlsanitize:
+ nmake -f $(MAKEFILE) $(SANITIZEDEFS) FT_BRIDGE=$(FT_BRIDGE) gpdl
+
+sanitizeclean:
+ nmake -f $(MAKEFILE) $(SANITIZEDEFS) FT_BRIDGE=$(FT_BRIDGE) clean
+
+sanitizebsc:
+ nmake -f $(MAKEFILE) $(SANITIZEDEFS) FT_BRIDGE=$(FT_BRIDGE) bsc
+
# ---------------------- UFST targets ---------------------- #
# Simply set some definitions and call ourselves back #
diff --git a/windows/All.vcxproj b/windows/All.vcxproj
index 0d5bf13d1..0e84b3ebd 100644
--- a/windows/All.vcxproj
+++ b/windows/All.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug-contrib|Win32">
@@ -81,6 +81,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|Win32">
+ <Configuration>Sanitize</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|x64">
+ <Configuration>Sanitize</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{98351FEF-0032-457C-B9D9-D6B68A829386}</ProjectGuid>
@@ -124,6 +132,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -164,6 +176,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -198,6 +214,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -228,6 +247,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -244,6 +266,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gswin32c.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'">
+ <OutDir>debugobj\</OutDir>
+ <IntDir>debugobj\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= sanitize &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= sanitize &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gswin32c.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'">
<OutDir>debugobjxp\</OutDir>
<IntDir>debugobjxp\</IntDir>
@@ -262,6 +293,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gswin64c.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'">
+ <OutDir>debugobj64\</OutDir>
+ <IntDir>debugobj64\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= sanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= sanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gswin64c.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'">
<OutDir>debugobj64xp\</OutDir>
<IntDir>debugobj64xp\</IntDir>
@@ -422,4 +462,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project> \ No newline at end of file
diff --git a/windows/GhostPDL.sln b/windows/GhostPDL.sln
index 748c79832..4137febec 100644
--- a/windows/GhostPDL.sln
+++ b/windows/GhostPDL.sln
@@ -35,6 +35,8 @@ Global
Release-contrib|x64 = Release-contrib|x64
ReleaseXP|Win32 = ReleaseXP|Win32
ReleaseXP|x64 = ReleaseXP|x64
+ Sanitize|Win32 = Sanitize|Win32
+ Sanitize|x64 = Sanitize|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1EDA2AC3-D74F-4F4D-B4D6-AC05CC594A2F}.Debug|Win32.ActiveCfg = Debug|Win32
@@ -57,6 +59,8 @@ Global
{1EDA2AC3-D74F-4F4D-B4D6-AC05CC594A2F}.Release-contrib|x64.ActiveCfg = Release-contrib|x64
{1EDA2AC3-D74F-4F4D-B4D6-AC05CC594A2F}.ReleaseXP|Win32.ActiveCfg = ReleaseXP|Win32
{1EDA2AC3-D74F-4F4D-B4D6-AC05CC594A2F}.ReleaseXP|x64.ActiveCfg = ReleaseXP|x64
+ {1EDA2AC3-D74F-4F4D-B4D6-AC05CC594A2F}.Sanitize|Win32.ActiveCfg = Sanitize|Win32
+ {1EDA2AC3-D74F-4F4D-B4D6-AC05CC594A2F}.Sanitize|x64.ActiveCfg = Sanitize|x64
{ED35CF95-DAA1-45B3-9206-599F4170F198}.Debug|Win32.ActiveCfg = Debug|Win32
{ED35CF95-DAA1-45B3-9206-599F4170F198}.Debug|x64.ActiveCfg = Debug|x64
{ED35CF95-DAA1-45B3-9206-599F4170F198}.Debug-contrib|Win32.ActiveCfg = Debug-contrib|Win32
@@ -77,6 +81,8 @@ Global
{ED35CF95-DAA1-45B3-9206-599F4170F198}.Release-contrib|x64.ActiveCfg = Release-contrib|x64
{ED35CF95-DAA1-45B3-9206-599F4170F198}.ReleaseXP|Win32.ActiveCfg = ReleaseXP|Win32
{ED35CF95-DAA1-45B3-9206-599F4170F198}.ReleaseXP|x64.ActiveCfg = ReleaseXP|x64
+ {ED35CF95-DAA1-45B3-9206-599F4170F198}.Sanitize|Win32.ActiveCfg = Sanitize|Win32
+ {ED35CF95-DAA1-45B3-9206-599F4170F198}.Sanitize|x64.ActiveCfg = Sanitize|x64
{DE21942C-CDA2-445B-B2EC-51FF54E0F0DD}.Debug|Win32.ActiveCfg = Debug|Win32
{DE21942C-CDA2-445B-B2EC-51FF54E0F0DD}.Debug|x64.ActiveCfg = Debug|x64
{DE21942C-CDA2-445B-B2EC-51FF54E0F0DD}.Debug-contrib|Win32.ActiveCfg = Debug-contrib|Win32
@@ -97,6 +103,8 @@ Global
{DE21942C-CDA2-445B-B2EC-51FF54E0F0DD}.Release-contrib|x64.ActiveCfg = Release-contrib|x64
{DE21942C-CDA2-445B-B2EC-51FF54E0F0DD}.ReleaseXP|Win32.ActiveCfg = ReleaseXP|Win32
{DE21942C-CDA2-445B-B2EC-51FF54E0F0DD}.ReleaseXP|x64.ActiveCfg = ReleaseXP|x64
+ {DE21942C-CDA2-445B-B2EC-51FF54E0F0DD}.Sanitize|Win32.ActiveCfg = Sanitize|Win32
+ {DE21942C-CDA2-445B-B2EC-51FF54E0F0DD}.Sanitize|x64.ActiveCfg = Sanitize|x64
{C4038125-61B9-4147-9EA8-39690BA3A599}.Debug|Win32.ActiveCfg = Debug|Win32
{C4038125-61B9-4147-9EA8-39690BA3A599}.Debug|x64.ActiveCfg = Debug|x64
{C4038125-61B9-4147-9EA8-39690BA3A599}.Debug-contrib|Win32.ActiveCfg = Debug-contrib|Win32
@@ -117,6 +125,8 @@ Global
{C4038125-61B9-4147-9EA8-39690BA3A599}.Release-contrib|x64.ActiveCfg = Release-contrib|x64
{C4038125-61B9-4147-9EA8-39690BA3A599}.ReleaseXP|Win32.ActiveCfg = ReleaseXP|Win32
{C4038125-61B9-4147-9EA8-39690BA3A599}.ReleaseXP|x64.ActiveCfg = ReleaseXP|x64
+ {C4038125-61B9-4147-9EA8-39690BA3A599}.Sanitize|Win32.ActiveCfg = Sanitize|Win32
+ {C4038125-61B9-4147-9EA8-39690BA3A599}.Sanitize|x64.ActiveCfg = Sanitize|x64
{98351FEF-0032-457C-B9D9-D6B68A829386}.Debug|Win32.ActiveCfg = Debug|Win32
{98351FEF-0032-457C-B9D9-D6B68A829386}.Debug|Win32.Build.0 = Debug|Win32
{98351FEF-0032-457C-B9D9-D6B68A829386}.Debug|x64.ActiveCfg = Debug|x64
@@ -156,6 +166,10 @@ Global
{98351FEF-0032-457C-B9D9-D6B68A829386}.ReleaseXP|Win32.Build.0 = ReleaseXP|Win32
{98351FEF-0032-457C-B9D9-D6B68A829386}.ReleaseXP|x64.ActiveCfg = ReleaseXP|x64
{98351FEF-0032-457C-B9D9-D6B68A829386}.ReleaseXP|x64.Build.0 = ReleaseXP|x64
+ {98351FEF-0032-457C-B9D9-D6B68A829386}.Sanitize|Win32.ActiveCfg = Sanitize|Win32
+ {98351FEF-0032-457C-B9D9-D6B68A829386}.Sanitize|Win32.Build.0 = Sanitize|Win32
+ {98351FEF-0032-457C-B9D9-D6B68A829386}.Sanitize|x64.ActiveCfg = Sanitize|x64
+ {98351FEF-0032-457C-B9D9-D6B68A829386}.Sanitize|x64.Build.0 = Sanitize|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/windows/ghostpcl.vcxproj b/windows/ghostpcl.vcxproj
index 8586ee195..9f0ceb6e8 100644
--- a/windows/ghostpcl.vcxproj
+++ b/windows/ghostpcl.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug-contrib|Win32">
@@ -81,6 +81,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|Win32">
+ <Configuration>Sanitize</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|x64">
+ <Configuration>Sanitize</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{ED35CF95-DAA1-45B3-9206-599F4170F198}</ProjectGuid>
@@ -124,6 +132,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -164,6 +176,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -198,6 +214,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -228,6 +247,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -244,6 +266,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gpcl6win32.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'">
+ <OutDir>debugobj\</OutDir>
+ <IntDir>debugobj\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= gpcl6sanitize &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= gpcl6debug &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gpcl6win32.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'">
<OutDir>debugobjxp\</OutDir>
<IntDir>debugobjxp\</IntDir>
@@ -262,6 +293,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gpcl6win64.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'">
+ <OutDir>debugobj64\</OutDir>
+ <IntDir>debugobj64\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= gpcl6sanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= gpcl6sanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gpcl6win64.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'">
<OutDir>debugobj64xp\</OutDir>
<IntDir>debugobj64xp\</IntDir>
diff --git a/windows/ghostpdl.vcxproj b/windows/ghostpdl.vcxproj
index ed0994969..3ccf4d444 100644
--- a/windows/ghostpdl.vcxproj
+++ b/windows/ghostpdl.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug-contrib|Win32">
@@ -81,6 +81,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|Win32">
+ <Configuration>Sanitize</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|x64">
+ <Configuration>Sanitize</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{C4038125-61B9-4147-9EA8-39690BA3A599}</ProjectGuid>
@@ -124,6 +132,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -164,6 +176,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -198,6 +214,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -228,6 +247,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -244,6 +266,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gpdlwin32.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'">
+ <OutDir>debugobj\</OutDir>
+ <IntDir>debugobj\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= gpdlsanitize &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= gpdlsanitize &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gpdlwin32.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'">
<OutDir>debugobjxp\</OutDir>
<IntDir>debugobjxp\</IntDir>
@@ -262,6 +293,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gpdlwin64.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'">
+ <OutDir>debugobj64\</OutDir>
+ <IntDir>debugobj64\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= gpdlsanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= gpdlsanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gpdlwin64.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'">
<OutDir>debugobj64xp\</OutDir>
<IntDir>debugobj64xp\</IntDir>
@@ -429,4 +469,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project> \ No newline at end of file
diff --git a/windows/ghostscript.vcxproj b/windows/ghostscript.vcxproj
index bb213b3cf..c318117c6 100644
--- a/windows/ghostscript.vcxproj
+++ b/windows/ghostscript.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug-contrib|Win32">
@@ -81,6 +81,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|Win32">
+ <Configuration>Sanitize</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|x64">
+ <Configuration>Sanitize</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{1EDA2AC3-D74F-4F4D-B4D6-AC05CC594A2F}</ProjectGuid>
@@ -124,6 +132,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -164,6 +176,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -198,6 +214,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -228,6 +247,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -244,6 +266,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gswin32c.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'">
+ <OutDir>debugobj\</OutDir>
+ <IntDir>debugobj\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= gssanitize &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= gssanitize &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gswin32c.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'">
<OutDir>debugobjxp\</OutDir>
<IntDir>debugobjxp\</IntDir>
@@ -262,6 +293,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gswin64c.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'">
+ <OutDir>debugobj64\</OutDir>
+ <IntDir>debugobj64\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= gssanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= gssanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gswin64c.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'">
<OutDir>debugobj64xp\</OutDir>
<IntDir>debugobj64xp\</IntDir>
diff --git a/windows/ghostxps.vcxproj b/windows/ghostxps.vcxproj
index b85b325d9..0b6f71204 100644
--- a/windows/ghostxps.vcxproj
+++ b/windows/ghostxps.vcxproj
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug-contrib|Win32">
@@ -81,6 +81,14 @@
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|Win32">
+ <Configuration>Sanitize</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Sanitize|x64">
+ <Configuration>Sanitize</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{DE21942C-CDA2-445B-B2EC-51FF54E0F0DD}</ProjectGuid>
@@ -124,6 +132,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -164,6 +176,10 @@
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="Configuration">
+ <ConfigurationType>Makefile</ConfigurationType>
+ <PlatformToolset>v142</PlatformToolset>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v141_xp</PlatformToolset>
@@ -198,6 +214,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -228,6 +247,9 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
@@ -244,6 +266,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gxpswin32.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|Win32'">
+ <OutDir>debugobj\</OutDir>
+ <IntDir>debugobj\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= gxpssanitize &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak SBR=1 DEVSTUDIO= gxpssanitize &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gxpswin32.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN32;_DEBUG;DEBUG=1;TDEBUG=1;HAVE_SSE2=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|Win32'">
<OutDir>debugobjxp\</OutDir>
<IntDir>debugobjxp\</IntDir>
@@ -262,6 +293,15 @@
<NMakeOutput>$(ProjectDir)\..\debugbin\gxpswin64.exe</NMakeOutput>
<NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
</PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Sanitize|x64'">
+ <OutDir>debugobj64\</OutDir>
+ <IntDir>debugobj64\</IntDir>
+ <NMakeBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= gxpssanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeBuildCommandLine>
+ <NMakeReBuildCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean &amp;&amp; nmake -f psi\msvc32.mak WIN64= SBR=1 DEVSTUDIO= gxpssanitize &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizebsc</NMakeReBuildCommandLine>
+ <NMakeCleanCommandLine>cd .. &amp;&amp; nmake -f psi\msvc32.mak WIN64= DEVSTUDIO= sanitizeclean</NMakeCleanCommandLine>
+ <NMakeOutput>$(ProjectDir)\..\sanbin\gxpswin64.exe</NMakeOutput>
+ <NMakePreprocessorDefinitions>WIN64;_DEBUG;DEBUG=1;TDEBUG=1;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
+ </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugXP|x64'">
<OutDir>debugobj64xp\</OutDir>
<IntDir>debugobj64xp\</IntDir>
@@ -454,4 +494,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project> \ No newline at end of file