diff options
Diffstat (limited to 'base')
157 files changed, 9173 insertions, 5829 deletions
diff --git a/base/cal.mak b/base/cal.mak index b0bf5bd7..2e18077b 100644 --- a/base/cal.mak +++ b/base/cal.mak @@ -58,11 +58,16 @@ cal_OBJS = \ $(CAL_OBJ)$(CAL_PREFIX)blend.$(OBJ) \ $(CAL_OBJ)$(CAL_PREFIX)cmsavx2.$(OBJ) \ $(CAL_OBJ)$(CAL_PREFIX)cmssse42.$(OBJ) \ + $(CAL_OBJ)$(CAL_PREFIX)cmsneon.$(OBJ) \ $(CAL_OBJ)$(CAL_PREFIX)lcms2mt_cal.$(OBJ) cal_HDRS = \ $(CAL_SRC)cal.h \ $(CAL_SRC)cal-impl.h \ + $(CAL_SRC)cal-impl.h \ + $(CAL_SRC)cal-immintrin.h \ + $(CAL_SRC)cal-nmmintrin.h \ + $(arch_h) # external link .dev - empty, as we add the lib to LDFLAGS #$(GLOBJ)cal.dev : $(CAL_MAK) $(ECHOGS_XE) \ @@ -75,7 +80,7 @@ $(GLOBJ)cal.dev : $(ECHOGS_XE) $(cal_OBJS) \ $(SETMOD) $(GLOBJ)cal $(cal_OBJS) # define our specific compiler -CAL_CC=$(CC) $(CFLAGS) $(CAL_CFLAGS) $(D_)OPJ_STATIC$(_D) $(D_)STANDARD_SLOW_VERSION$(_D) $(I_)$(CAL_GEN)$(_I) $(I_)$(CAL_SRC)$(_I) +CAL_CC=$(CC) $(CFLAGS) $(CAL_CFLAGS) $(I_)$(CAL_GEN)$(_I) $(I_)$(CAL_SRC)$(_I) CAL_O=$(O_)$(CAL_OBJ)$(CAL_PREFIX) CAL_DEP=$(AK) $(CAL_MAK) $(MAKEDIRS) @@ -101,6 +106,9 @@ $(CAL_OBJ)$(CAL_PREFIX)cmsavx2.$(OBJ) : $(CAL_SRC)cmsavx2.c $(cal_HDRS) $(CAL_DE $(CAL_OBJ)$(CAL_PREFIX)cmssse42.$(OBJ) : $(CAL_SRC)cmssse42.c $(cal_HDRS) $(CAL_DEP) $(CAL_CC) $(CAL_SSE4_2_CFLAGS) $(I_)$(LCMS2MTSRCDIR)$(D)include $(I_)$(LCMS2MTSRCDIR)$(D)src $(CAL_O)cmssse42.$(OBJ) $(C_) $(CAL_SRC)cmssse42.c +$(CAL_OBJ)$(CAL_PREFIX)cmsneon.$(OBJ) : $(CAL_SRC)cmsneon.c $(cal_HDRS) $(CAL_DEP) + $(CAL_CC) $(CAL_SSE4_2_CFLAGS) $(CAL_NEON_CFLAGS) $(I_)$(LCMS2MTSRCDIR)$(D)include $(I_)$(LCMS2MTSRCDIR)$(D)src $(CAL_O)cmsneon.$(OBJ) $(C_) $(CAL_SRC)cmsneon.c + $(CAL_OBJ)$(CAL_PREFIX)lcms2mt_cal.$(OBJ) : $(CAL_SRC)lcms2mt_cal.c $(cal_HDRS) $(CAL_DEP) $(gsmemory_h) $(CAL_CC) $(I_)$(LCMS2MTSRCDIR)$(D)include $(I_)$(GLSRC) $(I_)$(LCMS2MTSRCDIR)$(D)src $(CAL_O)lcms2mt_cal.$(OBJ) $(C_) $(CAL_SRC)lcms2mt_cal.c @@ -113,5 +121,11 @@ $(CAL_OBJ)$(CAL_PREFIX)blendsse42.$(OBJ) : $(CAL_SRC)blendsse42.c $(cal_HDRS) $( $(CAL_OBJ)$(CAL_PREFIX)blend.$(OBJ) : $(CAL_SRC)blend.c $(cal_HDRS) $(CAL_DEP) $(gsmemory_h) $(CAL_CC) $(I_)$(GLSRC) $(CAL_O)blend.$(OBJ) $(C_) $(CAL_SRC)blend.c +cal_ets_h=$(CAL_SRC)cal_ets.h +ca_ets_tm_h=$(CAL_SRC)cal_ets_tm.h +$(GLOBJ)ets_1.$(OBJ) : $(CAL_SRC)cal_ets.c $(CAL_SRC)ets_template.c \ + $(cal_ets_h) $(cal_ets_tm_h) $(cal_HDRS) $(CAL_DEP) $(LIB_MAK) + $(GLCC) $(CAL_SSE4_2_CFLAGS) $(CAL_NEON_CFLAGS) $(GLO_)ets_1.$(OBJ) $(C_) $(CAL_SRC)cal_ets.c + # end of file diff --git a/base/claptrap-planar.c b/base/claptrap-planar.c index 46863654..9b06b184 100644 --- a/base/claptrap-planar.c +++ b/base/claptrap-planar.c @@ -43,7 +43,9 @@ inline static void process_at_pixel(ClapTrap * gs_restrict ct, /* Use local vars to avoid pointer aliasing */ int width = ct->width; int height = ct->height; +#ifndef NDEBUG int num_comp_lim = ct->num_comps; +#endif int max_x_offset = ct->max_x_offset; int max_y_offset = ct->max_y_offset; int span = ct->span; @@ -120,6 +120,7 @@ ets_line(ETS_Ctx *ctx, unsigned char **dest, const ETS_SrcPixel * const * gs_res void ets_destroy(void *malloc_arg, ETS_Ctx *ctx); +/* These are called from ETS and must be implemented by the calling code. */ void * ets_malloc(void *malloc_arg, int size); diff --git a/base/expat.mak b/base/expat.mak index 61a90168..3cb3c3c8 100644 --- a/base/expat.mak +++ b/base/expat.mak @@ -47,8 +47,7 @@ expat.config-clean : expat_=$(EXPATOBJ)xmlparse.$(OBJ) \ $(EXPATOBJ)xmltok.$(OBJ) \ - $(EXPATOBJ)xmlrole.$(OBJ) \ - $(EXPATOBJ)loadlibrary.$(OBJ) + $(EXPATOBJ)xmlrole.$(OBJ) expat_xmlparse_hdrs=$(EXPATSRC)expat.h \ $(EXPATSRC)xmlrole.h \ @@ -81,9 +80,6 @@ $(EXPATOBJ)xmlrole.$(OBJ) : $(EXPATSRC)xmlrole.c $(expat_xmlrole_hdrs) $(EXPAT_M $(EXPATOBJ)xmltok.$(OBJ) : $(EXPATSRC)xmltok.c $(expat_xmltok_hdrs) $(EXPAT_MAK) $(MAKEDIRS) $(EXPATCC) $(EXPATO_)xmltok.$(OBJ) $(C_) $(EXPATSRC)xmltok.c -$(EXPATOBJ)loadlibrary.$(OBJ) : $(EXPATSRC)loadlibrary.c $(expat_xmltok_hdrs) $(EXPAT_MAK) $(MAKEDIRS) - $(EXPATCC) $(EXPATO_)loadlibrary.$(OBJ) $(C_) $(EXPATSRC)loadlibrary.c - # Copy the target definition we want $(EXPATGEN)expat.dev : $(EXPAT_MAK) \ $(EXPATGEN)expat_$(SHARE_EXPAT).dev $(MAKEDIRS) diff --git a/base/fapiufst.c b/base/fapiufst.c index 8c542520..59aeb134 100644 --- a/base/fapiufst.c +++ b/base/fapiufst.c @@ -2165,8 +2165,10 @@ gs_fapi_ufst_init(gs_memory_t * mem, gs_fapi_server ** server) sizeof (fapi_ufst_server), "fapi_ufst_server"); - if (serv == 0) + if (serv == NULL) { + gs_memory_chunk_release(cmem); return_error(gs_error_Fatal); + } memset(serv, 0, sizeof(*serv)); serv->mem = cmem; diff --git a/base/freetype.mak b/base/freetype.mak index c26d12da..eea93a7f 100644 --- a/base/freetype.mak +++ b/base/freetype.mak @@ -33,7 +33,7 @@ FTO_=$(O_)$(FTOBJ) # we must define FT2_BUILD_LIBRARY to get internal declarations # If GS is using the system zlib, freetype should also do so, # FT_CONFIG_SYSTEM_ZLIB is set by the top makefile. -FTCC=$(CC_) $(I_)$(FTSRCDIR)$(D)include$(_I) $(D_)FT2_BUILD_LIBRARY$(_D) $(D_)DARWIN_NO_CARBON$(_D) $(FT_CONFIG_SYSTEM_ZLIB) +FTCC=$(CC_) $(I_)$(FTGEN)$(_I) $(I_)$(FTSRCDIR)$(D)include$(_I) $(D_)FT_CONFIG_OPTIONS_H=\"$(FTCONFH)\"$(_D) $(D_)FT2_BUILD_LIBRARY$(_D) $(D_)DARWIN_NO_CARBON$(_D) $(FT_CONFIG_SYSTEM_ZLIB) # Define the name of this makefile. FT_MAK=$(GLSRC)freetype.mak $(TOP_MAKEFILES) @@ -110,8 +110,7 @@ ft_cff=\ $(FTOBJ)cffgload.$(OBJ) \ $(FTOBJ)cffload.$(OBJ) \ $(FTOBJ)cffobjs.$(OBJ) \ - $(FTOBJ)cffparse.$(OBJ) \ - $(FTOBJ)cffpic.$(OBJ) + $(FTOBJ)cffparse.$(OBJ) ft_cid=\ $(FTOBJ)cidparse.$(OBJ) \ @@ -162,31 +161,26 @@ ft_pshinter=\ $(FTOBJ)pshalgo.$(OBJ) ft_psnames=\ - $(FTOBJ)psmodule.$(OBJ) \ - $(FTOBJ)pspic.$(OBJ) + $(FTOBJ)psmodule.$(OBJ) ft_raster=\ $(FTOBJ)ftraster.$(OBJ) \ - $(FTOBJ)ftrend1.$(OBJ) \ - $(FTOBJ)rastpic.$(OBJ) + $(FTOBJ)ftrend1.$(OBJ) ft_smooth=\ $(FTOBJ)ftgrays.$(OBJ) \ - $(FTOBJ)ftsmooth.$(OBJ) \ - $(FTOBJ)ftspic.$(OBJ) + $(FTOBJ)ftsmooth.$(OBJ) ft_sfnt=\ - $(FTOBJ)sfobjs.$(OBJ) \ - $(FTOBJ)sfdriver.$(OBJ) \ - $(FTOBJ)ttcmap.$(OBJ) \ $(FTOBJ)ttmtx.$(OBJ) \ $(FTOBJ)ttpost.$(OBJ) \ $(FTOBJ)ft2ttload.$(OBJ) \ $(FTOBJ)ttsbit.$(OBJ) \ $(FTOBJ)ttkern.$(OBJ) \ $(FTOBJ)ttbdf.$(OBJ) \ - $(FTOBJ)sfntpic.$(OBJ) \ - $(FTOBJ)pngshim.$(OBJ) + $(FTOBJ)sfnt.$(OBJ) \ + $(FTOBJ)pngshim.$(OBJ) \ + $(FTOBJ)ttcpal.$(OBJ) ft_truetype=\ @@ -196,7 +190,6 @@ ft_truetype=\ $(FTOBJ)ttgload.$(OBJ) \ $(FTOBJ)ft2ttinterp.$(OBJ) \ $(FTOBJ)ttgxvar.$(OBJ) \ - $(FTOBJ)ttpic.$(OBJ) \ $(FTOBJ)ttsubpix.$(OBJ) ft_type1=\ @@ -215,11 +208,11 @@ ft_type42=\ ft_winfonts=$(FTOBJ)winfnt.$(OBJ) # instantiate the requested build option (shared or compiled in) -$(FTGEN)freetype.dev : $(FT_MAK) $(FTGEN)freetype_$(SHARE_FT).dev $(FT_MAK) $(MAKEDIRS) +$(FTGEN)freetype.dev : $(FTGEN)freetype_$(SHARE_FT).dev $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(CP_) $(FTGEN)freetype_$(SHARE_FT).dev $(FTGEN)freetype.dev # Define the shared version. -$(FTGEN)freetype_1.dev : $(TOP_MAKEFILES) $(FT_MAK) $(ECHOGS_XE) $(FT_MAK) $(MAKEDIRS) +$(FTGEN)freetype_1.dev : $(TOP_MAKEFILES) $(FT_MAK) $(ECHOGS_XE) $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(SETMOD) $(FTGEN)freetype_1 -link $(FT_LIBS) # Define the non-shared version. @@ -227,7 +220,7 @@ $(FTGEN)freetype_0.dev : $(FT_MAK) $(ECHOGS_XE) \ $(ft_autofit) $(ft_base) $(ft_bdf) $(ft_cache) $(ft_cff) $(ft_cid) \ $(ft_gzip) $(ft_lzw) $(ft_pcf) $(ft_pfr) $(ft_psaux) $(ft_pshinter) \ $(ft_psnames) $(ft_raster) $(ft_smooth) $(ft_sfnt) $(ft_truetype) \ - $(ft_type1) $(ft_type42) $(ft_winfonts) $(MAKEDIRS) + $(ft_type1) $(ft_type42) $(ft_winfonts) $(GENFTCONFH) $(MAKEDIRS) $(SETMOD) $(FTGEN)freetype_0 $(ft_autofit) $(ADDMOD) $(FTGEN)freetype_0 $(ft_base) $(ADDMOD) $(FTGEN)freetype_0 $(ft_bdf) @@ -252,413 +245,401 @@ $(FTGEN)freetype_0.dev : $(FT_MAK) $(ECHOGS_XE) \ # custom build rules for each source file -$(FTOBJ)afangles.$(OBJ) : $(FTSRC)autofit$(D)afangles.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afangles.$(OBJ) : $(FTSRC)autofit$(D)afangles.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afangles.$(OBJ) $(C_) $(FTSRC)autofit$(D)afangles.c -$(FTOBJ)afcjk.$(OBJ) : $(FTSRC)autofit$(D)afcjk.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afcjk.$(OBJ) : $(FTSRC)autofit$(D)afcjk.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afcjk.$(OBJ) $(C_) $(FTSRC)autofit$(D)afcjk.c -$(FTOBJ)afdummy.$(OBJ) : $(FTSRC)autofit$(D)afdummy.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afdummy.$(OBJ) : $(FTSRC)autofit$(D)afdummy.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afdummy.$(OBJ) $(C_) $(FTSRC)autofit$(D)afdummy.c -$(FTOBJ)afglobal.$(OBJ) : $(FTSRC)autofit$(D)afglobal.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afglobal.$(OBJ) : $(FTSRC)autofit$(D)afglobal.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afglobal.$(OBJ) $(C_) $(FTSRC)autofit$(D)afglobal.c -$(FTOBJ)afhints.$(OBJ) : $(FTSRC)autofit$(D)afhints.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afhints.$(OBJ) : $(FTSRC)autofit$(D)afhints.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afhints.$(OBJ) $(C_) $(FTSRC)autofit$(D)afhints.c -$(FTOBJ)afindic.$(OBJ) : $(FTSRC)autofit$(D)afindic.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afindic.$(OBJ) : $(FTSRC)autofit$(D)afindic.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afindic.$(OBJ) $(C_) $(FTSRC)autofit$(D)afindic.c -$(FTOBJ)aflatin.$(OBJ) : $(FTSRC)autofit$(D)aflatin.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)aflatin.$(OBJ) : $(FTSRC)autofit$(D)aflatin.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)aflatin.$(OBJ) $(C_) $(FTSRC)autofit$(D)aflatin.c -$(FTOBJ)afloader.$(OBJ) : $(FTSRC)autofit$(D)afloader.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afloader.$(OBJ) : $(FTSRC)autofit$(D)afloader.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afloader.$(OBJ) $(C_) $(FTSRC)autofit$(D)afloader.c -$(FTOBJ)afmodule.$(OBJ) : $(FTSRC)autofit$(D)afmodule.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afmodule.$(OBJ) : $(FTSRC)autofit$(D)afmodule.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afmodule.$(OBJ) $(C_) $(FTSRC)autofit$(D)afmodule.c -$(FTOBJ)afwarp.$(OBJ) : $(FTSRC)autofit$(D)afwarp.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afwarp.$(OBJ) : $(FTSRC)autofit$(D)afwarp.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afwarp.$(OBJ) $(C_) $(FTSRC)autofit$(D)afwarp.c -$(FTOBJ)afblue.$(OBJ) : $(FTSRC)autofit$(D)afblue.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afblue.$(OBJ) : $(FTSRC)autofit$(D)afblue.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afblue.$(OBJ) $(C_) $(FTSRC)autofit$(D)afblue.c -$(FTOBJ)afranges.$(OBJ) : $(FTSRC)autofit$(D)afranges.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afranges.$(OBJ) : $(FTSRC)autofit$(D)afranges.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afranges.$(OBJ) $(C_) $(FTSRC)autofit$(D)afranges.c -$(FTOBJ)afshaper.$(OBJ) : $(FTSRC)autofit$(D)afshaper.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afshaper.$(OBJ) : $(FTSRC)autofit$(D)afshaper.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afshaper.$(OBJ) $(C_) $(FTSRC)autofit$(D)afshaper.c -$(FTOBJ)ftadvanc.$(OBJ) : $(FTSRC)base$(D)ftadvanc.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftadvanc.$(OBJ) : $(FTSRC)base$(D)ftadvanc.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftadvanc.$(OBJ) $(C_) $(FTSRC)base$(D)ftadvanc.c -$(FTOBJ)ftcalc.$(OBJ) : $(FTSRC)base$(D)ftcalc.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftcalc.$(OBJ) : $(FTSRC)base$(D)ftcalc.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftcalc.$(OBJ) $(C_) $(FTSRC)base$(D)ftcalc.c -$(FTOBJ)ftdbgmem.$(OBJ) : $(FTSRC)base$(D)ftdbgmem.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftdbgmem.$(OBJ) : $(FTSRC)base$(D)ftdbgmem.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftdbgmem.$(OBJ) $(C_) $(FTSRC)base$(D)ftdbgmem.c -$(FTOBJ)ftgloadr.$(OBJ) : $(FTSRC)base$(D)ftgloadr.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftgloadr.$(OBJ) : $(FTSRC)base$(D)ftgloadr.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftgloadr.$(OBJ) $(C_) $(FTSRC)base$(D)ftgloadr.c -$(FTOBJ)ftobjs.$(OBJ) : $(FTSRC)base$(D)ftobjs.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftobjs.$(OBJ) : $(FTSRC)base$(D)ftobjs.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftobjs.$(OBJ) $(C_) $(FTSRC)base$(D)ftobjs.c -$(FTOBJ)ftoutln.$(OBJ) : $(FTSRC)base$(D)ftoutln.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftoutln.$(OBJ) : $(FTSRC)base$(D)ftoutln.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftoutln.$(OBJ) $(C_) $(FTSRC)base$(D)ftoutln.c -$(FTOBJ)ftrfork.$(OBJ) : $(FTSRC)base$(D)ftrfork.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftrfork.$(OBJ) : $(FTSRC)base$(D)ftrfork.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftrfork.$(OBJ) $(C_) $(FTSRC)base$(D)ftrfork.c -$(FTOBJ)ftsnames.$(OBJ) : $(FTSRC)base$(D)ftsnames.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftsnames.$(OBJ) : $(FTSRC)base$(D)ftsnames.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftsnames.$(OBJ) $(C_) $(FTSRC)base$(D)ftsnames.c -$(FTOBJ)ftstream.$(OBJ) : $(FTSRC)base$(D)ftstream.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftstream.$(OBJ) : $(FTSRC)base$(D)ftstream.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftstream.$(OBJ) $(C_) $(FTSRC)base$(D)ftstream.c -$(FTOBJ)fttrigon.$(OBJ) : $(FTSRC)base$(D)fttrigon.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)fttrigon.$(OBJ) : $(FTSRC)base$(D)fttrigon.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)fttrigon.$(OBJ) $(C_) $(FTSRC)base$(D)fttrigon.c -$(FTOBJ)ftutil.$(OBJ) : $(FTSRC)base$(D)ftutil.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftutil.$(OBJ) : $(FTSRC)base$(D)ftutil.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftutil.$(OBJ) $(C_) $(FTSRC)base$(D)ftutil.c -$(FTOBJ)ftbbox.$(OBJ) : $(FTSRC)base$(D)ftbbox.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftbbox.$(OBJ) : $(FTSRC)base$(D)ftbbox.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftbbox.$(OBJ) $(C_) $(FTSRC)base$(D)ftbbox.c -$(FTOBJ)ftbdf.$(OBJ) : $(FTSRC)base$(D)ftbdf.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftbdf.$(OBJ) : $(FTSRC)base$(D)ftbdf.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftbdf.$(OBJ) $(C_) $(FTSRC)base$(D)ftbdf.c -$(FTOBJ)ftbitmap.$(OBJ) : $(FTSRC)base$(D)ftbitmap.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftbitmap.$(OBJ) : $(FTSRC)base$(D)ftbitmap.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftbitmap.$(OBJ) $(C_) $(FTSRC)base$(D)ftbitmap.c -$(FTOBJ)ftdebug.$(OBJ) : $(FTSRC)base$(D)ftdebug.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftdebug.$(OBJ) : $(FTSRC)base$(D)ftdebug.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftdebug.$(OBJ) $(C_) $(FTSRC)base$(D)ftdebug.c -$(FTOBJ)ftgasp.$(OBJ) : $(FTSRC)base$(D)ftgasp.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftgasp.$(OBJ) : $(FTSRC)base$(D)ftgasp.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftgasp.$(OBJ) $(C_) $(FTSRC)base$(D)ftgasp.c -$(FTOBJ)ftglyph.$(OBJ) : $(FTSRC)base$(D)ftglyph.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftglyph.$(OBJ) : $(FTSRC)base$(D)ftglyph.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftglyph.$(OBJ) $(C_) $(FTSRC)base$(D)ftglyph.c -$(FTOBJ)ftgxval.$(OBJ) : $(FTSRC)base$(D)ftgxval.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftgxval.$(OBJ) : $(FTSRC)base$(D)ftgxval.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftgxval.$(OBJ) $(C_) $(FTSRC)base$(D)ftgxval.c -$(FTOBJ)ftinit.$(OBJ) : $(FTSRC)base$(D)ftinit.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftinit.$(OBJ) : $(FTSRC)base$(D)ftinit.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftinit.$(OBJ) $(C_) $(FTSRC)base$(D)ftinit.c -$(FTOBJ)ftlcdfil.$(OBJ) : $(FTSRC)base$(D)ftlcdfil.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftlcdfil.$(OBJ) : $(FTSRC)base$(D)ftlcdfil.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftlcdfil.$(OBJ) $(C_) $(FTSRC)base$(D)ftlcdfil.c -$(FTOBJ)ftmm.$(OBJ) : $(FTSRC)base$(D)ftmm.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftmm.$(OBJ) : $(FTSRC)base$(D)ftmm.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftmm.$(OBJ) $(C_) $(FTSRC)base$(D)ftmm.c -$(FTOBJ)ftotval.$(OBJ) : $(FTSRC)base$(D)ftotval.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftotval.$(OBJ) : $(FTSRC)base$(D)ftotval.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftotval.$(OBJ) $(C_) $(FTSRC)base$(D)ftotval.c -$(FTOBJ)ftpfr.$(OBJ) : $(FTSRC)base$(D)ftpfr.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftpfr.$(OBJ) : $(FTSRC)base$(D)ftpfr.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftpfr.$(OBJ) $(C_) $(FTSRC)base$(D)ftpfr.c -$(FTOBJ)ftstroke.$(OBJ) : $(FTSRC)base$(D)ftstroke.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftstroke.$(OBJ) : $(FTSRC)base$(D)ftstroke.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftstroke.$(OBJ) $(C_) $(FTSRC)base$(D)ftstroke.c -$(FTOBJ)ftsynth.$(OBJ) : $(FTSRC)base$(D)ftsynth.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftsynth.$(OBJ) : $(FTSRC)base$(D)ftsynth.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftsynth.$(OBJ) $(C_) $(FTSRC)base$(D)ftsynth.c -$(FTOBJ)ftsystem.$(OBJ) : $(FTSRC)base$(D)ftsystem.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftsystem.$(OBJ) : $(FTSRC)base$(D)ftsystem.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftsystem.$(OBJ) $(C_) $(FTSRC)base$(D)ftsystem.c -$(FTOBJ)fttype1.$(OBJ) : $(FTSRC)base$(D)fttype1.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)fttype1.$(OBJ) : $(FTSRC)base$(D)fttype1.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)fttype1.$(OBJ) $(C_) $(FTSRC)base$(D)fttype1.c -$(FTOBJ)ftwinfnt.$(OBJ) : $(FTSRC)base$(D)ftwinfnt.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftwinfnt.$(OBJ) : $(FTSRC)base$(D)ftwinfnt.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftwinfnt.$(OBJ) $(C_) $(FTSRC)base$(D)ftwinfnt.c -$(FTOBJ)ftpatent.$(OBJ) : $(FTSRC)base$(D)ftpatent.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftpatent.$(OBJ) : $(FTSRC)base$(D)ftpatent.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftpatent.$(OBJ) $(C_) $(FTSRC)base$(D)ftpatent.c -$(FTOBJ)ftmd5.$(OBJ) : $(FTSRC)base$(D)md5.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftmd5.$(OBJ) : $(FTSRC)base$(D)md5.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftmd5.$(OBJ) $(C_) $(FTSRC)base$(D)md5.c -$(FTOBJ)fthash.$(OBJ) : $(FTSRC)base$(D)fthash.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)fthash.$(OBJ) : $(FTSRC)base$(D)fthash.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)fthash.$(OBJ) $(C_) $(FTSRC)base$(D)fthash.c -$(FTOBJ)ftpsprop.$(OBJ) : $(FTSRC)base$(D)ftpsprop.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftpsprop.$(OBJ) : $(FTSRC)base$(D)ftpsprop.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftpsprop.$(OBJ) $(C_) $(FTSRC)base$(D)ftpsprop.c -$(FTOBJ)ftfntfmt.$(OBJ) : $(FTSRC)base$(D)ftfntfmt.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftfntfmt.$(OBJ) : $(FTSRC)base$(D)ftfntfmt.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftfntfmt.$(OBJ) $(C_) $(FTSRC)base$(D)ftfntfmt.c -$(FTOBJ)bdflib.$(OBJ) : $(FTSRC)bdf$(D)bdflib.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)bdflib.$(OBJ) : $(FTSRC)bdf$(D)bdflib.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)bdflib.$(OBJ) $(C_) $(FTSRC)bdf$(D)bdflib.c -$(FTOBJ)bdfdrivr.$(OBJ) : $(FTSRC)bdf$(D)bdfdrivr.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)bdfdrivr.$(OBJ) : $(FTSRC)bdf$(D)bdfdrivr.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)bdfdrivr.$(OBJ) $(C_) $(FTSRC)bdf$(D)bdfdrivr.c -$(FTOBJ)ftcbasic.$(OBJ) : $(FTSRC)cache$(D)ftcbasic.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftcbasic.$(OBJ) : $(FTSRC)cache$(D)ftcbasic.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftcbasic.$(OBJ) $(C_) $(FTSRC)cache$(D)ftcbasic.c -$(FTOBJ)ft2ccache.$(OBJ) : $(FTSRC)cache$(D)ftccache.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ft2ccache.$(OBJ) : $(FTSRC)cache$(D)ftccache.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ft2ccache.$(OBJ) $(C_) $(FTSRC)cache$(D)ftccache.c -$(FTOBJ)ftccmap.$(OBJ) : $(FTSRC)cache$(D)ftccmap.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftccmap.$(OBJ) : $(FTSRC)cache$(D)ftccmap.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftccmap.$(OBJ) $(C_) $(FTSRC)cache$(D)ftccmap.c -$(FTOBJ)ftcglyph.$(OBJ) : $(FTSRC)cache$(D)ftcglyph.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftcglyph.$(OBJ) : $(FTSRC)cache$(D)ftcglyph.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftcglyph.$(OBJ) $(C_) $(FTSRC)cache$(D)ftcglyph.c -$(FTOBJ)ftcimage.$(OBJ) : $(FTSRC)cache$(D)ftcimage.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftcimage.$(OBJ) : $(FTSRC)cache$(D)ftcimage.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftcimage.$(OBJ) $(C_) $(FTSRC)cache$(D)ftcimage.c -$(FTOBJ)ftcmanag.$(OBJ) : $(FTSRC)cache$(D)ftcmanag.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftcmanag.$(OBJ) : $(FTSRC)cache$(D)ftcmanag.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftcmanag.$(OBJ) $(C_) $(FTSRC)cache$(D)ftcmanag.c -$(FTOBJ)ftcmru.$(OBJ) : $(FTSRC)cache$(D)ftcmru.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftcmru.$(OBJ) : $(FTSRC)cache$(D)ftcmru.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftcmru.$(OBJ) $(C_) $(FTSRC)cache$(D)ftcmru.c -$(FTOBJ)ftcsbits.$(OBJ) : $(FTSRC)cache$(D)ftcsbits.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftcsbits.$(OBJ) : $(FTSRC)cache$(D)ftcsbits.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftcsbits.$(OBJ) $(C_) $(FTSRC)cache$(D)ftcsbits.c -$(FTOBJ)cff.$(OBJ) : $(FTSRC)cff$(D)cff.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cff.$(OBJ) : $(FTSRC)cff$(D)cff.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cff.$(OBJ) $(C_) $(FTSRC)cff$(D)cff.c -$(FTOBJ)cffcmap.$(OBJ) : $(FTSRC)cff$(D)cffcmap.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cffcmap.$(OBJ) : $(FTSRC)cff$(D)cffcmap.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cffcmap.$(OBJ) $(C_) $(FTSRC)cff$(D)cffcmap.c -$(FTOBJ)cffdrivr.$(OBJ) : $(FTSRC)cff$(D)cffdrivr.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cffdrivr.$(OBJ) : $(FTSRC)cff$(D)cffdrivr.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cffdrivr.$(OBJ) $(C_) $(FTSRC)cff$(D)cffdrivr.c -$(FTOBJ)cffgload.$(OBJ) : $(FTSRC)cff$(D)cffgload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cffgload.$(OBJ) : $(FTSRC)cff$(D)cffgload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cffgload.$(OBJ) $(C_) $(FTSRC)cff$(D)cffgload.c -$(FTOBJ)cffload.$(OBJ) : $(FTSRC)cff$(D)cffload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cffload.$(OBJ) : $(FTSRC)cff$(D)cffload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cffload.$(OBJ) $(C_) $(FTSRC)cff$(D)cffload.c -$(FTOBJ)cffobjs.$(OBJ) : $(FTSRC)cff$(D)cffobjs.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cffobjs.$(OBJ) : $(FTSRC)cff$(D)cffobjs.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cffobjs.$(OBJ) $(C_) $(FTSRC)cff$(D)cffobjs.c -$(FTOBJ)cffparse.$(OBJ) : $(FTSRC)cff$(D)cffparse.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cffparse.$(OBJ) : $(FTSRC)cff$(D)cffparse.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cffparse.$(OBJ) $(C_) $(FTSRC)cff$(D)cffparse.c -$(FTOBJ)cffpic.$(OBJ) : $(FTSRC)cff$(D)cffpic.c $(FT_MAK) $(MAKEDIRS) - $(FTCC) $(FTO_)cffpic.$(OBJ) $(C_) $(FTSRC)cff$(D)cffpic.c - -$(FTOBJ)cidparse.$(OBJ) : $(FTSRC)cid$(D)cidparse.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cidparse.$(OBJ) : $(FTSRC)cid$(D)cidparse.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cidparse.$(OBJ) $(C_) $(FTSRC)cid$(D)cidparse.c -$(FTOBJ)cidload.$(OBJ) : $(FTSRC)cid$(D)cidload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cidload.$(OBJ) : $(FTSRC)cid$(D)cidload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cidload.$(OBJ) $(C_) $(FTSRC)cid$(D)cidload.c -$(FTOBJ)cidriver.$(OBJ) : $(FTSRC)cid$(D)cidriver.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cidriver.$(OBJ) : $(FTSRC)cid$(D)cidriver.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cidriver.$(OBJ) $(C_) $(FTSRC)cid$(D)cidriver.c -$(FTOBJ)cidgload.$(OBJ) : $(FTSRC)cid$(D)cidgload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cidgload.$(OBJ) : $(FTSRC)cid$(D)cidgload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cidgload.$(OBJ) $(C_) $(FTSRC)cid$(D)cidgload.c -$(FTOBJ)cidobjs.$(OBJ) : $(FTSRC)cid$(D)cidobjs.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cidobjs.$(OBJ) : $(FTSRC)cid$(D)cidobjs.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cidobjs.$(OBJ) $(C_) $(FTSRC)cid$(D)cidobjs.c -$(FTOBJ)ftgzip.$(OBJ) : $(FTSRC)gzip$(D)ftgzip.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftgzip.$(OBJ) : $(FTSRC)gzip$(D)ftgzip.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftgzip.$(OBJ) $(C_) $(FTSRC)gzip$(D)ftgzip.c -$(FTOBJ)ftlzw.$(OBJ) : $(FTSRC)lzw$(D)ftlzw.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftlzw.$(OBJ) : $(FTSRC)lzw$(D)ftlzw.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftlzw.$(OBJ) $(C_) $(FTSRC)lzw$(D)ftlzw.c -$(FTOBJ)pcfdrivr.$(OBJ) : $(FTSRC)pcf$(D)pcfdrivr.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pcfdrivr.$(OBJ) : $(FTSRC)pcf$(D)pcfdrivr.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pcfdrivr.$(OBJ) $(C_) $(FTSRC)pcf$(D)pcfdrivr.c -$(FTOBJ)pcfread.$(OBJ) : $(FTSRC)pcf$(D)pcfread.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pcfread.$(OBJ) : $(FTSRC)pcf$(D)pcfread.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pcfread.$(OBJ) $(C_) $(FTSRC)pcf$(D)pcfread.c -$(FTOBJ)pcfutil.$(OBJ) : $(FTSRC)pcf$(D)pcfutil.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pcfutil.$(OBJ) : $(FTSRC)pcf$(D)pcfutil.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pcfutil.$(OBJ) $(C_) $(FTSRC)pcf$(D)pcfutil.c -$(FTOBJ)pfrload.$(OBJ) : $(FTSRC)pfr$(D)pfrload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pfrload.$(OBJ) : $(FTSRC)pfr$(D)pfrload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pfrload.$(OBJ) $(C_) $(FTSRC)pfr$(D)pfrload.c -$(FTOBJ)pfrgload.$(OBJ) : $(FTSRC)pfr$(D)pfrgload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pfrgload.$(OBJ) : $(FTSRC)pfr$(D)pfrgload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pfrgload.$(OBJ) $(C_) $(FTSRC)pfr$(D)pfrgload.c -$(FTOBJ)pfrcmap.$(OBJ) : $(FTSRC)pfr$(D)pfrcmap.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pfrcmap.$(OBJ) : $(FTSRC)pfr$(D)pfrcmap.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pfrcmap.$(OBJ) $(C_) $(FTSRC)pfr$(D)pfrcmap.c -$(FTOBJ)pfrdrivr.$(OBJ) : $(FTSRC)pfr$(D)pfrdrivr.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pfrdrivr.$(OBJ) : $(FTSRC)pfr$(D)pfrdrivr.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pfrdrivr.$(OBJ) $(C_) $(FTSRC)pfr$(D)pfrdrivr.c -$(FTOBJ)pfrsbit.$(OBJ) : $(FTSRC)pfr$(D)pfrsbit.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pfrsbit.$(OBJ) : $(FTSRC)pfr$(D)pfrsbit.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pfrsbit.$(OBJ) $(C_) $(FTSRC)pfr$(D)pfrsbit.c -$(FTOBJ)pfrobjs.$(OBJ) : $(FTSRC)pfr$(D)pfrobjs.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pfrobjs.$(OBJ) : $(FTSRC)pfr$(D)pfrobjs.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pfrobjs.$(OBJ) $(C_) $(FTSRC)pfr$(D)pfrobjs.c -$(FTOBJ)psobjs.$(OBJ) : $(FTSRC)psaux$(D)psobjs.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psobjs.$(OBJ) : $(FTSRC)psaux$(D)psobjs.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psobjs.$(OBJ) $(C_) $(FTSRC)psaux$(D)psobjs.c -$(FTOBJ)t1decode.$(OBJ) : $(FTSRC)psaux$(D)t1decode.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t1decode.$(OBJ) : $(FTSRC)psaux$(D)t1decode.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t1decode.$(OBJ) $(C_) $(FTSRC)psaux$(D)t1decode.c -$(FTOBJ)t1cmap.$(OBJ) : $(FTSRC)psaux$(D)t1cmap.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t1cmap.$(OBJ) : $(FTSRC)psaux$(D)t1cmap.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t1cmap.$(OBJ) $(C_) $(FTSRC)psaux$(D)t1cmap.c -$(FTOBJ)afmparse.$(OBJ) : $(FTSRC)psaux$(D)afmparse.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)afmparse.$(OBJ) : $(FTSRC)psaux$(D)afmparse.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)afmparse.$(OBJ) $(C_) $(FTSRC)psaux$(D)afmparse.c -$(FTOBJ)psconv.$(OBJ) : $(FTSRC)psaux$(D)psconv.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psconv.$(OBJ) : $(FTSRC)psaux$(D)psconv.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psconv.$(OBJ) $(C_) $(FTSRC)psaux$(D)psconv.c -$(FTOBJ)psauxmod.$(OBJ) : $(FTSRC)psaux$(D)psauxmod.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psauxmod.$(OBJ) : $(FTSRC)psaux$(D)psauxmod.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psauxmod.$(OBJ) $(C_) $(FTSRC)psaux$(D)psauxmod.c -$(FTOBJ)psft.$(OBJ) : $(FTSRC)psaux$(D)psft.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psft.$(OBJ) : $(FTSRC)psaux$(D)psft.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psft.$(OBJ) $(C_) $(FTSRC)psaux$(D)psft.c -$(FTOBJ)cffdecode.$(OBJ) : $(FTSRC)psaux$(D)cffdecode.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)cffdecode.$(OBJ) : $(FTSRC)psaux$(D)cffdecode.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)cffdecode.$(OBJ) $(C_) $(FTSRC)psaux$(D)cffdecode.c -$(FTOBJ)psfont.$(OBJ) : $(FTSRC)psaux$(D)psfont.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psfont.$(OBJ) : $(FTSRC)psaux$(D)psfont.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psfont.$(OBJ) $(C_) $(FTSRC)psaux$(D)psfont.c -$(FTOBJ)psblues.$(OBJ) : $(FTSRC)psaux$(D)psblues.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psblues.$(OBJ) : $(FTSRC)psaux$(D)psblues.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psblues.$(OBJ) $(C_) $(FTSRC)psaux$(D)psblues.c -$(FTOBJ)psintrp.$(OBJ) : $(FTSRC)psaux$(D)psintrp.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psintrp.$(OBJ) : $(FTSRC)psaux$(D)psintrp.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psintrp.$(OBJ) $(C_) $(FTSRC)psaux$(D)psintrp.c -$(FTOBJ)pserror.$(OBJ) : $(FTSRC)psaux$(D)pserror.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pserror.$(OBJ) : $(FTSRC)psaux$(D)pserror.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pserror.$(OBJ) $(C_) $(FTSRC)psaux$(D)pserror.c -$(FTOBJ)psstack.$(OBJ) : $(FTSRC)psaux$(D)psstack.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psstack.$(OBJ) : $(FTSRC)psaux$(D)psstack.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psstack.$(OBJ) $(C_) $(FTSRC)psaux$(D)psstack.c -$(FTOBJ)pshints.$(OBJ) : $(FTSRC)psaux$(D)pshints.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pshints.$(OBJ) : $(FTSRC)psaux$(D)pshints.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pshints.$(OBJ) $(C_) $(FTSRC)psaux$(D)pshints.c -$(FTOBJ)psarrst.$(OBJ) : $(FTSRC)psaux$(D)psarrst.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psarrst.$(OBJ) : $(FTSRC)psaux$(D)psarrst.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psarrst.$(OBJ) $(C_) $(FTSRC)psaux$(D)psarrst.c -$(FTOBJ)psread.$(OBJ) : $(FTSRC)psaux$(D)psread.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psread.$(OBJ) : $(FTSRC)psaux$(D)psread.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psread.$(OBJ) $(C_) $(FTSRC)psaux$(D)psread.c -$(FTOBJ)pshrec.$(OBJ) : $(FTSRC)pshinter$(D)pshrec.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pshrec.$(OBJ) : $(FTSRC)pshinter$(D)pshrec.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pshrec.$(OBJ) $(C_) $(FTSRC)pshinter$(D)pshrec.c -$(FTOBJ)pshglob.$(OBJ) : $(FTSRC)pshinter$(D)pshglob.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pshglob.$(OBJ) : $(FTSRC)pshinter$(D)pshglob.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pshglob.$(OBJ) $(C_) $(FTSRC)pshinter$(D)pshglob.c -$(FTOBJ)pshmod.$(OBJ) : $(FTSRC)pshinter$(D)pshmod.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pshmod.$(OBJ) : $(FTSRC)pshinter$(D)pshmod.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pshmod.$(OBJ) $(C_) $(FTSRC)pshinter$(D)pshmod.c -$(FTOBJ)pshalgo.$(OBJ) : $(FTSRC)pshinter$(D)pshalgo.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pshalgo.$(OBJ) : $(FTSRC)pshinter$(D)pshalgo.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pshalgo.$(OBJ) $(C_) $(FTSRC)pshinter$(D)pshalgo.c -$(FTOBJ)psmodule.$(OBJ) : $(FTSRC)psnames$(D)psmodule.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)psmodule.$(OBJ) : $(FTSRC)psnames$(D)psmodule.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)psmodule.$(OBJ) $(C_) $(FTSRC)psnames$(D)psmodule.c -$(FTOBJ)pspic.$(OBJ) : $(FTSRC)psnames$(D)pspic.c $(FT_MAK) $(MAKEDIRS) - $(FTCC) $(FTO_)pspic.$(OBJ) $(C_) $(FTSRC)psnames$(D)pspic.c - -$(FTOBJ)ftraster.$(OBJ) : $(FTSRC)raster$(D)ftraster.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftraster.$(OBJ) : $(FTSRC)raster$(D)ftraster.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftraster.$(OBJ) $(C_) $(FTSRC)raster$(D)ftraster.c -$(FTOBJ)ftrend1.$(OBJ) : $(FTSRC)raster$(D)ftrend1.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftrend1.$(OBJ) : $(FTSRC)raster$(D)ftrend1.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftrend1.$(OBJ) $(C_) $(FTSRC)raster$(D)ftrend1.c -$(FTOBJ)rastpic.$(OBJ) : $(FTSRC)raster$(D)rastpic.c $(FT_MAK) $(MAKEDIRS) - $(FTCC) $(FTO_)rastpic.$(OBJ) $(C_) $(FTSRC)raster$(D)rastpic.c +$(FTOBJ)raster.$(OBJ) : $(FTSRC)raster$(D)raster.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) + $(FTCC) $(FTO_)raster.$(OBJ) $(C_) $(FTSRC)raster$(D)raster.c -$(FTOBJ)ftgrays.$(OBJ) : $(FTSRC)smooth$(D)ftgrays.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftgrays.$(OBJ) : $(FTSRC)smooth$(D)ftgrays.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftgrays.$(OBJ) $(C_) $(FTSRC)smooth$(D)ftgrays.c -$(FTOBJ)ftsmooth.$(OBJ) : $(FTSRC)smooth$(D)ftsmooth.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ftsmooth.$(OBJ) : $(FTSRC)smooth$(D)ftsmooth.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ftsmooth.$(OBJ) $(C_) $(FTSRC)smooth$(D)ftsmooth.c -$(FTOBJ)ftspic.$(OBJ) : $(FTSRC)smooth$(D)ftspic.c $(FT_MAK) $(MAKEDIRS) - $(FTCC) $(FTO_)ftspic.$(OBJ) $(C_) $(FTSRC)smooth$(D)ftspic.c - -$(FTOBJ)sfobjs.$(OBJ) : $(FTSRC)sfnt$(D)sfobjs.c $(FT_MAK) $(MAKEDIRS) - $(FTCC) $(FTO_)sfobjs.$(OBJ) $(C_) $(FTSRC)sfnt$(D)sfobjs.c +$(FTOBJ)smooth.$(OBJ) : $(FTSRC)smooth$(D)smooth.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) + $(FTCC) $(FTO_)smooth.$(OBJ) $(C_) $(FTSRC)smooth$(D)smooth.c -$(FTOBJ)sfdriver.$(OBJ) : $(FTSRC)sfnt$(D)sfdriver.c $(FT_MAK) $(MAKEDIRS) - $(FTCC) $(FTO_)sfdriver.$(OBJ) $(C_) $(FTSRC)sfnt$(D)sfdriver.c - -$(FTOBJ)ttcmap.$(OBJ) : $(FTSRC)sfnt$(D)ttcmap.c $(FT_MAK) $(MAKEDIRS) - $(FTCC) $(FTO_)ttcmap.$(OBJ) $(C_) $(FTSRC)sfnt$(D)ttcmap.c - -$(FTOBJ)ttmtx.$(OBJ) : $(FTSRC)sfnt$(D)ttmtx.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttmtx.$(OBJ) : $(FTSRC)sfnt$(D)ttmtx.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttmtx.$(OBJ) $(C_) $(FTSRC)sfnt$(D)ttmtx.c -$(FTOBJ)ttpost.$(OBJ) : $(FTSRC)sfnt$(D)ttpost.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttpost.$(OBJ) : $(FTSRC)sfnt$(D)ttpost.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttpost.$(OBJ) $(C_) $(FTSRC)sfnt$(D)ttpost.c -$(FTOBJ)ft2ttload.$(OBJ) : $(FTSRC)sfnt$(D)ttload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ft2ttload.$(OBJ) : $(FTSRC)sfnt$(D)ttload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ft2ttload.$(OBJ) $(C_) $(FTSRC)sfnt$(D)ttload.c -$(FTOBJ)ttsbit.$(OBJ) : $(FTSRC)sfnt$(D)ttsbit.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttsbit.$(OBJ) : $(FTSRC)sfnt$(D)ttsbit.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttsbit.$(OBJ) $(C_) $(FTSRC)sfnt$(D)ttsbit.c -$(FTOBJ)ttkern.$(OBJ) : $(FTSRC)sfnt$(D)ttkern.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttkern.$(OBJ) : $(FTSRC)sfnt$(D)ttkern.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttkern.$(OBJ) $(C_) $(FTSRC)sfnt$(D)ttkern.c -$(FTOBJ)ttbdf.$(OBJ) : $(FTSRC)sfnt$(D)ttbdf.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttbdf.$(OBJ) : $(FTSRC)sfnt$(D)ttbdf.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttbdf.$(OBJ) $(C_) $(FTSRC)sfnt$(D)ttbdf.c -$(FTOBJ)sfntpic.$(OBJ) : $(FTSRC)sfnt$(D)sfntpic.c $(FT_MAK) $(MAKEDIRS) - $(FTCC) $(FTO_)sfntpic.$(OBJ) $(C_) $(FTSRC)sfnt$(D)sfntpic.c +$(FTOBJ)sfnt.$(OBJ) : $(FTSRC)sfnt$(D)sfnt.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) + $(FTCC) $(FTO_)sfnt.$(OBJ) $(C_) $(FTSRC)sfnt$(D)sfnt.c -$(FTOBJ)pngshim.$(OBJ) : $(FTSRC)sfnt$(D)pngshim.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)pngshim.$(OBJ) : $(FTSRC)sfnt$(D)pngshim.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)pngshim.$(OBJ) $(C_) $(FTSRC)sfnt$(D)pngshim.c -$(FTOBJ)ttdriver.$(OBJ) : $(FTSRC)truetype$(D)ttdriver.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttcpal.$(OBJ) : $(FTSRC)sfnt$(D)ttcpal.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) + $(FTCC) $(FTO_)ttcpal.$(OBJ) $(C_) $(FTSRC)sfnt$(D)ttcpal.c + +$(FTOBJ)ttdriver.$(OBJ) : $(FTSRC)truetype$(D)ttdriver.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttdriver.$(OBJ) $(C_) $(FTSRC)truetype$(D)ttdriver.c -$(FTOBJ)ft2ttobjs.$(OBJ) : $(FTSRC)truetype$(D)ttobjs.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ft2ttobjs.$(OBJ) : $(FTSRC)truetype$(D)ttobjs.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ft2ttobjs.$(OBJ) $(C_) $(FTSRC)truetype$(D)ttobjs.c -$(FTOBJ)ttpload.$(OBJ) : $(FTSRC)truetype$(D)ttpload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttpload.$(OBJ) : $(FTSRC)truetype$(D)ttpload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttpload.$(OBJ) $(C_) $(FTSRC)truetype$(D)ttpload.c -$(FTOBJ)ttgload.$(OBJ) : $(FTSRC)truetype$(D)ttgload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttgload.$(OBJ) : $(FTSRC)truetype$(D)ttgload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttgload.$(OBJ) $(C_) $(FTSRC)truetype$(D)ttgload.c -$(FTOBJ)ft2ttinterp.$(OBJ) : $(FTSRC)truetype$(D)ttinterp.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ft2ttinterp.$(OBJ) : $(FTSRC)truetype$(D)ttinterp.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ft2ttinterp.$(OBJ) $(C_) $(FTSRC)truetype$(D)ttinterp.c -$(FTOBJ)ttgxvar.$(OBJ) : $(FTSRC)truetype$(D)ttgxvar.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttgxvar.$(OBJ) : $(FTSRC)truetype$(D)ttgxvar.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttgxvar.$(OBJ) $(C_) $(FTSRC)truetype$(D)ttgxvar.c -$(FTOBJ)ttpic.$(OBJ) : $(FTSRC)truetype$(D)ttpic.c $(FT_MAK) $(MAKEDIRS) - $(FTCC) $(FTO_)ttpic.$(OBJ) $(C_) $(FTSRC)truetype$(D)ttpic.c +$(FTOBJ)truetype.$(OBJ) : $(FTSRC)truetype$(D)truetype.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) + $(FTCC) $(FTO_)truetype.$(OBJ) $(C_) $(FTSRC)truetype$(D)truetype.c -$(FTOBJ)ttsubpix.$(OBJ) : $(FTSRC)truetype$(D)ttsubpix.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)ttsubpix.$(OBJ) : $(FTSRC)truetype$(D)ttsubpix.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)ttsubpix.$(OBJ) $(C_) $(FTSRC)truetype$(D)ttsubpix.c -$(FTOBJ)t1afm.$(OBJ) : $(FTSRC)type1$(D)t1afm.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t1afm.$(OBJ) : $(FTSRC)type1$(D)t1afm.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t1afm.$(OBJ) $(C_) $(FTSRC)type1$(D)t1afm.c -$(FTOBJ)t1driver.$(OBJ) : $(FTSRC)type1$(D)t1driver.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t1driver.$(OBJ) : $(FTSRC)type1$(D)t1driver.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t1driver.$(OBJ) $(C_) $(FTSRC)type1$(D)t1driver.c -$(FTOBJ)t1objs.$(OBJ) : $(FTSRC)type1$(D)t1objs.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t1objs.$(OBJ) : $(FTSRC)type1$(D)t1objs.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t1objs.$(OBJ) $(C_) $(FTSRC)type1$(D)t1objs.c -$(FTOBJ)t1load.$(OBJ) : $(FTSRC)type1$(D)t1load.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t1load.$(OBJ) : $(FTSRC)type1$(D)t1load.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t1load.$(OBJ) $(C_) $(FTSRC)type1$(D)t1load.c -$(FTOBJ)t1gload.$(OBJ) : $(FTSRC)type1$(D)t1gload.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t1gload.$(OBJ) : $(FTSRC)type1$(D)t1gload.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t1gload.$(OBJ) $(C_) $(FTSRC)type1$(D)t1gload.c -$(FTOBJ)t1parse.$(OBJ) : $(FTSRC)type1$(D)t1parse.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t1parse.$(OBJ) : $(FTSRC)type1$(D)t1parse.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t1parse.$(OBJ) $(C_) $(FTSRC)type1$(D)t1parse.c -$(FTOBJ)t42objs.$(OBJ) : $(FTSRC)type42$(D)t42objs.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t42objs.$(OBJ) : $(FTSRC)type42$(D)t42objs.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t42objs.$(OBJ) $(C_) $(FTSRC)type42$(D)t42objs.c -$(FTOBJ)t42parse.$(OBJ) : $(FTSRC)type42$(D)t42parse.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t42parse.$(OBJ) : $(FTSRC)type42$(D)t42parse.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t42parse.$(OBJ) $(C_) $(FTSRC)type42$(D)t42parse.c -$(FTOBJ)t42drivr.$(OBJ) : $(FTSRC)type42$(D)t42drivr.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)t42drivr.$(OBJ) : $(FTSRC)type42$(D)t42drivr.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)t42drivr.$(OBJ) $(C_) $(FTSRC)type42$(D)t42drivr.c -$(FTOBJ)winfnt.$(OBJ) : $(FTSRC)winfonts$(D)winfnt.c $(FT_MAK) $(MAKEDIRS) +$(FTOBJ)winfnt.$(OBJ) : $(FTSRC)winfonts$(D)winfnt.c $(FT_MAK) $(GENFTCONFH) $(MAKEDIRS) $(FTCC) $(FTO_)winfnt.$(OBJ) $(C_) $(FTSRC)winfonts$(D)winfnt.c diff --git a/base/gdbflags.h b/base/gdbflags.h index 9d6376f6..1ac6c586 100644 --- a/base/gdbflags.h +++ b/base/gdbflags.h @@ -31,7 +31,7 @@ FLAG(epo_disable, 4, 0, "Disable Erasepage Optimization (completely)"), FLAG(epo_details, 5, 0, "Erasepage Optimization tracing"), FLAG(epo_install_only, 6, 0, "Erasepage Optimization install only (for debugging subclass)"), FLAG(init_details, 7, 0, "Language initialisation (detail)"), -UNUSED(8) +FLAG(overprint, 8, 0, "Overprint"), UNUSED(9) UNUSED(10) UNUSED(11) diff --git a/base/gdevdbit.c b/base/gdevdbit.c index 8b5fa2f9..faeac5f6 100644 --- a/base/gdevdbit.c +++ b/base/gdevdbit.c @@ -194,14 +194,12 @@ gx_default_copy_alpha_hl_color(gx_device * dev, const byte * data, int data_x, byte *src_planes[GS_CLIENT_COLOR_MAX_COMPONENTS]; gs_int_rect gb_rect; int byte_depth; - gx_color_index mask; int shift, word_width; gx_color_value *composite; byte *gb_buff; int x_curr, w_curr, gb_buff_start; byte_depth = bpp / ncomps; - mask = ((gx_color_index)1 << byte_depth) - 1; shift = 16 - byte_depth; word_width = byte_depth >> 3; @@ -292,7 +290,7 @@ gx_default_copy_alpha_hl_color(gx_device * dev, const byte * data, int data_x, return code; } /* reset ourselves */ - gb_buff_start = gb_buff_start + w_curr; + gb_buff_start = gb_buff_start + w_curr * word_width; w_curr = 0; x_curr = rx + 1; } else { @@ -330,9 +328,9 @@ gx_default_copy_alpha_hl_color(gx_device * dev, const byte * data, int data_x, byte *ptr = ((src_planes[k]) + (sx - data_x) * word_width); switch (word_width) { case 2: - *ptr++ = composite[k] & mask; + *ptr++ = composite[k] >> 8; case 1: - *ptr++ = (composite[k] >> shift) & mask; + *ptr++ = composite[k] >> shift; } } } /* else on alpha != 0 */ diff --git a/base/gdevdevn.c b/base/gdevdevn.c index d0305610..3b019d6f 100644 --- a/base/gdevdevn.c +++ b/base/gdevdevn.c @@ -268,7 +268,7 @@ devn_get_color_comp_index(gx_device * dev, gs_devn_params * pdevn_params, { int num_order = pdevn_params->num_separation_order_names; int color_component_number = 0; - int max_spot_colors = GX_DEVICE_MAX_SEPARATIONS - MAX_DEVICE_PROCESS_COLORS; + int max_spot_colors = GX_DEVICE_MAX_SEPARATIONS - pdevn_params->num_std_colorant_names; /* * Check if the component is in either the process color model list @@ -318,15 +318,19 @@ devn_get_color_comp_index(gx_device * dev, gs_devn_params * pdevn_params, * Check if we have room for another spot colorant. */ if (auto_spot_colors == ENABLE_AUTO_SPOT_COLORS) - max_spot_colors = dev->color_info.max_components - - pdevn_params->num_std_colorant_names; + /* limit max_spot_colors to what the device can handle given max_components */ + max_spot_colors = min(max_spot_colors, + dev->color_info.max_components - pdevn_params->num_std_colorant_names); if (pdevn_params->separations.num_separations < max_spot_colors) { byte * sep_name; gs_separations * separations = &pdevn_params->separations; int sep_num = separations->num_separations++; /* We have a new spot colorant - put in stable memory to avoid "restore" */ sep_name = gs_alloc_bytes(dev->memory->stable_memory, name_size, "devn_get_color_comp_index"); - + if (sep_name == NULL) { + separations->num_separations--; /* we didn't add it */ + return -1; + } memcpy(sep_name, pname, name_size); separations->names[sep_num].size = name_size; separations->names[sep_num].data = sep_name; @@ -360,14 +364,17 @@ devn_get_params(gx_device * pdev, gs_param_list * plist, gs_param_string_array scna; gs_param_string_array sona; gs_param_int_array equiv_cmyk; - int equiv_elements[5 * (GX_DEVICE_MAX_SEPARATIONS - MAX_DEVICE_PROCESS_COLORS)] = { 0 }; /* 5 * max_spot_colors */ + /* there are 5 ints per colorant in equiv_elements: a valid flag and an int for C, M, Y and K */ + int equiv_elements[5 * GX_DEVICE_MAX_SEPARATIONS] = { 0 }; /* 5 * max_colors */ + /* limit in case num_separations in pdevn_params exceeds what is expected. */ + int num_separations = min(pdevn_params->separations.num_separations, sizeof(equiv_elements)/(5*sizeof(int))); set_param_array(scna, NULL, 0); set_param_array(sona, NULL, 0); if (pequiv_colors != NULL) { - for (spot_num = 0; spot_num < pdevn_params->separations.num_separations; spot_num++) { + for (spot_num = 0; spot_num < num_separations; spot_num++) { equiv_elements[i++] = pequiv_colors->color[spot_num].color_info_valid ? 1 : 0; equiv_elements[i++] = pequiv_colors->color[spot_num].c; equiv_elements[i++] = pequiv_colors->color[spot_num].m; @@ -444,7 +451,7 @@ devn_put_params(gx_device * pdev, gs_param_list * plist, { break; } END_ARRAY_PARAM(sona, sone); - if (sona.data != 0 && sona.size > GX_DEVICE_COLOR_MAX_COMPONENTS) { + if (sona.data != 0 && sona.size > pdev->color_info.max_components) { param_signal_error(plist, "SeparationOrder", gs_error_rangecheck); return_error(gs_error_rangecheck); } @@ -455,7 +462,7 @@ devn_put_params(gx_device * pdev, gs_param_list * plist, { break; } END_ARRAY_PARAM(scna, scne); - if (scna.data != 0 && scna.size > GX_DEVICE_MAX_SEPARATIONS) { + if (scna.data != 0 && scna.size > pdev->color_info.max_components) { param_signal_error(plist, "SeparationColorNames", gs_error_rangecheck); return_error(gs_error_rangecheck); } @@ -465,6 +472,10 @@ devn_put_params(gx_device * pdev, gs_param_list * plist, { break; } END_ARRAY_PARAM(equiv_cmyk, equiv_cmyk_e); + if (equiv_cmyk.data != 0 && scna.size > pdev->color_info.max_components) { + param_signal_error(plist, "SeparationColorNames", gs_error_rangecheck); + return_error(gs_error_rangecheck); + } /* Separations are only valid with a subrtractive color model */ if (pdev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE) { @@ -486,6 +497,10 @@ devn_put_params(gx_device * pdev, gs_param_list * plist, /* We have a new separation */ sep_name = (byte *)gs_alloc_bytes(pdev->memory, name_size, "devicen_put_params_no_sep_order"); + if (sep_name == NULL) { + param_signal_error(plist, "SeparationColorNames", gs_error_VMerror); + return_error(gs_error_VMerror); + } memcpy(sep_name, scna.data[i].data, name_size); pdevn_params->separations.names[num_spot].size = name_size; pdevn_params->separations.names[num_spot].data = sep_name; @@ -495,9 +510,10 @@ devn_put_params(gx_device * pdev, gs_param_list * plist, pequiv_colors->all_color_info_valid = false; } num_spot++; + num_spot_changed = true; } } - num_spot_changed = true; + for (i = pdevn_params->separations.num_separations; i < num_spot; i++) pdevn_params->separation_order_map[i + pdevn_params->num_std_colorant_names] = i + pdevn_params->num_std_colorant_names; @@ -591,8 +607,8 @@ devn_put_params(gx_device * pdev, gs_param_list * plist, param_signal_error(plist, "PageSpotColors", gs_error_rangecheck); return_error(gs_error_rangecheck); } - if (page_spot_colors > GX_DEVICE_COLOR_MAX_COMPONENTS - MAX_DEVICE_PROCESS_COLORS) - page_spot_colors = GX_DEVICE_COLOR_MAX_COMPONENTS - MAX_DEVICE_PROCESS_COLORS; + if (page_spot_colors > pdev->color_info.max_components - pdevn_params->num_std_colorant_names) + page_spot_colors = pdev->color_info.max_components - pdevn_params->num_std_colorant_names; /* Need to leave room for the process colors in GX_DEVICE_COLOR_MAX_COMPONENTS */ } /* @@ -700,6 +716,9 @@ devn_copy_params(gx_device * psrcdev, gx_device * pdesdev) int name_size = src_devn_params->separations.names[k].size; sep_name = (byte *)gs_alloc_bytes(pdesdev->memory->stable_memory, name_size, "devn_copy_params"); + if (sep_name == NULL) { + return_error(gs_error_VMerror); + } memcpy(sep_name, src_devn_params->separations.names[k].data, name_size); des_devn_params->separations.names[k].size = name_size; des_devn_params->separations.names[k].data = sep_name; @@ -716,6 +735,9 @@ devn_copy_params(gx_device * psrcdev, gx_device * pdesdev) int name_size = src_devn_params->pdf14_separations.names[k].size; sep_name = (byte *)gs_alloc_bytes(pdesdev->memory->stable_memory, name_size, "devn_copy_params"); + if (sep_name == NULL) { + return_error(gs_error_VMerror); + } memcpy(sep_name, src_devn_params->pdf14_separations.names[k].data, name_size); des_devn_params->pdf14_separations.names[k].size = name_size; @@ -1054,8 +1076,8 @@ const gx_devn_prn_device gs_devicen_device = gx_devn_prn_device_body(devicen_procs, "devicen", 4, GX_CINFO_POLARITY_SUBTRACTIVE, 32, 255, 255, "DeviceCMYK"), /* DeviceN device specific parameters */ { 8, /* Bits per color - must match ncomp, depth, etc. above */ - NULL, /* No names for standard DeviceN color model */ - 0, /* No standard colorants for DeviceN */ + DeviceCMYKComponents, /* Names of color model colorants */ + 4, /* Number colorants for CMYK */ 0, /* MaxSeparations has not been specified */ -1, /* PageSpotColors has not been specified */ {0}, /* SeparationNames */ @@ -1382,7 +1404,11 @@ spotcmyk_print_page(gx_device_printer * pdev, gp_file * prn_stream) /* Open the output files for the spot colors */ for(i = 0; i < nspot; i++) { gs_sprintf(spotname, "%ss%d", pdevn->fname, i); + code = gs_add_control_path(pdev->memory, gs_permit_file_writing, spotname); + if (code < 0) + goto prn_done; spot_file[i] = gp_fopen(pdev->memory, spotname, "wb"); + (void)gs_remove_control_path(pdev->memory, gs_permit_file_writing, spotname); if (spot_file[i] == NULL) { code = gs_note_error(gs_error_VMerror); goto prn_done; @@ -1391,7 +1417,9 @@ spotcmyk_print_page(gx_device_printer * pdev, gp_file * prn_stream) /* Now create the output bit image files */ for (; lnum < bottom; ++lnum) { - gdev_prn_get_bits(pdev, lnum, in, &data); + code = gdev_prn_get_bits(pdev, lnum, in, &data); + if (code < 0) + goto prn_done; /* Now put the pcm data into the output file */ if (npcmcolors) { first_bit = bpc * (ncomp - npcmcolors); @@ -1755,27 +1783,39 @@ devn_write_pcx_file(gx_device_printer * pdev, char * filename, int ncomp, if (outname == NULL) { code = gs_note_error(gs_error_VMerror); - goto done; + goto done; } + code = gs_add_control_path(pdev->memory, gs_permit_file_reading, filename); + if (code < 0) + goto done; + in = gp_fopen(pdev->memory, filename, "rb"); if (!in) { code = gs_note_error(gs_error_invalidfileaccess); - goto done; + goto done; } gs_sprintf(outname, "%s.pcx", filename); + code = gs_add_control_path(pdev->memory, gs_permit_file_writing, outname); + if (code < 0) + goto done; out = gp_fopen(pdev->memory, outname, "wb"); if (!out) { code = gs_note_error(gs_error_invalidfileaccess); - goto done; + goto done; } + if (ncomp == 4 && bpc == 8) { + ncomp = 3; /* we will convert 32-bit to 24-bit RGB */ + } planar = devn_setup_pcx_header(pdev, &header, ncomp, bpc); code = devn_pcx_write_page(pdev, in, linesize, out, &header, planar, depth); if (code >= 0) code = devn_finish_pcx_file(pdev, out, &header, ncomp, bpc); done: + (void)gs_remove_control_path(pdev->memory, gs_permit_file_reading, filename); + (void)gs_remove_control_path(pdev->memory, gs_permit_file_writing, outname); if (in) gp_fclose(in); if (out) @@ -1799,12 +1839,22 @@ devn_pcx_write_page(gx_device_printer * pdev, gp_file * infile, int linesize, gp int height = pdev->height; uint lsize = raster + rsize; byte *line = gs_alloc_bytes(pdev->memory, lsize, "pcx file buffer"); + byte *rgb_buff = NULL; byte *plane = line + raster; + bool convert_to_rgb = false; int y; int code = 0; /* return code */ if (line == 0) /* can't allocate line buffer */ return_error(gs_error_VMerror); + if (pdev->color_info.num_components == 4 && depth == 32) { + rgb_buff = gs_alloc_bytes(pdev->memory, lsize, "pcx_rgb_buff"); + if (rgb_buff == 0) /* can't allocate line buffer */ + return_error(gs_error_VMerror); + raster = (raster * 3) / 4; /* will be rounded up to even later */ + depth = 24; /* we will be writing 24-bit rgb */ + convert_to_rgb = true; + } /* Fill in the other variable entries in the header struct. */ @@ -1829,6 +1879,21 @@ devn_pcx_write_page(gx_device_printer * pdev, gp_file * infile, int linesize, gp code = gp_fread(line, sizeof(byte), linesize, infile); if (code < 0) break; + /* If needed, convert to rgb */ + if (convert_to_rgb) { + int i; + byte *row_in = line; + + /* Transform the data. */ + row = rgb_buff; /* adjust to converted output buffer */ + for (i=0; i < linesize; i += 4) { + *row++ = ((255 - row_in[0]) * (255 - row_in[3])) / 255; + *row++ = ((255 - row_in[1]) * (255 - row_in[3])) / 255; + *row++ = ((255 - row_in[2]) * (255 - row_in[3])) / 255; + row_in += 4; + } + row = rgb_buff; /* adjust to converted output buffer */ + } end = row + raster; if (!planar) { /* Just write the bits. */ if (raster & 1) { /* Round to even, with predictable padding. */ @@ -1891,6 +1956,8 @@ devn_pcx_write_page(gx_device_printer * pdev, gp_file * infile, int linesize, gp } pcx_done: + if (rgb_buff != NULL) + gs_free_object(pdev->memory, rgb_buff, "pcx_rgb_buff"); gs_free_object(pdev->memory, line, "pcx file buffer"); return code; diff --git a/base/gdevdevn.h b/base/gdevdevn.h index c153536f..3f50c996 100644 --- a/base/gdevdevn.h +++ b/base/gdevdevn.h @@ -25,14 +25,6 @@ #define LIMIT_TO_ICC 1 /* - * Define the maximum number of process model colorants. Currently we only - * have code for DeviceGray, DeviceRGB, and DeviceCMYK. Thus this value - * only needs to be 4. However we are allowing for a future hexachrome - * device. (This value does not include spot colors. See previous value.) - */ -#define MAX_DEVICE_PROCESS_COLORS 6 - -/* * Type definitions associated with the fixed color model names. */ typedef const char * fixed_colorant_name; @@ -57,7 +49,7 @@ struct gs_separations_s { /* * Type for holding a separation order map */ -typedef int gs_separation_map[GX_DEVICE_MAX_SEPARATIONS + MAX_DEVICE_PROCESS_COLORS]; +typedef int gs_separation_map[GX_DEVICE_MAX_SEPARATIONS]; typedef struct gs_devn_params_s { /* diff --git a/base/gdevdflt.c b/base/gdevdflt.c index f1d1bb88..8d342995 100644 --- a/base/gdevdflt.c +++ b/base/gdevdflt.c @@ -767,6 +767,7 @@ gx_device_fill_in_procs(register gx_device * dev) fill_dev_proc(dev, copy_planes, gx_default_copy_planes); fill_dev_proc(dev, process_page, gx_default_process_page); fill_dev_proc(dev, transform_pixel_region, gx_default_transform_pixel_region); + fill_dev_proc(dev, fill_stroke_path, gx_default_fill_stroke_path); } @@ -1062,6 +1063,8 @@ gx_default_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data, int size) /* Just ignore information about events */ case gxdso_event_info: return 0; + case gxdso_overprint_active: + return 0; } return_error(gs_error_undefined); } @@ -1315,6 +1318,7 @@ int gx_copy_device_procs(gx_device *dest, gx_device *src, gx_device *prototype) set_dev_proc(dest, strip_tile_rect_devn, dev_proc(prototype, strip_tile_rect_devn)); set_dev_proc(dest, process_page, dev_proc(prototype, process_page)); set_dev_proc(dest, transform_pixel_region, dev_proc(prototype, transform_pixel_region)); + set_dev_proc(dest, fill_stroke_path, dev_proc(prototype, fill_stroke_path)); /* * We absolutely must set the 'set_graphics_type_tag' to the default subclass one @@ -1876,6 +1880,11 @@ transform_pixel_region_render_portrait(gx_device *dev, gx_default_transform_pixe } out = state->line; + if (minx < 0) + minx = 0; + if (maxx > dev->width) + maxx = dev->width; + if (pending_left < minx) pending_left = minx; else if (pending_left > maxx) @@ -2050,7 +2059,7 @@ transform_pixel_region_render_landscape(gx_device *dev, gx_default_transform_pix goto err; data = run; } - return (code < 0 ? code : 1); + return 1; /* Save position if error, in case we resume. */ err: buffer[0] = run; @@ -2115,10 +2124,11 @@ transform_pixel_region_render_skew(gx_device *dev, gx_default_transform_pixel_re prev = data; data += spp; } - return (code < 0 ? code : 1); + return 1; /* Save position if error, in case we resume. */ err: - buffer[0] = prev; + /* Only set buffer[0] if we've managed to set prev to something valid. */ + if (prev != &initial_run[0]) buffer[0] = prev; return code; } diff --git a/base/gdevdrop.c b/base/gdevdrop.c index dfc6945e..dcd3f659 100644 --- a/base/gdevdrop.c +++ b/base/gdevdrop.c @@ -1561,7 +1561,6 @@ template_mem_transform_pixel_region_render_landscape(gx_device *dev, mem_transfo int h = state->h; const byte *data = buffer[0] + data_x * spp; const byte *bufend = NULL; - int code = 0; const byte *run; int k; gx_color_value *conc = &cmapper->conc[0]; @@ -1648,15 +1647,9 @@ template_mem_transform_pixel_region_render_landscape(gx_device *dev, mem_transfo } } } - if (code < 0) - goto err; data = run; } - return (code < 0 ? code : 1); - /* Save position if error, in case we resume. */ -err: - buffer[0] = run; - return code; + return 1; } static int diff --git a/base/gdevepo.c b/base/gdevepo.c index e57c1db9..45363781 100644 --- a/base/gdevepo.c +++ b/base/gdevepo.c @@ -81,6 +81,7 @@ static dev_proc_copy_planes(epo_copy_planes); static dev_proc_copy_alpha_hl_color(epo_copy_alpha_hl_color); static dev_proc_process_page(epo_process_page); static dev_proc_transform_pixel_region(epo_transform_pixel_region); +static dev_proc_fill_stroke_path(epo_fill_stroke_path); /* The device prototype */ #define MAX_COORD (max_int_in_fixed - 1000) @@ -184,7 +185,8 @@ gx_device_epo gs_epo_device = default_subclass_strip_tile_rect_devn, epo_copy_alpha_hl_color, epo_process_page, - epo_transform_pixel_region + epo_transform_pixel_region, + epo_fill_stroke_path, } }; @@ -679,6 +681,19 @@ int epo_process_page(gx_device *dev, gx_process_page_options_t *options) return dev_proc(dev, process_page)(dev, options); } +int epo_fill_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath, + const gx_fill_params *fill_params, const gx_drawing_color *pdcolor_fill, + const gx_stroke_params *stroke_params, const gx_drawing_color *pdcolor_stroke, + const gx_clip_path *pcpath) +{ + int code = epo_handle_erase_page(dev); + + if (code != 0) + return code; + return dev_proc(dev, fill_stroke_path)(dev, pgs, ppath, fill_params, pdcolor_fill, + stroke_params, pdcolor_stroke, pcpath); +} + int epo_transform_pixel_region(gx_device *dev, transform_pixel_region_reason reason, transform_pixel_region_data *data) { int code = epo_handle_erase_page(dev); diff --git a/base/gdevflp.c b/base/gdevflp.c index f4b9a847..0ad19656 100644 --- a/base/gdevflp.c +++ b/base/gdevflp.c @@ -106,6 +106,7 @@ static dev_proc_strip_tile_rect_devn(flp_strip_tile_rect_devn); static dev_proc_copy_alpha_hl_color(flp_copy_alpha_hl_color); static dev_proc_process_page(flp_process_page); static dev_proc_transform_pixel_region(flp_transform_pixel_region); +static dev_proc_fill_stroke_path(flp_fill_stroke_path); /* The device prototype */ #define MAX_COORD (max_int_in_fixed - 1000) @@ -208,7 +209,9 @@ gx_device_flp gs_flp_device = flp_strip_copy_rop2, flp_strip_tile_rect_devn, flp_copy_alpha_hl_color, - flp_process_page + flp_process_page, + flp_transform_pixel_region, + flp_fill_stroke_path, } }; @@ -1213,6 +1216,21 @@ int flp_process_page(gx_device *dev, gx_process_page_options_t *options) return 0; } +int flp_fill_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath, + const gx_fill_params *fill_params, const gx_drawing_color *pdcolor_fill, + const gx_stroke_params *stroke_params, const gx_drawing_color *pdcolor_stroke, + const gx_clip_path *pcpath) +{ + int code = SkipPage(dev); + + if (code < 0) + return code; + if (!code) + return default_subclass_fill_stroke_path(dev, pgs, ppath, fill_params, pdcolor_fill, + stroke_params, pdcolor_stroke, pcpath); + return 0; +} + int flp_transform_pixel_region(gx_device *dev, transform_pixel_region_reason reason, transform_pixel_region_data *data) { int code = SkipPage(dev); diff --git a/base/gdevmem.h b/base/gdevmem.h index c973ab40..69cb6d0f 100644 --- a/base/gdevmem.h +++ b/base/gdevmem.h @@ -203,7 +203,8 @@ dev_proc_transform_pixel_region(mem_transform_pixel_region); NULL, /* strip_tile_rect_devn */\ NULL, /* copy_alpha_hl_color */\ NULL, /* process_page */\ - mem_transform_pixel_region\ + mem_transform_pixel_region,\ + NULL, /* fill_stroke_path */\ },\ 0, /* target */\ mem_device_init_private /* see gxdevmem.h */\ diff --git a/base/gdevmpla.c b/base/gdevmpla.c index 3bcbf491..ae805f4e 100644 --- a/base/gdevmpla.c +++ b/base/gdevmpla.c @@ -1718,6 +1718,8 @@ plane_strip_copy_rop(gx_device_memory * mdev, * so ensure we have the right ones in there. */ set_dev_proc(mdev, get_bits_rectangle, dev_proc(mdproto, get_bits_rectangle)); set_dev_proc(mdev, fill_rectangle, dev_proc(mdproto, fill_rectangle)); + /* mdev->color_info.depth is restored by MEM_RESTORE_PARAMS below. */ + mdev->color_info.depth = mdev->planes[plane].depth; code = dev_proc(mdproto, strip_copy_rop)((gx_device *)mdev, sdata, sourcex, sraster, id, scolors, textures, tcolors, x, y, width, height, diff --git a/base/gdevmplt.c b/base/gdevmplt.c index d10f194a..c102639f 100644 --- a/base/gdevmplt.c +++ b/base/gdevmplt.c @@ -152,7 +152,8 @@ gx_device_mplt gs_pcl_mono_palette_device = default_subclass_strip_tile_rect_devn, default_subclass_copy_alpha_hl_color, default_subclass_process_page, - default_subclass_transform_pixel_region + default_subclass_transform_pixel_region, + default_subclass_fill_stroke_path, } }; diff --git a/base/gdevnfwd.c b/base/gdevnfwd.c index a78d3038..4174c957 100644 --- a/base/gdevnfwd.c +++ b/base/gdevnfwd.c @@ -117,7 +117,9 @@ gx_device_forward_fill_in_procs(register gx_device_forward * dev) fill_dev_proc(dev, set_graphics_type_tag, gx_forward_set_graphics_type_tag); fill_dev_proc(dev, strip_copy_rop2, gx_forward_strip_copy_rop2); fill_dev_proc(dev, strip_tile_rect_devn, gx_forward_strip_tile_rect_devn); + fill_dev_proc(dev, strip_tile_rect_devn, gx_forward_strip_tile_rect_devn); fill_dev_proc(dev, transform_pixel_region, gx_forward_transform_pixel_region); + fill_dev_proc(dev, fill_stroke_path, gx_forward_fill_stroke_path); gx_device_fill_in_procs((gx_device *) dev); } @@ -450,6 +452,24 @@ gx_forward_stroke_path(gx_device * dev, const gs_gstate * pgs, } int +gx_forward_fill_stroke_path(gx_device * dev, const gs_gstate * pgs, + gx_path * ppath, + const gx_fill_params * params_fill, + const gx_drawing_color * pdcolor_fill, + const gx_stroke_params * params_stroke, + const gx_drawing_color * pdcolor_stroke, + const gx_clip_path * pcpath) +{ + gx_device_forward * const fdev = (gx_device_forward *)dev; + gx_device *tdev = fdev->target; + dev_proc_fill_stroke_path((*proc)) = + (tdev == 0 ? (tdev = dev, gx_default_fill_stroke_path) : + dev_proc(tdev, fill_stroke_path)); + + return proc(tdev, pgs, ppath, params_fill, pdcolor_fill, params_stroke, pdcolor_stroke, pcpath); +} + +int gx_forward_fill_mask(gx_device * dev, const byte * data, int dx, int raster, gx_bitmap_id id, int x, int y, int w, int h, diff --git a/base/gdevoflt.c b/base/gdevoflt.c index f0818064..a8962e7c 100644 --- a/base/gdevoflt.c +++ b/base/gdevoflt.c @@ -67,6 +67,7 @@ static dev_proc_fill_linear_color_triangle(obj_filter_fill_linear_color_triangle static dev_proc_put_image(obj_filter_put_image); static dev_proc_strip_copy_rop2(obj_filter_strip_copy_rop2); static dev_proc_strip_tile_rect_devn(obj_filter_strip_tile_rect_devn); +static dev_proc_fill_stroke_path(obj_filter_fill_stroke_path); /* The device prototype */ #define MAX_COORD (max_int_in_fixed - 1000) @@ -174,7 +175,8 @@ gx_device_obj_filter gs_obj_filter_device = obj_filter_strip_tile_rect_devn, default_subclass_copy_alpha_hl_color, default_subclass_process_page, - default_subclass_transform_pixel_region + default_subclass_transform_pixel_region, + obj_filter_fill_stroke_path, } }; @@ -222,6 +224,16 @@ int obj_filter_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath, return 0; } +int obj_filter_fill_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath, + const gx_fill_params *fill_params, const gx_drawing_color *pdcolor_fill, + const gx_stroke_params *stroke_params, const gx_drawing_color *pdcolor_stroke, + const gx_clip_path *pcpath) +{ + if ((dev->ObjectFilter & FILTERVECTOR) == 0) + return default_subclass_fill_stroke_path(dev, pgs, ppath, fill_params, pdcolor_fill, stroke_params, pdcolor_stroke, pcpath); + return 0; +} + int obj_filter_fill_mask(gx_device *dev, const byte *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height, const gx_drawing_color *pdcolor, int depth, diff --git a/base/gdevp14.c b/base/gdevp14.c index 993ad57b..2d11caea 100644 --- a/base/gdevp14.c +++ b/base/gdevp14.c @@ -15,6 +15,7 @@ /* Compositing devices for implementing PDF 1.4 imaging model */ +#include "assert_.h" #include "math_.h" #include "memory_.h" #include "gx.h" @@ -37,6 +38,9 @@ #include "gdevmem.h" #include "gdevp14.h" #include "gdevprn.h" /* for prn_device structures */ +#include "gdevppla.h" /* for gdev_prn_open_planar */ +#include "gdevdevnprn.h" +#include "gscdevn.h" #include "gsovrc.h" #include "gxcmap.h" #include "gscolor1.h" @@ -179,6 +183,7 @@ dev_proc_decode_color(pdf14_decode_color16); static dev_proc_fill_rectangle(pdf14_fill_rectangle); static dev_proc_fill_rectangle_hl_color(pdf14_fill_rectangle_hl_color); static dev_proc_fill_path(pdf14_fill_path); +static dev_proc_fill_stroke_path(pdf14_fill_stroke_path); static dev_proc_copy_mono(pdf14_copy_mono); static dev_proc_fill_mask(pdf14_fill_mask); static dev_proc_stroke_path(pdf14_stroke_path); @@ -280,7 +285,10 @@ static const gx_color_map_procs * gx_forward_set_graphics_type_tag, /* set_graphics_type_tag */\ NULL, /* strip_copy_rop2 */\ NULL, /* strip_tile_rect_devn */\ - pdf14_copy_alpha_hl_color /* copy_alpha_hl_color */\ + pdf14_copy_alpha_hl_color, /* copy_alpha_hl_color */\ + NULL, /* process_page */\ + NULL, /* transform_pixel_region */\ + pdf14_fill_stroke_path, /* fill_stroke */\ } static const gx_device_procs pdf14_Gray_procs = @@ -584,6 +592,10 @@ const pdf14_device gs_pdf14_custom_device = { /* are set from the target device: width, height, xdpi, ydpi, MaxBitmap. */ static dev_proc_print_page(no_print_page); +static dev_proc_ret_devn_params(pdf14_accum_ret_devn_params); +static dev_proc_get_color_comp_index(pdf14_accum_get_color_comp_index); +static dev_proc_get_color_mapping_procs(pdf14_accum_get_color_mapping_procs); +static dev_proc_update_spot_equivalent_colors(pdf14_accum_update_spot_equivalent_colors); static int no_print_page(gx_device_printer *pdev, gp_file *prn_stream) @@ -592,15 +604,14 @@ no_print_page(gx_device_printer *pdev, gp_file *prn_stream) } struct gx_device_pdf14_accum_s { - gx_device_common; - gx_prn_device_common; + gx_devn_prn_device_common; gx_device *save_p14dev; /* the non-clist pdf14 deivce saved for after accum */ }; typedef struct gx_device_pdf14_accum_s gx_device_pdf14_accum; -gs_public_st_suffix_add1_final(st_pdf14_accum, gx_device_pdf14_accum, - "gx_device_pdf14_accum", pdf14_accum_enum_ptrs, pdf14_accum_reloc_ptrs, - gx_device_finalize, st_device_printer, save_p14dev); +gs_private_st_suffix_add1_final(st_gx_devn_accum_device, gx_device_pdf14_accum, + "gx_device_pdf14_accum", pdf14_accum_device_enum_ptrs, pdf14_accum_device_reloc_ptrs, + gx_devn_prn_device_finalize, st_gx_devn_prn_device, save_p14dev); static const gx_device_procs pdf14_accum_Gray_procs = prn_color_procs(gdev_prn_open, NULL, gdev_prn_close, @@ -608,12 +619,14 @@ static const gx_device_procs pdf14_accum_Gray_procs = const gx_device_pdf14_accum pdf14_accum_Gray = { prn_device_stype_body(gx_device_pdf14_accum, pdf14_accum_Gray_procs, "pdf14-accum-Gray", - &st_pdf14_accum, + &st_gx_devn_accum_device, 0/*width*/, 0/*height*/, 300/*xdpi*/, 300/*ydpi*/, 0/*lm*/, 0/*bm*/, 0/*rm*/, 0/*tm*/, 1/*ncomp*/, 8/*depth*/, 255/*max_gray*/, 0/*max_color*/, 256/*dither_grays*/, 0/*dither_colors*/, no_print_page), + { 0 }, /* devn_params - not used */ + { 0 }, /* equivalent_cmyk_color_params - not used */ 0/*save_p14dev*/ }; @@ -623,12 +636,14 @@ static const gx_device_procs pdf14_accum_RGB_procs = const gx_device_pdf14_accum pdf14_accum_RGB = { prn_device_stype_body(gx_device_pdf14_accum, pdf14_accum_RGB_procs, "pdf14-accum-RGB", - &st_pdf14_accum, + &st_gx_devn_accum_device, 0/*width*/, 0/*height*/, 300/*xdpi*/, 300/*ydpi*/, 0/*lm*/, 0/*bm*/, 0/*rm*/, 0/*tm*/, 3/*ncomp*/, 24/*depth*/, 0/*max_gray*/, 255/*max_color*/, 1/*dither_grays*/, 256/*dither_colors*/, no_print_page), + { 0 }, /* devn_params - not used */ + { 0 }, /* equivalent_cmyk_color_params - not used */ 0/*save_p14dev*/ }; @@ -638,12 +653,112 @@ static const gx_device_procs pdf14_accum_CMYK_procs = const gx_device_pdf14_accum pdf14_accum_CMYK = { prn_device_stype_body(gx_device_pdf14_accum, pdf14_accum_CMYK_procs, "pdf14-accum-CMYK", - &st_pdf14_accum, + &st_gx_devn_accum_device, 0/*width*/, 0/*height*/, 300/*xdpi*/, 300/*ydpi*/, 0/*lm*/, 0/*bm*/, 0/*rm*/, 0/*tm*/, 4/*ncomp*/, 32/*depth*/, 255/*max_gray*/, 255/*max_color*/, 256/*dither_grays*/, 256/*dither_colors*/, no_print_page), + { 0 }, /* devn_params - not used */ + { 0 }, /* equivalent_cmyk_color_params - not used */ + 0/*save_p14dev*/ +}; + +static const gx_device_procs pdf14_accum_CMYKspot_procs = +{\ + gdev_prn_open, /* open */\ + NULL, /* get_initial_matrix */\ + NULL, /* sync_output */\ + NULL, /* output_page */\ + gdev_prn_close, /* close */\ + cmyk_8bit_map_cmyk_color, /* rgb_map_rgb_color */\ + cmyk_8bit_map_color_cmyk, /* gx_default_rgb_map_color_rgb */\ + NULL, /* fill_rectangle */\ + NULL, /* tile_rectangle */\ + NULL, /* copy_mono */\ + NULL, /* copy_color */\ + NULL, /* draw_line */\ + NULL, /* get_bits */\ + NULL, /* get_params */\ + NULL, /* put_params */\ + NULL, /* map_cmyk_color */\ + NULL, /* get_xfont_procs */\ + NULL, /* get_xfont_device */\ + NULL, /* map_rgb_alpha_color */\ + NULL, /* get_page_device */\ + NULL, /* get_alpha_bits */\ + NULL , /* copy_alpha */\ + NULL, /* get_band */\ + NULL, /* copy_rop */\ + NULL, /* fill_path */\ + NULL, /* stroke_path */\ + NULL, /* fill_mask */\ + NULL, /* fill_trapezoid */\ + NULL, /* fill_parallelogram */\ + NULL, /* fill_triangle */\ + NULL, /* draw_thin_line */\ + NULL, /* begin_image */\ + NULL, /* image_data */\ + NULL, /* end_image */\ + NULL, /* strip_tile_rectangle */\ + NULL, /* strip_copy_rop, */\ + NULL, /* get_clipping_box */\ + NULL, /* begin_typed_image */\ + NULL, /* get_bits_rectangle */\ + NULL, /* map_color_rgb_alpha */\ + NULL, /* create_compositor */\ + NULL, /* get_hardware_params */\ + NULL, /* text_begin */\ + NULL, /* finish_copydevice */\ + NULL, /* begin_transparency_group */\ + NULL, /* end_transparency_group */\ + NULL, /* begin_transparency_mask */\ + NULL, /* end_transparency_mask */\ + NULL, /* discard_trans_layer */\ + pdf14_accum_get_color_mapping_procs, /* get_color_mapping_procs */\ + pdf14_accum_get_color_comp_index, /* get_color_comp_index */\ + cmyk_8bit_map_cmyk_color, /* encode_color */\ + cmyk_8bit_map_color_cmyk, /* decode_color */\ + NULL, /* pattern_manage */\ + NULL, /* fill_rectangle_hl_color */\ + NULL, /* include_color_space */\ + NULL, /* fill_linear_color_scanline */\ + NULL, /* fill_linear_color_trapezoid */\ + NULL, /* fill_linear_color_triangle */\ + pdf14_accum_update_spot_equivalent_colors, /* update spot */\ + pdf14_accum_ret_devn_params, /* DevN params */\ + NULL, /* fill page */\ + NULL, /* push_transparency_state */\ + NULL, /* pop_transparency_state */\ + NULL, /* put_image */\ + NULL, /* dev_spec_op */\ + NULL, /* copy_planes */\ + NULL, /* */\ + NULL, /* set_graphics_type_tag */\ + NULL, /* strip_copy_rop2 */\ + NULL, /* strip_tile_rect_devn */\ + NULL /* copy_alpha_hl_color */\ +}; + +const gx_device_pdf14_accum pdf14_accum_CMYKspot = { + prn_device_stype_body(gx_device_pdf14_accum, pdf14_accum_CMYKspot_procs, "pdf14-accum-CMYKspot", + &st_gx_devn_accum_device, + 0/*width*/, 0/*height*/, 300/*xdpi*/, 300/*ydpi*/, + 0/*lm*/, 0/*bm*/, 0/*rm*/, 0/*tm*/, + 4/*ncomp*/, 32/*depth*/, 255/*max_gray*/, 255/*max_color*/, + 256/*dither_grays*/, 256/*dither_colors*/, + no_print_page), + /* DeviceN parameters */ + { 8, /* Not used - Bits per color */ + DeviceCMYKComponents, /* Names of color model colorants */ + 4, /* Number colorants for CMYK */ + 0, /* MaxSeparations has not been specified */ + -1, /* PageSpotColors has not been specified */ + { 0 }, /* SeparationNames */ + 0, /* SeparationOrder names */ + {0, 1, 2, 3, 4, 5, 6, 7 } /* Initial component SeparationOrder */ + }, + { true }, /* equivalent_cmyk_color_params */ 0/*save_p14dev*/ }; @@ -779,7 +894,7 @@ static forceinline pdf14_buf* template_transform_color_buffer(gs_gstate *pgs, pdf14_ctx *ctx, gx_device *dev, pdf14_buf *src_buf, byte *src_data, cmm_profile_t *src_profile, cmm_profile_t *des_profile, int x0, int y0, int width, int height, bool *did_alloc, - bool has_matte, bool deep) + bool has_matte, bool deep) { gsicc_rendering_param_t rendering_params; gsicc_link_t *icc_link; @@ -1185,26 +1300,36 @@ pdf14_ctx_free(pdf14_ctx *ctx) * if backdrop is fully transparent. **/ static pdf14_buf * -pdf14_find_backdrop_buf(pdf14_ctx *ctx) +pdf14_find_backdrop_buf(pdf14_ctx *ctx, bool *is_backdrop) { + /* Our new buffer is buf */ pdf14_buf *buf = ctx->stack; - while (buf != NULL) { + *is_backdrop = false; + + if (buf != NULL) { + /* If the new buffer is isolated there is no backdrop */ if (buf->isolated) return NULL; - if (buf->knockout && !buf->isolated) return buf->saved; - /* If target (NOS) is knockout and isolated then the compositing will happen - at the end */ - if (buf->saved != NULL && buf->saved->knockout && buf->saved->isolated) return NULL; - /* Target (NOS) is not isolated. Next group on stack is a knockout. - We need to compose with the backdrop when we do the pop */ - if (buf->saved != NULL && buf->saved->knockout && !buf->saved->isolated) - return NULL; - /* Not a knockout and not isolated. Initialize backdrop */ - if (!buf->knockout) return buf->saved; - buf = buf->saved; + + /* If the previous buffer is a knockout group + then we need to use its backdrop as the backdrop. If + it was isolated then that back drop was NULL */ + if (buf->saved != NULL && buf->saved->knockout) { + /* Per the spec, if we have a non-isolated group + in a knockout group the non-isolated group + uses the backdrop of its parent group (the knockout group) + as its own backdrop. The non-isolated group must + go through the standard re-composition operation + to avoid the double application of the backdrop */ + *is_backdrop = true; + return buf->saved; + } + /* This should be the non-isolated case where its parent is + not a knockout */ + if (buf->saved != NULL) { + return buf->saved; + } } - /* this really shouldn't happen, as bottom-most buf should be - non-knockout */ return NULL; } @@ -1218,8 +1343,8 @@ pdf14_push_transparency_group(pdf14_ctx *ctx, gs_int_rect *rect, bool isolated, gx_device *dev) { pdf14_buf *tos = ctx->stack; - pdf14_buf *buf, *backdrop; - bool has_shape, has_tags; + pdf14_buf *buf, * pdf14_backdrop; + bool has_shape, has_tags, is_backdrop; if_debug1m('v', ctx->memory, "[v]pdf14_push_transparency_group, idle = %d\n", idle); @@ -1232,7 +1357,14 @@ pdf14_push_transparency_group(pdf14_ctx *ctx, gs_int_rect *rect, bool isolated, /* If the group is NOT isolated we add in the alpha_g plane. This enables recompositing to be performed ala art_pdf_recomposite_group_8 so that - the backdrop is only included one time in the computation. */ + the backdrop is only included one time in the computation. + + For shape and alpha, backdrop removal is accomplished by maintaining + two sets of variables to hold the accumulated values. The group shape + and alpha, f_g and alpha_g, accumulate only the shape and alpha of the group + elements, excluding the group backdrop. + + */ /* Order of buffer data is color data, followed by alpha channel, followed by shape (if present), then alpha_g (if present), then tags (if present) */ buf = pdf14_buf_new(rect, has_tags, !isolated, has_shape, idle, numcomps + 1, @@ -1262,97 +1394,56 @@ pdf14_push_transparency_group(pdf14_ctx *ctx, gs_int_rect *rect, bool isolated, return 0; if (idle) return 0; - backdrop = pdf14_find_backdrop_buf(ctx); - if (backdrop == NULL) { + pdf14_backdrop = pdf14_find_backdrop_buf(ctx, &is_backdrop); + + /* Initializes buf->data with the backdrop or as opaque */ + if (pdf14_backdrop == NULL || (is_backdrop && pdf14_backdrop->backdrop == NULL)) { /* Note, don't clear out tags set by pdf14_buf_new == GS_UNKNOWN_TAG */ /* Memsetting by 0, so this copes with the deep case too */ memset(buf->data, 0, buf->planestride * (buf->n_chan + (buf->has_shape ? 1 : 0) + (buf->has_alpha_g ? 1 : 0))); } else { - if (!buf->knockout) { - if (!cm_back_drop) { - pdf14_preserve_backdrop(buf, tos, false + if (!cm_back_drop) { + pdf14_preserve_backdrop(buf, pdf14_backdrop, is_backdrop #if RAW_DUMP - , ctx->memory + , ctx->memory #endif - ); - } else { - /* We must have an non-isolated group with a mismatch in color spaces. - In this case, we can't just copy the buffer but must CM it */ - pdf14_preserve_backdrop_cm(buf, group_profile, tos, tos_profile, - ctx->memory, pgs, dev, false); - } + ); + } else { + /* We must have an non-isolated group with a mismatch in color spaces. + In this case, we can't just copy the buffer but must CM it */ + pdf14_preserve_backdrop_cm(buf, group_profile, pdf14_backdrop, tos_profile, + ctx->memory, pgs, dev, is_backdrop); } } - /* If knockout, we have to maintain a copy of the backdrop in case we are - drawing nonisolated groups on top of the knockout group. */ - if (buf->knockout) { - buf->backdrop = gs_alloc_bytes(ctx->memory, buf->planestride * buf->n_chan, - "pdf14_push_transparency_group"); + /* If our new group is a non-isolated knockout group, we have to maintain + a copy of the backdrop in case we are drawing nonisolated groups on top of the + knockout group. They have to always blend with the groups backdrop + not what is currently drawn in the group. Selection of the backdrop + depends upon the properties of the parent group. For example, if + the parent itself is a knockout group we actually + need to blend with its backdrop. This could be NULL if the parent was + an isolated knockout group. */ + if (buf->knockout && pdf14_backdrop != NULL) { + buf->backdrop = gs_alloc_bytes(ctx->memory, buf->planestride * buf->n_planes, + "pdf14_push_transparency_group"); if (buf->backdrop == NULL) { return gs_throw(gs_error_VMerror, "Knockout backdrop allocation failed"); } - if (buf->isolated) { - /* We will have opaque backdrop for non-isolated compositing */ - /* Memsetting by 0, so this copes with the deep case too */ - memset(buf->backdrop, 0, buf->planestride * buf->n_chan); - } else { - /* Save knockout backdrop for non-isolated compositing */ - /* Note that we need to drill down through the non-isolated groups in our - stack and make sure that we are not embedded in another knockout group */ - pdf14_buf *check = tos; - pdf14_buf *child = NULL; /* Needed so we can get profile */ - cmm_profile_t *prev_knockout_profile; - - while (check != NULL) { - if (check->isolated) - break; - if (check->knockout) { - break; - } - child = check; - check = check->saved; - } - /* Here we need to grab a back drop from a knockout parent group and - potentially worry about color differences. */ - if (check == NULL || check->page_group) { - prev_knockout_profile = tos_profile; - check = tos; - } else { - if (child == NULL) { - prev_knockout_profile = tos_profile; - } else { - prev_knockout_profile = child->parent_color_info->icc_profile; - } - } - if (!cm_back_drop) { - pdf14_preserve_backdrop(buf, check, false -#if RAW_DUMP - , ctx->memory -#endif - ); - } else { - /* We must have an non-isolated group with a mismatch in color spaces. - In this case, we can't just copy the buffer but must CM it */ - pdf14_preserve_backdrop_cm(buf, group_profile, check, - prev_knockout_profile, ctx->memory, pgs, - dev, false); - } - memcpy(buf->backdrop, buf->data, buf->planestride * buf->n_chan); - } + + memcpy(buf->backdrop, buf->data, buf->planestride * buf->n_planes); + #if RAW_DUMP /* Dump the current buffer to see what we have. */ dump_raw_buffer(ctx->memory, - ctx->stack->rect.q.y-ctx->stack->rect.p.y, - ctx->stack->rowstride>>buf->deep, buf->n_chan, - ctx->stack->planestride, ctx->stack->rowstride, - "KnockoutBackDrop", buf->backdrop, buf->deep); + ctx->stack->rect.q.y - ctx->stack->rect.p.y, + ctx->stack->rowstride >> buf->deep, buf->n_planes, + ctx->stack->planestride, ctx->stack->rowstride, + "KnockoutBackDrop", buf->backdrop, buf->deep); global_index++; #endif - } else { - buf->backdrop = NULL; } #if RAW_DUMP /* Dump the current buffer to see what we have. */ @@ -1380,7 +1471,7 @@ pdf14_pop_transparency_group(gs_gstate *pgs, pdf14_ctx *ctx, bool icc_match; pdf14_device *pdev = (pdf14_device *)dev; bool overprint = pdev->overprint; - gx_color_index drawn_comps = pdev->drawn_comps; + gx_color_index drawn_comps = pdev->drawn_comps_stroke | pdev->drawn_comps_fill; bool has_matte = false; if (nos == NULL) @@ -1696,7 +1787,8 @@ pdf14_pop_transparency_mask(pdf14_ctx *ctx, gs_gstate *pgs, gx_device *dev) catch this earlier and just avoid creating the structure to begin with. For now we need to delete the structure that was created. Only delete if the alpha value is 65535 */ - if (tos->alpha == 65535) { + if ((tos->alpha == 65535 && tos->is_ident) || + (!tos->is_ident && (tos->transfer_fn[tos->alpha>>8] == 255))) { pdf14_buf_free(tos); if (ctx->mask_stack != NULL) { pdf14_free_mask_stack(ctx, ctx->memory); @@ -2350,8 +2442,6 @@ pdf14_put_image(gx_device * dev, gs_gstate * pgs, gx_device * target) rowstride = buf->rowstride; code = gs_cspace_build_ICC(&pcs, NULL, pgs->memory); - if (pcs == NULL) - return_error(gs_error_VMerror); if (code < 0) return code; /* Need to set this to avoid color management during the image color render @@ -2422,7 +2512,7 @@ pdf14_put_image(gx_device * dev, gs_gstate * pgs, gx_device * target) gx_build_blended_image_row; #ifdef WITH_CAL blend_row = cal_get_blend_row(pdev->memory->gs_lib_ctx->core->cal_ctx, - blend_row, num_comp, deep); + blend_row, num_comp, deep); #endif if (!deep) @@ -2705,6 +2795,7 @@ gs_pdf14_device_copy_params(gx_device *dev, const gx_device *target) cmm_dev_profile_t *profile_targ; cmm_dev_profile_t *profile_dev14; pdf14_device *pdev = (pdf14_device*) dev; + int k; COPY_PARAM(width); COPY_PARAM(height); @@ -2729,17 +2820,24 @@ gs_pdf14_device_copy_params(gx_device *dev, const gx_device *target) profile_dev14 = dev->icc_struct; dev_proc((gx_device *) target, get_profile)((gx_device *) target, &(profile_targ)); - gsicc_adjust_profile_rc(profile_targ->device_profile[0], 1, "gs_pdf14_device_copy_params"); - if (profile_dev14->device_profile[0] != NULL) { - gsicc_adjust_profile_rc(profile_dev14->device_profile[0], -1, "gs_pdf14_device_copy_params"); + + for (k = 0; k < NUM_DEVICE_PROFILES; k++) { + if (profile_targ->device_profile[k] != NULL) { + gsicc_adjust_profile_rc(profile_targ->device_profile[k], 1, "gs_pdf14_device_copy_params"); + } + if (profile_dev14->device_profile[k] != NULL) { + gsicc_adjust_profile_rc(profile_dev14->device_profile[k], -1, "gs_pdf14_device_copy_params"); + } + profile_dev14->device_profile[k] = profile_targ->device_profile[k]; + profile_dev14->rendercond[k] = profile_targ->rendercond[k]; } - profile_dev14->device_profile[0] = profile_targ->device_profile[0]; + dev->icc_struct->devicegraytok = profile_targ->devicegraytok; dev->icc_struct->graydetection = profile_targ->graydetection; dev->icc_struct->pageneutralcolor = profile_targ->pageneutralcolor; dev->icc_struct->supports_devn = profile_targ->supports_devn; dev->icc_struct->usefastcolor = profile_targ->usefastcolor; - profile_dev14->rendercond[0] = profile_targ->rendercond[0]; + if (pdev->using_blend_cs) { /* Swap the device profile and the blend profile. */ gsicc_adjust_profile_rc(profile_targ->device_profile[0], 1, "gs_pdf14_device_copy_params"); @@ -2827,11 +2925,14 @@ pdf14_set_marking_params(gx_device *dev, const gs_gstate *pgs) pdev->alpha = pgs->opacity.alpha * pgs->shape.alpha; pdev->blend_mode = pgs->blend_mode; pdev->overprint = pgs->overprint; - pdev->effective_overprint_mode = pgs->effective_overprint_mode; + pdev->stroke_overprint = pgs->stroke_overprint; + pdev->fillconstantalpha = pgs->fillconstantalpha; + pdev->strokeconstantalpha = pgs->strokeconstantalpha; - if_debug5m('v', dev->memory, - "[v]set_marking_params, opacity = %g, shape = %g, bm = %d, op = %d, eop = %d\n", - pdev->opacity, pdev->shape, pgs->blend_mode, pgs->overprint, pgs->effective_overprint_mode); + if_debug6m('v', dev->memory, + "[v]set_marking_params, opacity = %g, shape = %g, bm = %d, op = %d, eop = %d seop = %d\n", + pdev->opacity, pdev->shape, pgs->blend_mode, pgs->overprint, pdev->effective_overprint_mode, + pdev->stroke_effective_op_mode); } static void @@ -2870,15 +2971,68 @@ update_lop_for_pdf14(gs_gstate *pgs, const gx_drawing_color *pdcolor) } } -static int +static int +push_shfill_group(pdf14_clist_device *pdev, + gs_gstate *pgs, + gs_fixed_rect *box) +{ + gs_transparency_group_params_t params = { 0 }; + int code; + gs_rect cb; + gs_gstate fudged_pgs = *pgs; + + /* gs_begin_transparency_group takes a bbox that it then + * transforms by ctm. Our bbox has already been transformed, + * so clear out the ctm. */ + fudged_pgs.ctm.xx = 1.0; + fudged_pgs.ctm.xy = 0; + fudged_pgs.ctm.yx = 0; + fudged_pgs.ctm.yy = 1.0; + fudged_pgs.ctm.tx = 0; + fudged_pgs.ctm.ty = 0; + cb.p.x = fixed2int_pixround(box->p.x); + cb.p.y = fixed2int_pixround(box->p.y); + cb.q.x = fixed2int_pixround(box->q.x); + cb.q.y = fixed2int_pixround(box->q.y); + + params.Isolated = false; + params.Knockout = true; + code = gs_begin_transparency_group(&fudged_pgs, ¶ms, &cb, PDF14_BEGIN_TRANS_GROUP); + + /* We have the group handle the blendmode and the opacity, + * and continue with the existing graphics state reset + * to normal, opaque operation. We could do it the other + * way around, but this way means that if we push a knockout + * group for a stroke, and then the code calls back into + * the fill operation as part of doing the stroking, we don't + * push another one. */ + gs_setblendmode(pgs, BLEND_MODE_Normal); + gs_setopacityalpha(pgs, 1.0); + if (pdev) { + code = pdf14_clist_update_params(pdev, pgs, false, NULL); + if (code < 0) + return code; + } + + return code; +} + +static int +pop_shfill_group(gs_gstate *pgs) +{ + return gs_end_transparency_group(pgs); +} + +static int pdf14_fill_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath, const gx_fill_params *params, const gx_drawing_color *pdcolor, const gx_clip_path *pcpath) { gs_gstate new_pgs = *pgs; - int code; + int code = 0; gs_pattern2_instance_t *pinst = NULL; + int push_group = 0; if (pdcolor == NULL) return_error(gs_error_unknownerror); /* color must be defined */ @@ -2928,6 +3082,7 @@ pdf14_fill_path(gx_device *dev, const gs_gstate *pgs, } } #endif + pdf14_set_marking_params(dev, &new_pgs); code = pdf14_tile_pattern_fill(dev, &new_pgs, ppath, params, pdcolor, pcpath); new_pgs.trans_device = NULL; @@ -2936,20 +3091,57 @@ pdf14_fill_path(gx_device *dev, const gs_gstate *pgs, } } if (gx_dc_is_pattern2_color(pdcolor)) { + /* Non-idempotent blends require a transparency + * group to be pushed because shadings might + * paint several pixels twice. */ + push_group = gs_currentopacityalpha(pgs) != 1.0 || + !blend_is_idempotent(gs_currentblendmode(pgs)); pinst = (gs_pattern2_instance_t *)pdcolor->ccolor.pattern; - pinst->saved->has_transparency = true; - /* The transparency color space operations are driven - by the pdf14 clist writer device. */ - pinst->saved->trans_device = dev; + pinst->saved->has_transparency = true; + /* The transparency color space operations are driven + by the pdf14 clist writer device. */ + pinst->saved->trans_device = dev; + } + if (push_group) { + gs_fixed_rect box; + if (pcpath) + gx_cpath_outer_box(pcpath, &box); + else + (*dev_proc(dev, get_clipping_box)) (dev, &box); + if (ppath) { + gs_fixed_rect path_box; + + gx_path_bbox(ppath, &path_box); + if (box.p.x < path_box.p.x) + box.p.x = path_box.p.x; + if (box.p.y < path_box.p.y) + box.p.y = path_box.p.y; + if (box.q.x > path_box.q.x) + box.q.x = path_box.q.x; + if (box.q.y > path_box.q.y) + box.q.y = path_box.q.y; + } + code = push_shfill_group(NULL, &new_pgs, &box); + } else + update_lop_for_pdf14(&new_pgs, pdcolor); + pdf14_set_marking_params(dev, &new_pgs); + if (code >= 0) { + new_pgs.trans_device = dev; + new_pgs.has_transparency = true; + /* ppath can permissibly be NULL here, if we want to have a + * shading or a pattern fill the clipping path. This upsets + * coverity, which is not smart enough to realise that the + * validity of a NULL ppath depends on the type of pdcolor. + * We'll mark it as a false positive. */ + code = gx_default_fill_path(dev, &new_pgs, ppath, params, pdcolor, pcpath); + new_pgs.trans_device = NULL; + new_pgs.has_transparency = false; + } + if (code >= 0 && push_group) { + code = pop_shfill_group(&new_pgs); + pdf14_set_marking_params(dev, pgs); } - update_lop_for_pdf14(&new_pgs, pdcolor); - pdf14_set_marking_params(dev, pgs); - new_pgs.trans_device = dev; - new_pgs.has_transparency = true; - code = gx_default_fill_path(dev, &new_pgs, ppath, params, pdcolor, pcpath); - new_pgs.trans_device = NULL; - new_pgs.has_transparency = false; if (pinst != NULL){ pinst->saved->trans_device = NULL; } @@ -2963,11 +3155,249 @@ pdf14_stroke_path(gx_device *dev, const gs_gstate *pgs, const gx_clip_path *pcpath) { gs_gstate new_pgs = *pgs; + int push_group = 0; + int code = 0; - update_lop_for_pdf14(&new_pgs, pdcolor); - pdf14_set_marking_params(dev, pgs); - return gx_default_stroke_path(dev, &new_pgs, ppath, params, pdcolor, - pcpath); + if (pdcolor == NULL) + return_error(gs_error_unknownerror); /* color must be defined */ + if (gx_dc_is_pattern2_color(pdcolor)) { + /* Non-idempotent blends require a transparency + * group to be pushed because shadings might + * paint several pixels twice. */ + push_group = gs_currentopacityalpha(pgs) != 1.0 || + !blend_is_idempotent(gs_currentblendmode(pgs)); + } + if (push_group) { + gs_fixed_rect box; + if (pcpath) + gx_cpath_outer_box(pcpath, &box); + else + (*dev_proc(dev, get_clipping_box)) (dev, &box); + + /* For fill_path, we accept ppath == NULL to mean + * fill the entire clipping region. That makes no + * sense for stroke_path, hence ppath is always non + * NULL here. */ + { + gs_fixed_rect path_box; + gs_fixed_point expansion; + + gx_path_bbox(ppath, &path_box); + /* Expand the path bounding box by the scaled line width. */ + if (gx_stroke_path_expansion(pgs, ppath, &expansion) < 0) { + /* The expansion is so large it caused a limitcheck. */ + path_box.p.x = path_box.p.y = min_fixed; + path_box.q.x = path_box.q.y = max_fixed; + } else { + expansion.x += pgs->fill_adjust.x; + expansion.y += pgs->fill_adjust.y; + /* + * It's theoretically possible for the following computations to + * overflow, so we need to check for this. + */ + path_box.p.x = (path_box.p.x < min_fixed + expansion.x ? min_fixed : + path_box.p.x - expansion.x); + path_box.p.y = (path_box.p.y < min_fixed + expansion.y ? min_fixed : + path_box.p.y - expansion.y); + path_box.q.x = (path_box.q.x > max_fixed - expansion.x ? max_fixed : + path_box.q.x + expansion.x); + path_box.q.y = (path_box.q.y > max_fixed - expansion.y ? max_fixed : + path_box.q.y + expansion.y); + } + if (box.p.x < path_box.p.x) + box.p.x = path_box.p.x; + if (box.p.y < path_box.p.y) + box.p.y = path_box.p.y; + if (box.q.x > path_box.q.x) + box.q.x = path_box.q.x; + if (box.q.y > path_box.q.y) + box.q.y = path_box.q.y; + } + code = push_shfill_group(NULL, &new_pgs, &box); + } else + update_lop_for_pdf14(&new_pgs, pdcolor); + pdf14_set_marking_params(dev, &new_pgs); + if (code >= 0) + code = gx_default_stroke_path(dev, &new_pgs, ppath, params, pdcolor, + pcpath); + if (code >= 0 && push_group) { + code = pop_shfill_group(&new_pgs); + pdf14_set_marking_params(dev, pgs); + } + + return code; +} + +static int +pdf14_fill_stroke_path(gx_device *dev, const gs_gstate *cpgs, gx_path *ppath, + const gx_fill_params *fill_params, const gx_drawing_color *pdcolor_fill, + const gx_stroke_params *stroke_params, const gx_drawing_color *pdcolor_stroke, + const gx_clip_path *pcpath) +{ + union { + const gs_gstate *cpgs; + gs_gstate *pgs; + } const_breaker; + gs_gstate *pgs; + int code, code2; + gs_transparency_group_params_t params = { 0 }; + gs_fixed_rect clip_bbox; + gs_rect bbox, group_stroke_box; + float opacity; + gs_blend_mode_t blend_mode; + gs_fixed_rect path_bbox; + int expansion_code; + gs_fixed_point expansion; + pdf14_device *p14dev = (pdf14_device *)dev; + + /* Break const just once, neatly */ + const_breaker.cpgs = cpgs; + pgs = const_breaker.pgs; + + if ((pgs->fillconstantalpha == 0.0 && pgs->strokeconstantalpha == 0.0) || + (pgs->ctm.xx == 0.0 && pgs->ctm.xy == 0.0 && pgs->ctm.yx == 0.0 && pgs->ctm.yy == 0.0)) + return 0; + + opacity = pgs->opacity.alpha; + blend_mode = pgs->blend_mode; + + code = gx_curr_fixed_bbox(pgs, &clip_bbox, NO_PATH); + if (code < 0 && code != gs_error_unknownerror) + return code; + if (code == gs_error_unknownerror) { + /* didn't get clip box from gx_curr_fixed_bbox */ + clip_bbox.p.x = clip_bbox.p.y = 0; + clip_bbox.q.x = int2fixed(dev->width); + clip_bbox.q.y = int2fixed(dev->height); + } + if (pcpath) + rect_intersect(clip_bbox, pcpath->outer_box); + + /* expand the ppath using stroke expansion rule, then intersect it */ + code = gx_path_bbox(ppath, &path_bbox); + if (code == gs_error_nocurrentpoint && ppath->segments->contents.subpath_first == 0) + return 0; /* ignore empty path */ + if (code < 0) + return code; + expansion_code = gx_stroke_path_expansion(pgs, ppath, &expansion); + if (expansion_code >= 0) { + path_bbox.p.x -= expansion.x; + path_bbox.p.y -= expansion.y; + path_bbox.q.x += expansion.x; + path_bbox.q.y += expansion.y; + } + rect_intersect(path_bbox, clip_bbox); + bbox.p.x = fixed2float(path_bbox.p.x); + bbox.p.y = fixed2float(path_bbox.p.y); + bbox.q.x = fixed2float(path_bbox.q.x); + bbox.q.y = fixed2float(path_bbox.q.y); + + code = gs_bbox_transform_inverse(&bbox, &ctm_only(pgs), &group_stroke_box); + if (code < 0) + return code; + + /* See if overprint is enabled for both stroke and fill AND if ca == CA */ + if (pgs->fillconstantalpha == pgs->strokeconstantalpha && + p14dev->overprint && p14dev->stroke_overprint && + dev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE) { + /* Push a non-isolated non-knockout group with alpha = 1.0 and + compatible overprint mode. Group will be composited with + original alpha and blend mode */ + params.Isolated = false; + params.group_color = UNKNOWN; + params.Knockout = false; + + /* non-isolated non-knockout group pushed with original alpha and blend mode */ + code = pdf14_begin_transparency_group(dev, ¶ms, + &group_stroke_box, pgs, dev->memory); + if (code < 0) + return code; + + /* Change alpha to 1.0 and blend mode to compatible overprint for actual drawing */ + (void)gs_setopacityalpha(pgs, 1.0); /* Can never fail */ + (void)gs_setblendmode(pgs, BLEND_MODE_CompatibleOverprint); /* Can never fail */ + + if (pgs->fillconstantalpha > 0) { + p14dev->op_state = PDF14_OP_STATE_FILL; + code = pdf14_fill_path(dev, pgs, ppath, fill_params, pdcolor_fill, pcpath); + if (code < 0) + goto cleanup; + } + + if (pgs->strokeconstantalpha > 0) { + gs_swapcolors_quick(pgs); /* flips stroke_color_index (to stroke) */ + p14dev->op_state = PDF14_OP_STATE_STROKE; + code = pdf14_stroke_path(dev, pgs, ppath, stroke_params, pdcolor_stroke, pcpath); + gs_swapcolors_quick(pgs); /* this flips pgs->stroke_color_index back as well */ + if (code < 0) + goto cleanup; /* bail out (with colors swapped back to fill) */ + } + + } else { + /* Push a non-isolated knockout group. Do not change the alpha or + blend modes. Note: we need to draw those that have alpha = 0 */ + params.Isolated = false; + params.group_color = UNKNOWN; + params.Knockout = true; + + /* non-isolated knockout group is pushed with alpha = 1.0 and Normal blend mode */ + (void)gs_setopacityalpha(pgs, 1.0); /* Can never fail */ + (void)gs_setblendmode(pgs, BLEND_MODE_Normal); /* Can never fail */ + + code = pdf14_begin_transparency_group(dev, ¶ms, + &group_stroke_box, pgs, dev->memory); + /* restore blend mode for actual drawing in the group */ + (void)gs_setblendmode(pgs, blend_mode); /* Can never fail */ + if (code < 0) { + /* Make sure we put everything back even if we exit with an error. */ + (void)gs_setopacityalpha(pgs, opacity); + return code; + } + + (void)gs_setopacityalpha(pgs, pgs->fillconstantalpha); /* Can never fail */ + p14dev->op_state = PDF14_OP_STATE_FILL; + + /* If we are in an overprint situation, set the blend mode to compatible + overprint */ + if (pgs->overprint && dev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE) + gs_setblendmode(pgs, BLEND_MODE_CompatibleOverprint); /* Can never fail */ + code = pdf14_fill_path(dev, pgs, ppath, fill_params, pdcolor_fill, pcpath); + if (pgs->overprint && dev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE) + gs_setblendmode(pgs, blend_mode); /* Can never fail */ + if (code < 0) + goto cleanup; + + gs_setopacityalpha(pgs, pgs->strokeconstantalpha); /* Can never fail */ + gs_swapcolors_quick(pgs); + p14dev->op_state = PDF14_OP_STATE_STROKE; + if (pgs->stroke_overprint && dev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE) + (void)gs_setblendmode(pgs, BLEND_MODE_CompatibleOverprint); /* Can never fail */ + code = pdf14_stroke_path(dev, pgs, ppath, stroke_params, pdcolor_stroke, pcpath); + /* Don't need to restore blendmode here, as it will be restored below. */ + gs_swapcolors_quick(pgs); + if (code < 0) + goto cleanup; + } + +cleanup: + /* Now during the pop do the compositing with alpha of 1.0 and normal blend */ + (void)gs_setopacityalpha(pgs, 1.0); /* Can never fail */ + (void)gs_setblendmode(pgs, BLEND_MODE_Normal); /* Can never fail */ + + /* Restore where we were. If an error occured while in the group push + return that error code but try to do the cleanup */ + code2 = pdf14_end_transparency_group(dev, pgs); + if (code2 < 0) { + /* At this point things have gone very wrong. We should just shut down */ + code = gs_abort_pdf14trans_device(pgs); + return code2; + } + + /* Restore if there were any changes */ + (void)gs_setopacityalpha(pgs, opacity); /* Can never fail */ + (void)gs_setblendmode(pgs, blend_mode); /* Can never fail */ + + return code; } static int @@ -3018,8 +3448,9 @@ do_pdf14_copy_alpha_color(gx_device * dev, const byte * data, int data_x, int shape_off = num_chan * planestride; int alpha_g_off = shape_off + (has_shape ? planestride : 0); int tag_off = alpha_g_off + (has_alpha_g ? planestride : 0); - bool overprint = pdev->overprint; - gx_color_index drawn_comps = pdev->drawn_comps; + bool overprint = pdev->op_state == PDF14_OP_STATE_FILL ? pdev->overprint : pdev->stroke_overprint; + gx_color_index drawn_comps = pdev->op_state == PDF14_OP_STATE_FILL ? + pdev->drawn_comps_fill : pdev->drawn_comps_stroke; gx_color_index comps; byte shape = 0; /* Quiet compiler. */ byte src_alpha; @@ -3206,8 +3637,9 @@ do_pdf14_copy_alpha_color_16(gx_device * dev, const byte * data, int data_x, int shape_off = num_chan * planestride; int alpha_g_off = shape_off + (has_shape ? planestride : 0); int tag_off = alpha_g_off + (has_alpha_g ? planestride : 0); - bool overprint = pdev->overprint; - gx_color_index drawn_comps = pdev->drawn_comps; + bool overprint = pdev->op_state == PDF14_OP_STATE_FILL ? pdev->overprint : pdev->stroke_overprint; + gx_color_index drawn_comps = pdev->op_state == PDF14_OP_STATE_FILL ? + pdev->drawn_comps_fill : pdev->drawn_comps_stroke; gx_color_index comps; uint16_t shape = 0; /* Quiet compiler. */ uint16_t src_alpha; @@ -3588,7 +4020,8 @@ pdf14_tile_pattern_fill(gx_device * pdev, const gs_gstate * pgs, } blend_mode = ptile->blending_mode; memcpy(&save_pdf14_dev, p14dev, sizeof(pdf14_device)); - code = pdf14_push_transparency_group(p14dev->ctx, &rect, 1, 0, 65535, 65535, + code = pdf14_push_transparency_group(p14dev->ctx, &rect, 1, 0, (uint16_t)floor(65535 * p14dev->alpha + 0.5), + (uint16_t)floor(65535 * p14dev->shape + 0.5), blend_mode, 0, 0, n_chan_tile-1, false, NULL, NULL, pgs_noconst, pdev); @@ -3908,8 +4341,15 @@ pdf14_set_params(gs_gstate * pgs, pgs->opacity.alpha = pparams->opacity.alpha; if (pparams->changed & PDF14_SET_OVERPRINT) pgs->overprint = pparams->overprint; - if (pparams->changed & PDF14_SET_OVERPRINT_MODE) - pgs->effective_overprint_mode = pparams->effective_overprint_mode; + if (pparams->changed & PDF14_SET_STROKEOVERPRINT) + pgs->stroke_overprint = pparams->stroke_overprint; + if (pparams->changed & PDF14_SET_FILLCONSTANTALPHA) + pgs->fillconstantalpha = pparams->fillconstantalpha; + if (pparams->changed & PDF14_SET_STROKECONSTANTALPHA) + pgs->strokeconstantalpha = pparams->strokeconstantalpha; + if (pparams->changed & PDF_SET_FILLSTROKE_STATE) { + gs_swapcolors_quick(pgs); + } pdf14_set_marking_params(dev, pgs); } @@ -4381,13 +4821,22 @@ gx_update_pdf14_compositor(gx_device * pdev, gs_gstate * pgs, break; case PDF14_BEGIN_TRANS_PAGE_GROUP: case PDF14_BEGIN_TRANS_GROUP: + if (p14dev->smask_constructed || p14dev->depth_within_smask) + p14dev->depth_within_smask++; + p14dev->smask_constructed = 0; code = gx_begin_transparency_group(pgs, pdev, ¶ms); break; case PDF14_END_TRANS_GROUP: code = gx_end_transparency_group(pgs, pdev); + if (p14dev->depth_within_smask) + p14dev->depth_within_smask--; break; case PDF14_BEGIN_TRANS_TEXT_GROUP: - p14dev->text_group = PDF14_TEXTGROUP_BT_NOT_PUSHED; + if (p14dev->text_group == PDF14_TEXTGROUP_BT_PUSHED) { + p14dev->text_group = PDF14_TEXTGROUP_MISSING_ET; + emprintf(p14dev->memory, "Warning: Text group pushed but no ET found\n"); + } else + p14dev->text_group = PDF14_TEXTGROUP_BT_NOT_PUSHED; break; case PDF14_END_TRANS_TEXT_GROUP: if (p14dev->text_group == PDF14_TEXTGROUP_BT_PUSHED) @@ -4396,9 +4845,18 @@ gx_update_pdf14_compositor(gx_device * pdev, gs_gstate * pgs, break; case PDF14_BEGIN_TRANS_MASK: code = gx_begin_transparency_mask(pgs, pdev, ¶ms); + if (code >= 0) + p14dev->in_smask_construction++; break; case PDF14_END_TRANS_MASK: code = gx_end_transparency_mask(pgs, pdev, ¶ms); + if (code >= 0) { + p14dev->in_smask_construction--; + if (p14dev->in_smask_construction < 0) + p14dev->in_smask_construction = 0; + if (p14dev->in_smask_construction == 0) + p14dev->smask_constructed = 1; + } break; case PDF14_SET_BLEND_PARAMS: pdf14_set_params(pgs, pdev, &pdf14pct->params); @@ -4480,12 +4938,27 @@ pdf14_create_compositor(gx_device * dev, gx_device * * pcdev, values around a fair amount. Hence the forced assignement here. See gx_spot_colors_set_overprint in gscspace for issues... */ const gs_overprint_t * op_pct = (const gs_overprint_t *) pct; - if (op_pct->params.retain_any_comps && !op_pct->params.retain_spot_comps) { - p14dev->drawn_comps = op_pct->params.drawn_comps; - } else { - /* Draw everything. If this parameter was not set, clist does - not fill it in. */ - p14dev->drawn_comps = ( (gx_color_index) 1 << (p14dev->color_info.num_components)) - (gx_color_index) 1; + gx_color_index drawn_comps; + + p14dev->op_state = op_pct->params.op_state; + + if (!p14dev->op_state) { + if (op_pct->params.retain_any_comps) { + drawn_comps = op_pct->params.drawn_comps; + } else { + /* Draw everything. If this parameter was not set, clist does + not fill it in. */ + drawn_comps = ((gx_color_index)1 << (p14dev->color_info.num_components)) - (gx_color_index)1; + } + + if (op_pct->params.is_fill_color) { + p14dev->effective_overprint_mode = op_pct->params.effective_opm; + p14dev->drawn_comps_fill = drawn_comps; + } else { + p14dev->stroke_effective_op_mode = op_pct->params.effective_opm; + p14dev->drawn_comps_stroke = drawn_comps; + } + } *pcdev = dev; return 0; @@ -4494,9 +4967,9 @@ pdf14_create_compositor(gx_device * dev, gx_device * * pcdev, } static int -pdf14_push_text_group(gx_device *dev, gs_gstate *pgs, gx_path *path, - const gx_clip_path *pcpath, gs_blend_mode_t blend_mode, float opacity, - bool is_clist) +pdf14_push_text_group(gx_device *dev, gs_gstate *pgs, + gs_blend_mode_t blend_mode, float opacity, + bool is_clist) { int code; gs_transparency_group_params_t params = { 0 }; @@ -4558,11 +5031,24 @@ pdf14_text_begin(gx_device * dev, gs_gstate * pgs, Special note: If text-knockout is set to false while we are within a BT ET pair, we should pop the group. I need to create a test file for this case. */ + + /* Catch case where we already pushed a group and are trying to push another one. + In that case, we will pop the current one first, as we don't want to be left + with it. Note that if we have a BT and no other BTs or ETs then this issue + will not be caught until we do the put_image and notice that the stack is not + empty. */ + if (pdev->text_group == PDF14_TEXTGROUP_MISSING_ET) { + code = gs_end_transparency_group(pgs); + if (code < 0) + return code; + pdev->text_group = PDF14_TEXTGROUP_BT_NOT_PUSHED; + } + if (gs_currenttextknockout(pgs) && (blend_issue || opacity != 1.0) && gs_currenttextrenderingmode(pgs) != 3 && /* don't bother with invisible text */ pdev->text_group == PDF14_TEXTGROUP_BT_NOT_PUSHED) if (draw) { - code = pdf14_push_text_group(dev, pgs, path, pcpath, blend_mode, opacity, + code = pdf14_push_text_group(dev, pgs, blend_mode, opacity, false); } *ppenum = (gs_text_enum_t *)penum; @@ -5623,7 +6109,7 @@ pdf14_begin_transparency_mask(gx_device *dev, return code; /* Note that the soft mask always follows the group color requirements even when we have a separable device */ - return pdf14_push_transparency_mask(pdev->ctx, &rect, bg_alpha, + code = pdf14_push_transparency_mask(pdev->ctx, &rect, bg_alpha, transfer_fn, ptmp->function_is_identity, ptmp->idle, ptmp->replacing, ptmp->mask_id, ptmp->subtype, @@ -5633,6 +6119,10 @@ pdf14_begin_transparency_mask(gx_device *dev, ptmp->Matte_components, ptmp->Matte, ptmp->GrayBackground); + if (code < 0) + return code; + + return 0; } static int @@ -5647,6 +6137,7 @@ pdf14_end_transparency_mask(gx_device *dev, gs_gstate *pgs) #ifdef DEBUG pdf14_debug_mask_stack_state(pdev->ctx); #endif + /* May need to reset some color stuff related * to a mismatch between the Smask color space * and the Smask blending space */ @@ -5701,6 +6192,7 @@ do_mark_fill_rectangle_ko_simple(gx_device *dev, int x, int y, int w, int h, byte *bline, *bg_ptr, *line, *dst_ptr; byte src[PDF14_MAX_PLANES]; byte dst[PDF14_MAX_PLANES] = { 0 }; + byte dst2[PDF14_MAX_PLANES] = { 0 }; int rowstride = buf->rowstride; int planestride = buf->planestride; int num_chan = buf->n_chan; @@ -5718,9 +6210,11 @@ do_mark_fill_rectangle_ko_simple(gx_device *dev, int x, int y, int w, int h, int shift = 8; byte shape = 0; /* Quiet compiler. */ byte src_alpha; - bool overprint = pdev->overprint; - gx_color_index drawn_comps = pdev->drawn_comps; + bool overprint = pdev->op_state == PDF14_OP_STATE_FILL ? pdev->overprint : pdev->stroke_overprint; + gx_color_index drawn_comps = pdev->op_state == PDF14_OP_STATE_FILL ? + pdev->drawn_comps_fill : pdev->drawn_comps_stroke; gx_color_index comps; + bool has_backdrop = buf->backdrop != NULL; if (buf->data == NULL) return 0; @@ -5786,8 +6280,12 @@ do_mark_fill_rectangle_ko_simple(gx_device *dev, int x, int y, int w, int h, if (x + w > buf->dirty.q.x) buf->dirty.q.x = x + w; if (y + h > buf->dirty.q.y) buf->dirty.q.y = y + h; - /* composite with backdrop only */ - bline = buf->backdrop + (x - buf->rect.p.x) + (y - buf->rect.p.y) * rowstride; + /* composite with backdrop only. */ + if (has_backdrop) + bline = buf->backdrop + (x - buf->rect.p.x) + (y - buf->rect.p.y) * rowstride; + else + bline = NULL; + line = buf->data + (x - buf->rect.p.x) + (y - buf->rect.p.y) * rowstride; for (j = 0; j < h; ++j) { @@ -5795,19 +6293,21 @@ do_mark_fill_rectangle_ko_simple(gx_device *dev, int x, int y, int w, int h, dst_ptr = line; for (i = 0; i < w; ++i) { /* Complement the components for subtractive color spaces */ - if (additive) { - for (k = 0; k < num_chan; ++k) - dst[k] = bg_ptr[k * planestride]; - } else { - for (k = 0; k < num_comp; ++k) - dst[k] = 255 - bg_ptr[k * planestride]; + if (has_backdrop) { + if (additive) { + for (k = 0; k < num_chan; ++k) + dst[k] = bg_ptr[k * planestride]; + } else { + for (k = 0; k < num_comp; ++k) + dst2[k] = dst[k] = 255 - bg_ptr[k * planestride]; + } + dst2[num_comp] = dst[num_comp] = bg_ptr[num_comp * planestride]; /* alpha doesn't invert */ } - dst[num_comp] = bg_ptr[num_comp * planestride]; /* alpha doesn't invert */ - if (buf->isolated) { + if (buf->isolated || !has_backdrop) { art_pdf_knockoutisolated_group_8(dst, src, num_comp); } else { art_pdf_composite_knockout_8(dst, src, num_comp, - blend_mode, pdev->blend_procs, pdev); + blend_mode, pdev->blend_procs, pdev); } /* Complement the results for subtractive color spaces */ if (additive) { @@ -5815,9 +6315,17 @@ do_mark_fill_rectangle_ko_simple(gx_device *dev, int x, int y, int w, int h, dst_ptr[k * planestride] = dst[k]; } else { if (overprint) { - for (k = 0, comps = drawn_comps; comps != 0; ++k, comps >>= 1) { + /* We may have to do the compatible overprint blending */ + if (!buf->isolated && drawn_comps != (( (size_t) 1 << (size_t) dev->color_info.num_components)-(size_t) 1)) { + art_pdf_composite_knockout_8(dst2, src, num_comp, + blend_mode, pdev->blend_procs, pdev); + } + for (k = 0, comps = drawn_comps; k < num_comp; ++k, comps >>= 1) { if ((comps & 0x1) != 0) { dst_ptr[k * planestride] = 255 - dst[k]; + } else { + /* Compatible overprint blend result. */ + dst_ptr[k * planestride] = 255 - dst2[k]; } } } else { @@ -5827,6 +6335,8 @@ do_mark_fill_rectangle_ko_simple(gx_device *dev, int x, int y, int w, int h, dst_ptr[num_comp * planestride] = dst[num_comp]; } if (tag_off) { + /* FIXME: As we are knocking out, possibly, we should be + * always overwriting tag values here? */ /* If src alpha is 100% then set to curr_tag, else or */ /* other than Normal BM, we always OR */ if (src[num_comp] == 255 && tag_blend) { @@ -5835,16 +6345,14 @@ do_mark_fill_rectangle_ko_simple(gx_device *dev, int x, int y, int w, int h, dst_ptr[tag_off] |= curr_tag; } } - if (alpha_g_off) { - int tmp = (255 - dst_ptr[alpha_g_off]) * src_alpha + 0x80; - dst_ptr[alpha_g_off] = 255 - ((tmp + (tmp >> 8)) >> 8); - } - if (shape_off) { - int tmp = (255 - dst_ptr[shape_off]) * shape + 0x80; - dst_ptr[shape_off] = 255 - ((tmp + (tmp >> 8)) >> 8); - } + /* Knockout group alpha and shape too */ + if (alpha_g_off) + dst_ptr[alpha_g_off] = 255 - src_alpha; + if (shape_off) + dst_ptr[shape_off] = 255 - shape; ++dst_ptr; - ++bg_ptr; + if (has_backdrop) + ++bg_ptr; } bline += rowstride; line += rowstride; @@ -5879,6 +6387,7 @@ do_mark_fill_rectangle_ko_simple16(gx_device *dev, int x, int y, int w, int h, uint16_t *bline, *bg_ptr, *line, *dst_ptr; uint16_t src[PDF14_MAX_PLANES]; uint16_t dst[PDF14_MAX_PLANES] = { 0 }; + uint16_t dst2[PDF14_MAX_PLANES] = { 0 }; int rowstride = buf->rowstride; int planestride = buf->planestride; int num_chan = buf->n_chan; @@ -5894,9 +6403,11 @@ do_mark_fill_rectangle_ko_simple16(gx_device *dev, int x, int y, int w, int h, gs_graphics_type_tag_t curr_tag = GS_UNKNOWN_TAG; /* Quiet compiler */ uint16_t shape = 0; /* Quiet compiler. */ uint16_t src_alpha; - bool overprint = pdev->overprint; - gx_color_index drawn_comps = pdev->drawn_comps; + bool overprint = pdev->op_state == PDF14_OP_STATE_FILL ? pdev->overprint : pdev->stroke_overprint; + gx_color_index drawn_comps = pdev->op_state == PDF14_OP_STATE_FILL ? + pdev->drawn_comps_fill : pdev->drawn_comps_stroke; gx_color_index comps; + bool has_backdrop = buf->backdrop != NULL; if (buf->data == NULL) return 0; @@ -5962,8 +6473,13 @@ do_mark_fill_rectangle_ko_simple16(gx_device *dev, int x, int y, int w, int h, if (x + w > buf->dirty.q.x) buf->dirty.q.x = x + w; if (y + h > buf->dirty.q.y) buf->dirty.q.y = y + h; - /* composite with backdrop only */ - bline = (uint16_t *)(void *)(buf->backdrop + (x - buf->rect.p.x)*2 + (y - buf->rect.p.y) * rowstride); + + /* composite with backdrop only. */ + if (has_backdrop) + bline = (uint16_t*)(void*)(buf->backdrop + (x - buf->rect.p.x) * 2 + (y - buf->rect.p.y) * rowstride); + else + bline = NULL; + line = (uint16_t *)(void *)(buf->data + (x - buf->rect.p.x)*2 + (y - buf->rect.p.y) * rowstride); planestride >>= 1; rowstride >>= 1; @@ -5976,15 +6492,17 @@ do_mark_fill_rectangle_ko_simple16(gx_device *dev, int x, int y, int w, int h, dst_ptr = line; for (i = 0; i < w; ++i) { /* Complement the components for subtractive color spaces */ - if (additive) { - for (k = 0; k < num_chan; ++k) - dst[k] = bg_ptr[k * planestride]; - } else { - for (k = 0; k < num_comp; ++k) - dst[k] = 65535 - bg_ptr[k * planestride]; + if (has_backdrop) { + if (additive) { + for (k = 0; k < num_chan; ++k) + dst[k] = bg_ptr[k * planestride]; + } else { + for (k = 0; k < num_comp; ++k) + dst2[k] = dst[k] = 65535 - bg_ptr[k * planestride]; + } + dst2[num_comp] = dst[num_comp] = bg_ptr[num_comp * planestride]; /* alpha doesn't invert */ } - dst[num_comp] = bg_ptr[num_comp * planestride]; /* alpha doesn't invert */ - if (buf->isolated) { + if (buf->isolated || !has_backdrop) { art_pdf_knockoutisolated_group_16(dst, src, num_comp); } else { art_pdf_composite_knockout_16(dst, src, num_comp, @@ -5996,9 +6514,17 @@ do_mark_fill_rectangle_ko_simple16(gx_device *dev, int x, int y, int w, int h, dst_ptr[k * planestride] = dst[k]; } else { if (overprint) { - for (k = 0, comps = drawn_comps; comps != 0; ++k, comps >>= 1) { + /* We may have to do the compatible overprint blending */ + if (!buf->isolated && drawn_comps != (((size_t)1 << (size_t)dev->color_info.num_components) - (size_t)1)) { + art_pdf_composite_knockout_16(dst2, src, num_comp, + blend_mode, pdev->blend_procs, pdev); + } + for (k = 0, comps = drawn_comps; k < num_comp; ++k, comps >>= 1) { if ((comps & 0x1) != 0) { dst_ptr[k * planestride] = 65535 - dst[k]; + } else { + /* Compatible overprint blend result. */ + dst_ptr[k * planestride] = 65535 - dst2[k]; } } } else { @@ -6008,6 +6534,8 @@ do_mark_fill_rectangle_ko_simple16(gx_device *dev, int x, int y, int w, int h, dst_ptr[num_comp * planestride] = dst[num_comp]; } if (tag_off) { + /* FIXME: As we are knocking out, possibly, we should be + * always overwriting tag values here? */ /* If src alpha is 100% then set to curr_tag, else or */ /* other than Normal BM, we always OR */ if (src[num_comp] == 65535 && tag_blend) { @@ -6016,16 +6544,14 @@ do_mark_fill_rectangle_ko_simple16(gx_device *dev, int x, int y, int w, int h, dst_ptr[tag_off] |= curr_tag; } } - if (alpha_g_off) { - int tmp = (65535 - dst_ptr[alpha_g_off]) * src_alpha + 0x8000; - dst_ptr[alpha_g_off] = 65535 - ((tmp + (tmp >> 16)) >> 16); - } - if (shape_off) { - int tmp = (65535 - dst_ptr[shape_off]) * shape + 0x8000; - dst_ptr[shape_off] = 65535 - ((tmp + (tmp >> 16)) >> 16); - } + /* Knockout group alpha and shape too */ + if (alpha_g_off) + dst_ptr[alpha_g_off] = 65535 - src_alpha; + if (shape_off) + dst_ptr[shape_off] = 65535 - shape; ++dst_ptr; - ++bg_ptr; + if (has_backdrop) + ++bg_ptr; } bline += rowstride; line += rowstride; @@ -6484,6 +7010,15 @@ pdf14_dev_spec_op(gx_device *pdev, int dev_spec_op, return 0; if(dev_spec_op == gxdso_JPEG_passthrough_query) return 0; + if (dev_spec_op == gxdso_overprint_active) { + if (p14dev->pclist_device != NULL) { + return dev_proc(p14dev->pclist_device, dev_spec_op)(p14dev->pclist_device, dev_spec_op, data, size); + } else { + return p14dev->overprint || p14dev->stroke_overprint; + } + } + if (dev_spec_op == gxdso_in_smask) + return p14dev->in_smask_construction > 0 || p14dev->depth_within_smask; return dev_proc(p14dev->target, dev_spec_op)(p14dev->target, dev_spec_op, data, size); } @@ -6620,6 +7155,8 @@ gs_pdf14_device_push(gs_memory_t *mem, gs_gstate * pgs, p14dev->width = 1; p14dev->height = 1; } + + p14dev->op_state = pgs->is_fill_color; code = dev_proc((gx_device *) p14dev, open_device) ((gx_device *) p14dev); *pdev = (gx_device *) p14dev; pdf14_set_marking_params((gx_device *)p14dev, pgs); @@ -6644,11 +7181,12 @@ gs_pdf14_device_push(gs_memory_t *mem, gs_gstate * pgs, gx_device *new_target = NULL; gx_device_color pdcolor; frac pconc_white = frac_1; + bool UsePlanarBuffer = false; if_debug0m('v', mem, "[v]gs_pdf14_device_push: Inserting clist device.\n"); /* get the prototype for the accumulator device based on colorspace */ - switch (target->color_info.num_components) { + switch (target->color_info.max_components) { /* use max_components in case is devn device */ case 1: accum_proto = &pdf14_accum_Gray; break; @@ -6659,8 +7197,8 @@ gs_pdf14_device_push(gs_memory_t *mem, gs_gstate * pgs, accum_proto = &pdf14_accum_CMYK; break; default: - /* FIXME: DeviceN ?? */ - break; /* accum_proto will be NULL, so no accum device */ + accum_proto = &pdf14_accum_CMYKspot; + UsePlanarBuffer = true; } if (accum_proto == NULL || (code = gs_copydevice(&new_target, (gx_device *)accum_proto, mem->stable_memory)) < 0) @@ -6668,8 +7206,9 @@ gs_pdf14_device_push(gs_memory_t *mem, gs_gstate * pgs, ((gx_device_pdf14_accum *)new_target)->save_p14dev = (gx_device *)p14dev; /* non-clist p14dev */ /* Fill in values from the target device before opening */ + new_target->color_info = p14dev->color_info; + ((gx_device_pdf14_accum *)new_target)->devn_params = p14dev->devn_params; new_target->color_info.separable_and_linear = GX_CINFO_SEP_LIN; - new_target->color_info.anti_alias = p14dev->color_info.anti_alias; set_linear_color_bits_mask_shift(new_target); gs_pdf14_device_copy_params(new_target, target); ((gx_device_pdf14_accum *)new_target)->page_uses_transparency = true; @@ -6677,18 +7216,19 @@ gs_pdf14_device_push(gs_memory_t *mem, gs_gstate * pgs, memcpy(&(new_target->space_params), &(target->space_params), sizeof(gdev_space_params)); max_bitmap = max(target->space_params.MaxBitmap, target->space_params.BufferSpace); - new_target->space_params.BufferSpace = max_bitmap; + ((gx_device_pdf14_accum *)new_target)->space_params.BufferSpace = max_bitmap; new_target->PageHandlerPushed = true; new_target->ObjectHandlerPushed = true; - if ((code = gdev_prn_open(new_target)) < 0 || + /* UsePlanarBuffer is true in case this is CMYKspot */ + if ((code = gdev_prn_open_planar(new_target, UsePlanarBuffer)) < 0 || !PRINTER_IS_CLIST((gx_device_printer *)new_target)) { gs_free_object(mem->stable_memory, new_target, "pdf14-accum"); goto no_clist_accum; } /* Do the initial fillpage into the pdf14-accum device we just created */ - dev_proc(new_target, set_graphics_type_tag)(new_target, GS_UNTOUCHED_TAG); + dev_proc(new_target, set_graphics_type_tag)((gx_device *)new_target, GS_UNTOUCHED_TAG); if ((code = gx_remap_concrete_DGray(gs_currentcolorspace_inline((gs_gstate *)pgs), &pconc_white, &pdcolor, pgs, new_target, gs_color_select_all, @@ -6947,7 +7487,8 @@ c_pdf14trans_write(const gs_composite_t * pct, byte * data, uint * psize, pdf14_needed = false; /* At page level, set back to false */ if (smask_level == 0 && trans_group_level == 0) cdev->page_pdf14_needed = pdf14_needed; /* save for after popping to page level */ - *pbuf++ = pparams->changed; + /* Changed is now two bytes due to overprint stroke fill. Write as int */ + put_value(pbuf, pparams->changed); if (pparams->changed & PDF14_SET_BLEND_MODE) *pbuf++ = pparams->blend_mode; if (pparams->changed & PDF14_SET_TEXT_KNOCKOUT) @@ -6958,8 +7499,14 @@ c_pdf14trans_write(const gs_composite_t * pct, byte * data, uint * psize, put_value(pbuf, pparams->shape.alpha); if (pparams->changed & PDF14_SET_OVERPRINT) put_value(pbuf, pparams->overprint); - if (pparams->changed & PDF14_SET_OVERPRINT_MODE) - put_value(pbuf, pparams->effective_overprint_mode); + if (pparams->changed & PDF14_SET_STROKEOVERPRINT) + put_value(pbuf, pparams->stroke_overprint); + if (pparams->changed & PDF14_SET_FILLCONSTANTALPHA) + put_value(pbuf, pparams->fillconstantalpha); + if (pparams->changed & PDF14_SET_STROKECONSTANTALPHA) + put_value(pbuf, pparams->strokeconstantalpha); + if (pparams->changed & PDF_SET_FILLSTROKE_STATE) + put_value(pbuf, pparams->op_fs_state); break; case PDF14_PUSH_TRANS_STATE: break; @@ -7144,7 +7691,7 @@ c_pdf14trans_read(gs_composite_t * * ppct, const byte * data, return 0; break; case PDF14_SET_BLEND_PARAMS: - params.changed = *data++; + read_value(data, params.changed); if (params.changed & PDF14_SET_BLEND_MODE) params.blend_mode = *data++; if (params.changed & PDF14_SET_TEXT_KNOCKOUT) @@ -7155,8 +7702,14 @@ c_pdf14trans_read(gs_composite_t * * ppct, const byte * data, read_value(data, params.shape.alpha); if (params.changed & PDF14_SET_OVERPRINT) read_value(data, params.overprint); - if (params.changed & PDF14_SET_OVERPRINT_MODE) - read_value(data, params.effective_overprint_mode); + if (params.changed & PDF14_SET_STROKEOVERPRINT) + read_value(data, params.stroke_overprint); + if (params.changed & PDF14_SET_FILLCONSTANTALPHA) + read_value(data, params.fillconstantalpha); + if (params.changed & PDF14_SET_STROKECONSTANTALPHA) + read_value(data, params.strokeconstantalpha); + if (params.changed & PDF_SET_FILLSTROKE_STATE) + read_value(data, params.op_fs_state); break; } code = gs_create_pdf14trans(ppct, ¶ms, mem); @@ -7243,7 +7796,7 @@ find_opening_op(int opening_op, gs_composite_t **ppcte, if (op != PDF14_SET_BLEND_PARAMS) { if (opening_op == PDF14_BEGIN_TRANS_MASK) return COMP_ENQUEUE; - if (opening_op == PDF14_BEGIN_TRANS_GROUP || opening_op == PDF14_BEGIN_TRANS_PAGE_GROUP || opening_op == PDF14_BEGIN_TRANS_PAGE_GROUP) { + if (opening_op == PDF14_BEGIN_TRANS_GROUP || opening_op == PDF14_BEGIN_TRANS_PAGE_GROUP) { if (op != PDF14_BEGIN_TRANS_MASK && op != PDF14_END_TRANS_MASK) return COMP_ENQUEUE; } @@ -7580,13 +8133,17 @@ send_pdf14trans(gs_gstate * pgs, gx_device * dev, gx_forward_set_graphics_type_tag, /* set_graphics_type_tag */\ NULL, /* strip_copy_rop2 */\ NULL, /* strip_tile_rect_devn */\ - gx_forward_copy_alpha_hl_color\ + gx_forward_copy_alpha_hl_color,\ + NULL, /* process_page */\ + NULL, /* transform_pixel_region */\ + pdf14_clist_fill_stroke_path,\ } static dev_proc_create_compositor(pdf14_clist_create_compositor); static dev_proc_create_compositor(pdf14_clist_forward_create_compositor); static dev_proc_fill_path(pdf14_clist_fill_path); static dev_proc_stroke_path(pdf14_clist_stroke_path); +static dev_proc_fill_stroke_path(pdf14_clist_fill_stroke_path); static dev_proc_text_begin(pdf14_clist_text_begin); static dev_proc_begin_image(pdf14_clist_begin_image); static dev_proc_begin_typed_image(pdf14_clist_begin_typed_image); @@ -7870,6 +8427,7 @@ pdf14_create_clist_device(gs_memory_t *mem, gs_gstate * pgs, pdev->pad = target->pad; pdev->log2_align_mod = target->log2_align_mod; pdev->is_planar = target->is_planar; + pdev->op_state = pgs->is_fill_color; if (deep) { set_dev_proc(pdev, encode_color, pdf14_encode_color16); @@ -7991,6 +8549,96 @@ pdf14_ret_devn_params(gx_device *pdev) } /* + * devicen params + */ +gs_devn_params * +pdf14_accum_ret_devn_params(gx_device *pdev) +{ + gx_device_pdf14_accum *p14dev = (gx_device_pdf14_accum *)pdev; + + return(&(p14dev->devn_params)); +} + +static int +pdf14_accum_get_color_comp_index(gx_device * dev, + const char * pname, int name_size, int component_type) +{ + pdf14_device *p14dev = (pdf14_device *)(((gx_device_pdf14_accum *)dev)->save_p14dev); + gx_device *target = p14dev->target; + int colorant_number = devn_get_color_comp_index(dev, + &(((gx_device_pdf14_accum *)dev)->devn_params), + &(((gx_device_pdf14_accum *)dev)->equiv_cmyk_colors), + pname, name_size, component_type, ENABLE_AUTO_SPOT_COLORS); + + if (target != NULL) + /* colorant_number returned here _should_ be the same as from above */ + colorant_number = (*dev_proc(target, get_color_comp_index)) + (target, (const char *)pname, name_size, component_type); + return colorant_number; +} + +/* + * The following procedures are used to map the standard color spaces into + * the separation color components for the pdf14_accum device. + */ +static void +pdf14_accum_gray_cs_to_cmyk_cm(gx_device * dev, frac gray, frac out[]) +{ + int * map = + (int *)(&((gx_device_pdf14_accum *) dev)->devn_params.separation_order_map); + + gray_cs_to_devn_cm(dev, map, gray, out); +} + +static void +pdf14_accum_rgb_cs_to_cmyk_cm(gx_device * dev, + const gs_gstate *pgs, frac r, frac g, frac b, frac out[]) +{ + int * map = + (int *)(&((gx_device_pdf14_accum *) dev)->devn_params.separation_order_map); + + rgb_cs_to_devn_cm(dev, map, pgs, r, g, b, out); +} + +static void +pdf14_accum_cmyk_cs_to_cmyk_cm(gx_device * dev, + frac c, frac m, frac y, frac k, frac out[]) +{ + const int * map = + (int *)(&((gx_device_pdf14_accum *) dev)->devn_params.separation_order_map); + + cmyk_cs_to_devn_cm(dev, map, c, m, y, k, out); +} + +static const gx_cm_color_map_procs pdf14_accum_cm_procs = { + pdf14_accum_gray_cs_to_cmyk_cm, + pdf14_accum_rgb_cs_to_cmyk_cm, + pdf14_accum_cmyk_cs_to_cmyk_cm +}; + +static const gx_cm_color_map_procs * +pdf14_accum_get_color_mapping_procs(const gx_device * dev) +{ + return &pdf14_accum_cm_procs; +} + +/* + * Device proc for updating the equivalent CMYK color for spot colors. + */ +static int +pdf14_accum_update_spot_equivalent_colors(gx_device * dev, const gs_gstate * pgs) +{ + gx_device_pdf14_accum *pdev = (gx_device_pdf14_accum *)dev; + gx_device *tdev = ((pdf14_device *)(pdev->save_p14dev))->target; + int code = update_spot_equivalent_cmyk_colors(dev, pgs, &pdev->devn_params, + &pdev->equiv_cmyk_colors); + + if (code >= 0 && tdev != NULL) + code = dev_proc(tdev, update_spot_equivalent_colors)(tdev, pgs); + return code; +} + +/* * Retrieve a list of spot color names for the PDF14 device. */ int @@ -8144,6 +8792,9 @@ pdf14_clist_create_compositor(gx_device * dev, gx_device ** pcdev, break; case PDF14_BEGIN_TRANS_PAGE_GROUP: case PDF14_BEGIN_TRANS_GROUP: + if (pdev->smask_constructed || pdev->depth_within_smask) + pdev->depth_within_smask++; + pdev->smask_constructed = 0; /* * Keep track of any changes made in the blending parameters. These need to be written out in the same bands as the group @@ -8207,9 +8858,14 @@ pdf14_clist_create_compositor(gx_device * dev, gx_device ** pcdev, than transparent. We must use the parent colors bounding box in determining the range of bands in which this mask can affect. So, if needed change the masks bounding box at this time */ + pdev->in_smask_construction++; break; case PDF14_BEGIN_TRANS_TEXT_GROUP: - pdev->text_group = PDF14_TEXTGROUP_BT_NOT_PUSHED; + if (pdev->text_group == PDF14_TEXTGROUP_BT_PUSHED) { + emprintf(pdev->memory, "Warning: Text group pushed but no ET found\n"); + pdev->text_group = PDF14_TEXTGROUP_MISSING_ET; + } else + pdev->text_group = PDF14_TEXTGROUP_BT_NOT_PUSHED; *pcdev = dev; return 0; /* Never put into clist. Only used during writing */ case PDF14_END_TRANS_TEXT_GROUP: @@ -8222,11 +8878,19 @@ pdf14_clist_create_compositor(gx_device * dev, gx_device ** pcdev, if (code < 0) return code; break; - case PDF14_END_TRANS_GROUP: case PDF14_END_TRANS_MASK: + pdev->in_smask_construction--; + if (pdev->in_smask_construction < 0) + pdev->in_smask_construction = 0; + if (pdev->in_smask_construction == 0) + pdev->smask_constructed = 1; + /* fallthrough */ + case PDF14_END_TRANS_GROUP: /* We need to update the clist writer device procs based upon the the group color space. */ code = pdf14_update_device_color_procs_pop_c(dev,pgs); + if (pdev->depth_within_smask) + pdev->depth_within_smask--; if (code < 0) return code; break; @@ -8262,45 +8926,85 @@ pdf14_clist_create_compositor(gx_device * dev, gx_device ** pcdev, /* If we were accumulating into a pdf14-clist-accum device, */ /* we now have to render the page into it's target device */ if (is_pdf14_compositor && pdf14pct->params.pdf14_op == PDF14_POP_DEVICE && - pdev->target->stype == &st_pdf14_accum) { + pdev->target->stype == &st_gx_devn_accum_device) { - int y, rows_used; - byte *linebuf = gs_alloc_bytes(mem, gx_device_raster((gx_device *)pdev, true), "pdf14-clist_accum pop dev"); + int i, y, rows_used; + byte *linebuf; byte *actual_data; - gx_device *tdev = pdev->target; /* the printer class clist device used to accumulate */ + gx_device_pdf14_accum *tdev = (gx_device_pdf14_accum *)(pdev->target); /* the printer class clist device used to accumulate */ /* get the target device we want to send the image to */ - gx_device *target = ((pdf14_device *)((gx_device_pdf14_accum *)(tdev))->save_p14dev)->target; + gx_device *target = ((pdf14_device *)(tdev->save_p14dev))->target; gs_image1_t image; gs_color_space *pcs; gx_image_enum_common_t *info; gx_image_plane_t planes; gsicc_rendering_param_t render_cond; cmm_dev_profile_t *dev_profile; + bool save_planar = pdev->is_planar; + gs_devn_params *target_devn_params = dev_proc(target, ret_devn_params)(target); + int save_num_separations; - /* - * Set color space in preparation for sending an image. + pdev->is_planar = false; /* so gx_device_raster is for entire chunky pixel line */ + linebuf = gs_alloc_bytes(mem, gx_device_raster((gx_device *)pdev, true), "pdf14-clist_accum pop dev"); + pdev->is_planar = save_planar; + + /* As long as we don't have spot colors, we can use ICC colorspace, but spot + * colors do require devn support */ - code = gs_cspace_build_ICC(&pcs, NULL, pgs->memory); - if (linebuf == NULL || pcs == NULL) - goto put_accum_error; + if (tdev->color_info.num_components <= 4 || + dev_proc(target, dev_spec_op)(target, gxdso_supports_devn, NULL, 0) <= 0) { + /* + * Set color space in preparation for sending an image. + */ + code = gs_cspace_build_ICC(&pcs, NULL, pgs->memory); + if (code < 0) + goto put_accum_error; - /* Need to set this to avoid color management during the - image color render operation. Exception is for the special case - when the destination was CIELAB. Then we need to convert from - default RGB to CIELAB in the put image operation. That will happen - here as we should have set the profile for the pdf14 device to RGB - and the target will be CIELAB */ - code = dev_proc(dev, get_profile)(dev, &dev_profile); - if (code < 0) { - rc_decrement_only_cs(pcs, "pdf14_put_image"); - return code; - } - gsicc_extract_profile(GS_UNKNOWN_TAG, dev_profile, - &(pcs->cmm_icc_profile_data), &render_cond); - /* pcs takes a reference to the profile data it just retrieved. */ - gsicc_adjust_profile_rc(pcs->cmm_icc_profile_data, 1, "pdf14_clist_create_compositor"); - gsicc_set_icc_range(&(pcs->cmm_icc_profile_data)); + /* Need to set this to avoid color management during the + image color render operation. Exception is for the special case + when the destination was CIELAB. Then we need to convert from + default RGB to CIELAB in the put image operation. That will happen + here as we should have set the profile for the pdf14 device to RGB + and the target will be CIELAB */ + code = dev_proc(dev, get_profile)(dev, &dev_profile); + if (code < 0) + goto put_accum_error; + gsicc_extract_profile(GS_UNKNOWN_TAG, dev_profile, + &(pcs->cmm_icc_profile_data), &render_cond); + /* pcs takes a reference to the profile data it just retrieved. */ + gsicc_adjust_profile_rc(pcs->cmm_icc_profile_data, 1, "pdf14_clist_create_compositor"); + gsicc_set_icc_range(&(pcs->cmm_icc_profile_data)); + } else { + /* DeviceN case -- need to handle spot colors */ + code = gs_cspace_new_DeviceN(&pcs, tdev->color_info.num_components, + gs_currentcolorspace(pgs), pgs->memory); + if (code < 0) + goto put_accum_error; + /* set up a usable DeviceN space with info from the tdev->devn_params */ + pcs->params.device_n.use_alt_cspace = false; + if ((code = pcs->type->install_cspace(pcs, pgs)) < 0) { + goto put_accum_error; + } + /* One last thing -- we need to fudge the pgs->color_component_map */ + for (i=0; i < tdev->color_info.num_components; i++) + pgs->color_component_map.color_map[i] = i; /* enable all components in normal order */ + /* copy devn_params that were accumulated into the target device's devn_params */ + target_devn_params->bitspercomponent = tdev->devn_params.bitspercomponent; + target_devn_params->std_colorant_names = tdev->devn_params.std_colorant_names; + target_devn_params->num_std_colorant_names = tdev->devn_params.num_std_colorant_names; + target_devn_params->max_separations = tdev->devn_params.max_separations; + target_devn_params->page_spot_colors = tdev->devn_params.page_spot_colors; + target_devn_params->num_separation_order_names = tdev->devn_params.num_separation_order_names; + target_devn_params->separations = tdev->devn_params.separations; + memcpy(target_devn_params->separation_order_map, tdev->devn_params.separation_order_map, + sizeof(gs_separation_map)); + target_devn_params->pdf14_separations = tdev->devn_params.pdf14_separations; + } + if (linebuf == NULL) { + code = gs_error_VMerror; + goto put_accum_error; + } gs_image_t_init_adjust(&image, pcs, false); image.ImageMatrix.xx = (float)pdev->width; image.ImageMatrix.yy = (float)pdev->height; @@ -8321,30 +9025,39 @@ pdf14_clist_create_compositor(gx_device * dev, gx_device ** pcdev, if (code < 0) goto put_accum_error; for (y=0; y < tdev->height; y++) { - code = dev_proc(tdev, get_bits)(tdev, y, linebuf, &actual_data); + code = dev_proc(tdev, get_bits)((gx_device *)tdev, y, linebuf, &actual_data); + if (code < 0) + goto put_accum_error; planes.data = actual_data; planes.data_x = 0; planes.raster = tdev->width * tdev->color_info.num_components; if ((code = info->procs->plane_data(info, &planes, 1, &rows_used)) < 0) goto put_accum_error; } - info->procs->end_image(info, true); + code = info->procs->end_image(info, true); put_accum_error: gs_free_object(pdev->memory, linebuf, "pdf14_put_image"); /* This will also decrement the device profile */ rc_decrement_only_cs(pcs, "pdf14_put_image"); - dev_proc(tdev, close_device)(tdev); /* frees the prn_device memory */ + dev_proc(tdev, close_device)((gx_device *)tdev); /* frees the prn_device memory */ /* Now unhook the clist device and hook to the original so we can clean up */ gx_device_set_target((gx_device_forward *)pdev, ((gx_device_pdf14_accum *)(pdev->target))->save_p14dev); - pdev->pclist_device = pdev->target; /* FIXME: is this kosher ? */ + pdev->pclist_device = pdev->target; *pcdev = pdev->target; /* pass upwards to switch devices */ pdev->color_info = target->color_info; /* same as in pdf14_disable_clist */ + if (target_devn_params != NULL) { + /* prevent devn_free_params from freeing names still in use by target device */ + save_num_separations = tdev->devn_params.separations.num_separations; + tdev->devn_params.separations.num_separations = 0; + } gs_free_object(tdev->memory, tdev, "popdevice pdf14-accum"); - return 0; /* DON'T perform set_target */ + if (target_devn_params != NULL) { + target_devn_params->separations.num_separations = save_num_separations; + } + return code; /* DON'T perform set_target */ } - if (*pcdev != pdev->target) gx_device_set_target((gx_device_forward *)pdev, *pcdev); *pcdev = dev; @@ -8422,9 +9135,21 @@ pdf14_clist_update_params(pdf14_clist_device * pdev, const gs_gstate * pgs, changed |= PDF14_SET_OVERPRINT; params.overprint = pdev->overprint = pgs->overprint; } - if (pgs->effective_overprint_mode != pdev->effective_overprint_mode) { - changed |= PDF14_SET_OVERPRINT_MODE; - params.effective_overprint_mode = pdev->effective_overprint_mode = pgs->effective_overprint_mode; + if (pgs->stroke_overprint != pdev->stroke_overprint) { + changed |= PDF14_SET_STROKEOVERPRINT; + params.stroke_overprint = pdev->stroke_overprint = pgs->stroke_overprint; + } + if (pgs->fillconstantalpha != pdev->fillconstantalpha) { + changed |= PDF14_SET_FILLCONSTANTALPHA; + params.fillconstantalpha = pdev->fillconstantalpha = pgs->fillconstantalpha; + } + if (pgs->strokeconstantalpha != pdev->strokeconstantalpha) { + changed |= PDF14_SET_STROKECONSTANTALPHA; + params.strokeconstantalpha = pdev->strokeconstantalpha = pgs->strokeconstantalpha; + } + if (pgs->is_fill_color != pdev->op_state) { + changed |= PDF_SET_FILLSTROKE_STATE; + params.op_fs_state = pdev->op_state = pgs->is_fill_color; } if (crop_blend_params) { params.ctm = group_params->ctm; @@ -8464,6 +9189,7 @@ pdf14_clist_fill_path(gx_device *dev, const gs_gstate *pgs, cmm_dev_profile_t *dev_profile, *fwd_profile; gsicc_rendering_param_t render_cond; cmm_profile_t *icc_profile_fwd, *icc_profile_dev; + int push_group = 0; code = dev_proc(dev, get_profile)(dev, &dev_profile); if (code < 0) @@ -8495,6 +9221,11 @@ pdf14_clist_fill_path(gx_device *dev, const gs_gstate *pgs, mapping to the transparency group color space. */ if (pdcolor != NULL && gx_dc_is_pattern2_color(pdcolor)) { + /* Non-idempotent blends require a transparency + * group to be pushed because shadings might + * paint several pixels twice. */ + push_group = gs_currentopacityalpha(pgs) != 1.0 || + !blend_is_idempotent(gs_currentblendmode(pgs)); pinst = (gs_pattern2_instance_t *)pdcolor->ccolor.pattern; pinst->saved->has_transparency = true; @@ -8502,12 +9233,40 @@ pdf14_clist_fill_path(gx_device *dev, const gs_gstate *pgs, clist writer device. */ pinst->saved->trans_device = dev; } - update_lop_for_pdf14(&new_pgs, pdcolor); - new_pgs.trans_device = dev; - new_pgs.has_transparency = true; - code = gx_forward_fill_path(dev, &new_pgs, ppath, params, pdcolor, pcpath); - new_pgs.trans_device = NULL; - new_pgs.has_transparency = false; + if (push_group) { + gs_fixed_rect box; + if (pcpath) + gx_cpath_outer_box(pcpath, &box); + else + (*dev_proc(dev, get_clipping_box)) (dev, &box); + if (ppath) { + gs_fixed_rect path_box; + + gx_path_bbox(ppath, &path_box); + if (box.p.x < path_box.p.x) + box.p.x = path_box.p.x; + if (box.p.y < path_box.p.y) + box.p.y = path_box.p.y; + if (box.q.x > path_box.q.x) + box.q.x = path_box.q.x; + if (box.q.y > path_box.q.y) + box.q.y = path_box.q.y; + } + code = push_shfill_group(pdev, &new_pgs, &box); + } else + update_lop_for_pdf14(&new_pgs, pdcolor); + if (code >= 0) { + new_pgs.trans_device = dev; + new_pgs.has_transparency = true; + code = gx_forward_fill_path(dev, &new_pgs, ppath, params, pdcolor, pcpath); + new_pgs.trans_device = NULL; + new_pgs.has_transparency = false; + } + if (code >= 0 && push_group) { + code = pop_shfill_group(&new_pgs); + if (code >= 0) + code = pdf14_clist_update_params(pdev, pgs, false, NULL); + } if (pinst != NULL){ pinst->saved->trans_device = NULL; } @@ -8526,8 +9285,9 @@ pdf14_clist_stroke_path(gx_device *dev, const gs_gstate *pgs, { pdf14_clist_device * pdev = (pdf14_clist_device *)dev; gs_gstate new_pgs = *pgs; - int code; + int code = 0; gs_pattern2_instance_t *pinst = NULL; + int push_group = 0; /* * Ensure that that the PDF 1.4 reading compositor will have the current @@ -8542,25 +9302,294 @@ pdf14_clist_stroke_path(gx_device *dev, const gs_gstate *pgs, different color space, then we need to get the proper device information passed along so that we use the correct color procs and colorinfo about the transparency device and not the final target device */ - if (pdcolor != NULL && gx_dc_is_pattern2_color(pdcolor) && - pdev->trans_group_parent_cmap_procs != NULL) { - pinst = - (gs_pattern2_instance_t *)pdcolor->ccolor.pattern; - pinst->saved->has_transparency = true; - /* The transparency color space operations are driven + if (pdcolor != NULL && gx_dc_is_pattern2_color(pdcolor)) { + /* Non-idempotent blends require a transparency + * group to be pushed because shadings might + * paint several pixels twice. */ + push_group = gs_currentopacityalpha(pgs) != 1.0 || + !blend_is_idempotent(gs_currentblendmode(pgs)); + if (pdev->trans_group_parent_cmap_procs != NULL) { + pinst = + (gs_pattern2_instance_t *)pdcolor->ccolor.pattern; + pinst->saved->has_transparency = true; + /* The transparency color space operations are driven by the pdf14 clist writer device. */ - pinst->saved->trans_device = dev; + pinst->saved->trans_device = dev; + } + } + if (push_group) { + gs_fixed_rect box; + if (pcpath) + gx_cpath_outer_box(pcpath, &box); + else + (*dev_proc(dev, get_clipping_box)) (dev, &box); + if (ppath) { + gs_fixed_rect path_box; + gs_fixed_point expansion; + + gx_path_bbox(ppath, &path_box); + /* Expand the path bounding box by the scaled line width. */ + if (gx_stroke_path_expansion(pgs, ppath, &expansion) < 0) { + /* The expansion is so large it caused a limitcheck. */ + path_box.p.x = path_box.p.y = min_fixed; + path_box.q.x = path_box.q.y = max_fixed; + } else { + expansion.x += pgs->fill_adjust.x; + expansion.y += pgs->fill_adjust.y; + /* + * It's theoretically possible for the following computations to + * overflow, so we need to check for this. + */ + path_box.p.x = (path_box.p.x < min_fixed + expansion.x ? min_fixed : + path_box.p.x - expansion.x); + path_box.p.y = (path_box.p.y < min_fixed + expansion.y ? min_fixed : + path_box.p.y - expansion.y); + path_box.q.x = (path_box.q.x > max_fixed - expansion.x ? max_fixed : + path_box.q.x + expansion.x); + path_box.q.y = (path_box.q.y > max_fixed - expansion.y ? max_fixed : + path_box.q.y + expansion.y); + } + if (box.p.x < path_box.p.x) + box.p.x = path_box.p.x; + if (box.p.y < path_box.p.y) + box.p.y = path_box.p.y; + if (box.q.x > path_box.q.x) + box.q.x = path_box.q.x; + if (box.q.y > path_box.q.y) + box.q.y = path_box.q.y; + } + code = push_shfill_group(pdev, &new_pgs, &box); + } else + update_lop_for_pdf14(&new_pgs, pdcolor); + + if (code >= 0) { + new_pgs.trans_device = dev; + new_pgs.has_transparency = true; + code = gx_forward_stroke_path(dev, &new_pgs, ppath, params, pdcolor, pcpath); + new_pgs.trans_device = NULL; + new_pgs.has_transparency = false; + } + if (code >= 0 && push_group) { + code = pop_shfill_group(&new_pgs); + if (code >= 0) + code = pdf14_clist_update_params(pdev, pgs, false, NULL); + } + if (pinst != NULL) + pinst->saved->trans_device = NULL; + return code; +} + +/* Set up work for doing shading patterns in fill stroke through + the clist. We have to do all the dirty work now since we are + going through the default fill and stroke operations individually */ +static int +pdf14_clist_fill_stroke_path_pattern_setup(gx_device* dev, const gs_gstate* cpgs, gx_path* ppath, + const gx_fill_params* params_fill, const gx_drawing_color* pdevc_fill, + const gx_stroke_params* params_stroke, const gx_drawing_color* pdevc_stroke, + const gx_clip_path* pcpath) +{ + union { + const gs_gstate *cpgs; + gs_gstate *pgs; + } const_breaker; + gs_gstate *pgs; + int code, code2; + gs_transparency_group_params_t params = { 0 }; + gs_fixed_rect clip_bbox; + gs_rect bbox, group_stroke_box; + float opacity; + gs_blend_mode_t blend_mode; + gs_fixed_rect path_bbox; + int expansion_code; + gs_fixed_point expansion; + + /* Break const just once, neatly */ + const_breaker.cpgs = cpgs; + pgs = const_breaker.pgs; + + opacity = pgs->opacity.alpha; + blend_mode = pgs->blend_mode; + + code = gx_curr_fixed_bbox(pgs, &clip_bbox, NO_PATH); + if (code < 0 && code != gs_error_unknownerror) + return code; + if (code == gs_error_unknownerror) { + /* didn't get clip box from gx_curr_fixed_bbox */ + clip_bbox.p.x = clip_bbox.p.y = 0; + clip_bbox.q.x = int2fixed(dev->width); + clip_bbox.q.y = int2fixed(dev->height); + } + if (pcpath) + rect_intersect(clip_bbox, pcpath->outer_box); + + /* expand the ppath using stroke expansion rule, then intersect it */ + code = gx_path_bbox(ppath, &path_bbox); + if (code == gs_error_nocurrentpoint && ppath->segments->contents.subpath_first == 0) + return 0; /* ignore empty path */ + if (code < 0) + return code; + expansion_code = gx_stroke_path_expansion(pgs, ppath, &expansion); + if (expansion_code >= 0) { + path_bbox.p.x -= expansion.x; + path_bbox.p.y -= expansion.y; + path_bbox.q.x += expansion.x; + path_bbox.q.y += expansion.y; + } + rect_intersect(path_bbox, clip_bbox); + bbox.p.x = fixed2float(path_bbox.p.x); + bbox.p.y = fixed2float(path_bbox.p.y); + bbox.q.x = fixed2float(path_bbox.q.x); + bbox.q.y = fixed2float(path_bbox.q.y); + + code = gs_bbox_transform_inverse(&bbox, &ctm_only(pgs), &group_stroke_box); + if (code < 0) + return code; + + /* See if overprint is enabled for both stroke and fill AND if ca == CA */ + if (pgs->fillconstantalpha == pgs->strokeconstantalpha && + pgs->overprint && pgs->stroke_overprint && + dev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE) { + /* Push a non-isolated non-knockout group with alpha = 1.0 and + compatible overprint mode. Group will be composited with + original alpha and blend mode */ + params.Isolated = false; + params.group_color = UNKNOWN; + params.Knockout = false; + + /* non-isolated non-knockout group pushed with original alpha and blend mode */ + code = gs_begin_transparency_group(pgs, ¶ms, &group_stroke_box, PDF14_BEGIN_TRANS_GROUP); + if (code < 0) + return code; + + /* Change alpha to 1.0 and blend mode to compatible overprint for actual drawing */ + (void)gs_setopacityalpha(pgs, 1.0); /* Can never fail */ + (void)gs_setblendmode(pgs, BLEND_MODE_CompatibleOverprint); /* Can never fail */ + + /* Do fill */ + if (pgs->fillconstantalpha > 0.0) { + code = pdf14_clist_fill_path(dev, pgs, ppath, params_fill, pdevc_fill, pcpath); + if (code < 0) + goto cleanup; + } + + /* Do stroke */ + if (pgs->strokeconstantalpha > 0.0) { + code = pdf14_clist_stroke_path(dev, pgs, ppath, params_stroke, pdevc_stroke, pcpath); + if (code < 0) + goto cleanup; + } + + } else { + /* Push a non-isolated knockout group. Do not change the alpha or + blend modes */ + params.Isolated = false; + params.group_color = UNKNOWN; + params.Knockout = true; + + /* non-isolated knockout group is pushed with alpha = 1.0 and Normal blend mode */ + (void)gs_setopacityalpha(pgs, 1.0); /* Can never fail */ + (void)gs_setblendmode(pgs, BLEND_MODE_Normal); /* Can never fail */ + + code = gs_begin_transparency_group(pgs, ¶ms, &group_stroke_box, PDF14_BEGIN_TRANS_GROUP); + /* restore blend mode for actual drawing in the group */ + (void)gs_setblendmode(pgs, blend_mode); /* Can never fail */ + if (code < 0) { + (void)gs_setopacityalpha(pgs, opacity); /* Can never fail */ + return code; + } + + if (pgs->fillconstantalpha > 0.0) { + (void)gs_setopacityalpha(pgs, pgs->fillconstantalpha); /* Can never fail */ + + /* If we are in an overprint situation, set the blend mode to compatible + overprint */ + if (pgs->overprint && dev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE) + (void)gs_setblendmode(pgs, BLEND_MODE_CompatibleOverprint); /* Can never fail */ + + code = pdf14_clist_fill_path(dev, pgs, ppath, params_fill, pdevc_fill, pcpath); + if (code < 0) + goto cleanup; + + if (pgs->overprint && dev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE) + (void)gs_setblendmode(pgs, blend_mode); /* Can never fail */ + } + + if (pgs->strokeconstantalpha > 0.0) { + (void)gs_setopacityalpha(pgs, pgs->strokeconstantalpha); /* Can never fail */ + if (pgs->stroke_overprint && dev->color_info.polarity == GX_CINFO_POLARITY_SUBTRACTIVE) + (void)gs_setblendmode(pgs, BLEND_MODE_CompatibleOverprint); /* Can never fail */ + + code = pdf14_clist_stroke_path(dev, pgs, ppath, params_stroke, pdevc_stroke, pcpath); + if (code < 0) + goto cleanup; + } } - update_lop_for_pdf14(&new_pgs, pdcolor); +cleanup: + /* Now during the pop do the compositing with alpha of 1.0 and normal blend */ + (void)gs_setopacityalpha(pgs, 1.0); /* Can never fail */ + (void)gs_setblendmode(pgs, BLEND_MODE_Normal); /* Can never fail */ + + /* Restore where we were. If an error occured while in the group push + return that error code but try to do the cleanup */ + code2 = gs_end_transparency_group(pgs); + if (code2 < 0) { + /* At this point things have gone very wrong. We should just shut down */ + code = gs_abort_pdf14trans_device(pgs); + return code2; + } + + /* Restore if there were any changes */ + (void)gs_setopacityalpha(pgs, opacity); /* Can never fail */ + (void)gs_setblendmode(pgs, blend_mode); /* Can never fail */ + + return code; +} + +/* + * fill_path routine for the PDF 1.4 transaprency compositor device for + * writing the clist. + */ +static int +pdf14_clist_fill_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath, + const gx_fill_params *params_fill, const gx_drawing_color *pdevc_fill, + const gx_stroke_params *params_stroke, const gx_drawing_color *pdevc_stroke, + const gx_clip_path *pcpath) +{ + pdf14_clist_device * pdev = (pdf14_clist_device *)dev; + gs_gstate new_pgs = *pgs; + int code; + + if ((pgs->fillconstantalpha == 0.0 && pgs->strokeconstantalpha == 0.0) || + (pgs->ctm.xx == 0.0 && pgs->ctm.xy == 0.0 && pgs->ctm.yx == 0.0 && pgs->ctm.yy == 0.0)) + return 0; + + /* + * Ensure that that the PDF 1.4 reading compositor will have the current + * blending parameters. This is needed since the fill_rectangle routines + * do not have access to the gs_gstate. Thus we have to pass any + * changes explictly. + */ + code = pdf14_clist_update_params(pdev, pgs, false, NULL); + if (code < 0) + return code; + /* If we are doing a shading fill or stroke, the clist can't + deal with this and end up in the pdf_fill_stroke operation. + We will need to break up the fill stroke now and do + the appropriate group pushes and set up. */ + + if ((pdevc_fill != NULL && gx_dc_is_pattern2_color(pdevc_fill)) || + (pdevc_stroke != NULL && gx_dc_is_pattern2_color(pdevc_stroke))) { + return pdf14_clist_fill_stroke_path_pattern_setup(dev, pgs, ppath, + params_fill, pdevc_fill, params_stroke, pdevc_stroke, pcpath); + } + update_lop_for_pdf14(&new_pgs, pdevc_fill); new_pgs.trans_device = dev; new_pgs.has_transparency = true; - code = gx_forward_stroke_path(dev, &new_pgs, ppath, params, pdcolor, pcpath); + code = gx_forward_fill_stroke_path(dev, &new_pgs, ppath, params_fill, pdevc_fill, + params_stroke, pdevc_stroke, pcpath); new_pgs.trans_device = NULL; new_pgs.has_transparency = false; - if (pinst != NULL){ - pinst->saved->trans_device = NULL; - } return code; } @@ -8599,6 +9628,18 @@ pdf14_clist_text_begin(gx_device * dev, gs_gstate * pgs, if (code < 0) return code; + /* Catch case where we already pushed a group and are trying to push another one. + In that case, we will pop the current one first, as we don't want to be left + with it. Note that if we have a BT and no other BTs or ETs then this issue + will not be caught until we do the put_image and notice that the stack is not + empty. */ + if (pdev->text_group == PDF14_TEXTGROUP_MISSING_ET) { + code = gs_end_transparency_group(pgs); + if (code < 0) + return code; + pdev->text_group = PDF14_TEXTGROUP_BT_NOT_PUSHED; + } + /* We may need to push a non-isolated transparency group if the following is true. 1) We are not currently in one that we pushed for text. This is @@ -8611,7 +9652,7 @@ pdf14_clist_text_begin(gx_device * dev, gs_gstate * pgs, gs_currenttextrenderingmode(pgs) != 3 && /* don't bother with invisible text */ pdev->text_group == PDF14_TEXTGROUP_BT_NOT_PUSHED) { if (draw) { - code = pdf14_push_text_group(dev, pgs, path, pcpath, blend_mode, opacity, true); + code = pdf14_push_text_group(dev, pgs, blend_mode, opacity, true); if (code == 0) pdev->text_group = PDF14_TEXTGROUP_BT_PUSHED; /* Needed during clist writing */ } @@ -9098,8 +10139,10 @@ c_pdf14trans_get_cropping(const gs_composite_t *pcte, int *ry, int *rheight, pdf14_compute_group_device_int_rect(&pdf14pct->params.ctm, &pdf14pct->params.bbox, &rect); /* We have to crop this by the parent object and worry about the BC outside - the range, except for image SMask which don't affect areas outside the image */ - if ( pdf14pct->params.GrayBackground == 1.0 || pdf14pct->params.mask_is_image) { + the range, except for image SMask which don't affect areas outside the image. + The presence of a transfer function opens the possibility of issues with this */ + if (pdf14pct->params.mask_is_image || (pdf14pct->params.GrayBackground == 1.0 && + pdf14pct->params.function_is_identity)) { /* In this case there will not be a background effect to worry about. The mask will not have any effect outside the bounding box. This is NOT the default or common case. */ @@ -9193,7 +10236,7 @@ pdf14_spot_get_color_comp_index(gx_device *dev, const char *pname, We need the real target procs */ if (target_get_color_comp_index == pdf14_cmykspot_get_color_comp_index) target_get_color_comp_index = - ((pdf14_clist_device *)pdev)->saved_target_get_color_comp_index; + ((pdf14_clist_device *)pdev)->saved_target_get_color_comp_index; /* * If this is not a separation name then simply forward it to the target * device. @@ -9214,6 +10257,9 @@ pdf14_spot_get_color_comp_index(gx_device *dev, const char *pname, return comp_index - offset; /* * If we do not know this color, check if the output (target) device does. + * Note that if the target device has ENABLE_AUTO_SPOT_COLORS this will add + * the colorant so we will only get < 0 returned when we hit the max. for + * the target device. */ comp_index = (*target_get_color_comp_index)(tdev, pname, name_size, component_type); /* @@ -9225,14 +10271,20 @@ pdf14_spot_get_color_comp_index(gx_device *dev, const char *pname, /* * This is a new colorant. Add it to our list of colorants. + * The limit accounts for the number of process colors (at least 4). */ - if (pseparations->num_separations < GX_DEVICE_COLOR_MAX_COMPONENTS - 1) { + if ((pseparations->num_separations + 1) < + (GX_DEVICE_COLOR_MAX_COMPONENTS - max(num_process_colors, 4))) { int sep_num = pseparations->num_separations++; int color_component_number; byte * sep_name; sep_name = gs_alloc_bytes(dev->memory->stable_memory, name_size, "pdf14_spot_get_color_comp_index"); + if (sep_name == NULL) { + pseparations->num_separations--; /* we didn't add it */ + return -1; + } memcpy(sep_name, pname, name_size); pseparations->names[sep_num].size = name_size; pseparations->names[sep_num].data = sep_name; diff --git a/base/gdevp14.h b/base/gdevp14.h index 34991939..e4d4dfaa 100644 --- a/base/gdevp14.h +++ b/base/gdevp14.h @@ -34,6 +34,12 @@ typedef enum { PDF14_DeviceCustom = 4 } pdf14_default_colorspace_t; +typedef enum { + PDF14_OP_STATE_NONE = 0, + PDF14_OP_STATE_FILL = 1, + PDF14_OP_STATE_STROKE = 2, +} PDF14_OP_FS_STATE; + /* * This structure contains procedures for processing routine which differ * between the different blending color spaces. @@ -205,16 +211,49 @@ typedef struct pdf14_device_s { float opacity; float shape; float alpha; /* alpha = opacity * shape */ + float fillconstantalpha; + float strokeconstantalpha; gs_blend_mode_t blend_mode; bool text_knockout; bool overprint; bool effective_overprint_mode; + bool stroke_effective_op_mode; + bool stroke_overprint; int text_group; gx_color_index drawn_comps; /* Used for overprinting. Passed from overprint compositor */ + gx_color_index drawn_comps_fill; /* selected by color_is_fill */ + gx_color_index drawn_comps_stroke; + PDF14_OP_FS_STATE op_state; gx_device * pclist_device; bool free_devicen; /* Used to avoid freeing a deviceN parameter from target clist device */ bool sep_device; bool using_blend_cs; + + /* We now have some variables to help us determine whether + * we are in an SMask or not. Firstly, we have in_smask_construction, + * initially 0, incremented whenever we begin smask in the compositor, + * and decremented whenever we finish one. Thus this being non-zero + * implies we are in the 'construction' phase of at least one smask. + */ + int in_smask_construction; + /* Next, we have smask_constructed. Again, initially 0. This is set + * to 1 whenever in_smask_construction returns to 0. It is reset to + * 0 on the next transparency group push (which takes possession of + * the smask that was just created. Thus this being 1 implies + * we have just constructed an smask, but not used it yet. */ + int smask_constructed; + /* Finally, then we have depth_within_smask. This is used to keep the + * count of how many times we need to pop a transparency group to + * finish being governed by an smask. To keep this figure, we watch + * pushes of new transparency groups. On each such push, if + * smask_constructed is true, or depth_within_smask is already non-zero, + * we increment depth_within_smask. (i.e. whenever we start a group + * that will be governed by (and take possession of) an smask, or whenever + * we are already being governed by an smask, we know that we've just + * increased our nested depth by 1). Whenever we pop a group and it is + * non zero, we decrement it. + */ + int depth_within_smask; const gx_color_map_procs *(*save_get_cmap_procs)(const gs_gstate *, const gx_device *); gx_device_color_info saved_target_color_info; diff --git a/base/gdevprn.c b/base/gdevprn.c index 3518ce6f..9d5c9e9f 100644 --- a/base/gdevprn.c +++ b/base/gdevprn.c @@ -1699,22 +1699,28 @@ gdev_prn_get_bits(gx_device_printer * pdev, int y, byte * str, byte ** actual_da } /* Copy scan lines to a buffer. Return the number of scan lines, */ /* or <0 if error. This procedure is DEPRECATED. */ +/* Some old and contrib drivers ignore error codes, so make sure and fill */ +/* remaining lines if we get an error (and for lines past end of page). */ int gdev_prn_copy_scan_lines(gx_device_printer * pdev, int y, byte * str, uint size) { uint line_size = gdev_prn_raster(pdev); - int count = size / line_size; - int i; + int requested_count = size / line_size; + int i, count; + int code = 0; byte *dest = str; - count = min(count, pdev->height - y); + /* Clamp count between 0 and remaining lines on page so we don't return < 0 */ + /* unless gdev_prn_get_bits returns an error */ + count = max(0, min(requested_count, pdev->height - y)); for (i = 0; i < count; i++, dest += line_size) { - int code = gdev_prn_get_bits(pdev, y + i, dest, NULL); - - if (code < 0) - return code; + code = gdev_prn_get_bits(pdev, y + i, dest, NULL); + if (code < 0) + break; /* will fill remaining lines and return code outside the loop */ } - return count; + /* fill remaining lines with 0's to prevent printing garbage */ + memset(dest, 0, line_size * (requested_count - i)); + return (code < 0 ) ? code : count; } /* Close the current page. */ diff --git a/base/gdevsclass.c b/base/gdevsclass.c index 0e2bf3a8..60f110c4 100644 --- a/base/gdevsclass.c +++ b/base/gdevsclass.c @@ -894,6 +894,17 @@ int default_subclass_process_page(gx_device *dev, gx_process_page_options_t *opt return 0; } +int default_subclass_fill_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath, + const gx_fill_params *fill_params, const gx_drawing_color *pdcolor_fill, + const gx_stroke_params *stroke_params, const gx_drawing_color *pdcolor_stroke, + const gx_clip_path *pcpath) +{ + if (dev->child) + return dev_proc(dev->child, fill_stroke_path)(dev->child, pgs, ppath, fill_params, pdcolor_fill, + stroke_params, pdcolor_stroke, pcpath); + return 0; +} + int default_subclass_transform_pixel_region(gx_device *dev, transform_pixel_region_reason reason, transform_pixel_region_data *data) { if (dev->child) diff --git a/base/gdevsclass.h b/base/gdevsclass.h index ada3a4e3..cc7a4359 100644 --- a/base/gdevsclass.h +++ b/base/gdevsclass.h @@ -102,6 +102,7 @@ dev_proc_strip_tile_rect_devn(default_subclass_strip_tile_rect_devn); dev_proc_copy_alpha_hl_color(default_subclass_copy_alpha_hl_color); dev_proc_process_page(default_subclass_process_page); dev_proc_transform_pixel_region(default_subclass_transform_pixel_region); +dev_proc_fill_stroke_path(default_subclass_fill_stroke_path); void default_subclass_finalize(const gs_memory_t *cmem, void *vptr); diff --git a/base/gdevvec.c b/base/gdevvec.c index 351228bc..7136d76c 100644 --- a/base/gdevvec.c +++ b/base/gdevvec.c @@ -630,6 +630,11 @@ gdev_vector_dopath_init(gdev_vector_dopath_state_t *state, gs_make_scaling(vdev->scale.x, vdev->scale.y, &state->scale_mat); } state->first = true; + + /* This is purely to prevent Coverity from thinking gdev_vector_dopath() + could use uninitialised state->start.x. */ + state->start.x = 0; + state->start.y = 0; } /* diff --git a/base/genconf.c b/base/genconf.c index 7537099b..de9afc95 100644 --- a/base/genconf.c +++ b/base/genconf.c @@ -353,7 +353,7 @@ static void mfree (void *om, const char *label); int alloc_list(string_list_t *); void free_list(string_list_t * list); -void dev_file_name(char *); +void dev_file_name(char *, int); int process_replaces(config_t *); int read_dev(config_t *, const char *); int read_token(char *, int, const char **); @@ -681,11 +681,12 @@ free_list(string_list_t * list) /* If necessary, convert a .dev name to its file name. */ void -dev_file_name(char *str) +dev_file_name(char *str, int bufsize) { int len = strlen(str); - if (len <= 4 || strcmp(".dev", str + len - 4)) + if ((len <= 4 || strcmp(".dev", str + len - 4)) + && bufsize > len + 4) strcat(str, ".dev"); } @@ -701,7 +702,7 @@ process_replaces(config_t * pconf) strncpy(bufname, pconf->replaces.items[i].str, MAX_STR); /* See if the file being replaced was included. */ - dev_file_name(bufname); + dev_file_name(bufname, MAX_STR + 1); for (j = 0; j < pconf->file_names.count; ++j) { const char *fname = pconf->file_names.items[j].str; @@ -968,7 +969,7 @@ pre: sprintf(templat, pat, pconf->name_prefix); pat = "image_type_(%%s,%simage_type_%%s)"; } else if (IS_CAT("include")) { strcpy(str, item); - dev_file_name(str); + dev_file_name(str, MAX_STR); return read_dev(pconf, str); } else if (IS_CAT("init")) { pat = "init_(%s%%s_init)"; @@ -334,7 +334,11 @@ gp_rewind(gp_file *f) { char *gp_fgets(char *buffer, size_t n, gp_file *f); -int gp_fprintf(gp_file *f, const char *fmt, ...); +int gp_fprintf(gp_file *f, const char *fmt, ...) +#ifdef __GNUC__ + __attribute__ ((format (__printf__, 2, 3))) +#endif + ; /* ------ Reading from stdin, unbuffered if possible ------ */ @@ -388,7 +392,7 @@ extern const char gp_current_directory_name[]; /* Define the string to be concatenated with the file mode */ /* for opening files without end-of-line conversion. */ /* This is always either "" or "b". */ -extern const char gp_fmode_binary_suffix[]; +extern const char* gp_fmode_binary_suffix; /* Define the file modes for binary reading or writing. */ /* (This is just a convenience: they are "r" or "w" + the suffix.) */ diff --git a/base/gp_dosfs.c b/base/gp_dosfs.c index 47db3e49..cd143535 100644 --- a/base/gp_dosfs.c +++ b/base/gp_dosfs.c @@ -64,7 +64,7 @@ const char gp_file_name_list_separator = ';'; /* Define the string to be concatenated with the file mode */ /* for opening files without end-of-line conversion. */ -const char gp_fmode_binary_suffix[] = "b"; +const char* gp_fmode_binary_suffix = "b"; /* Define the file modes for binary reading or writing. */ const char gp_fmode_rb[] = "rb"; diff --git a/base/gp_ntfs.c b/base/gp_ntfs.c index aaf183be..40bd1489 100644 --- a/base/gp_ntfs.c +++ b/base/gp_ntfs.c @@ -75,7 +75,7 @@ const char gp_file_name_list_separator = ';'; /* Define the string to be concatenated with the file mode */ /* for opening files without end-of-line conversion. */ -const char gp_fmode_binary_suffix[] = "b"; +const char* gp_fmode_binary_suffix = "b"; /* Define the file modes for binary reading or writing. */ const char gp_fmode_rb[] = "rb"; diff --git a/base/gp_os2fs.c b/base/gp_os2fs.c index f365f772..98c0bb90 100644 --- a/base/gp_os2fs.c +++ b/base/gp_os2fs.c @@ -64,7 +64,7 @@ const char gp_current_directory_name[] = "."; /* Define the string to be concatenated with the file mode */ /* for opening files without end-of-line conversion. */ -const char gp_fmode_binary_suffix[] = "b"; +const char* gp_fmode_binary_suffix = "b"; /* Define the file modes for binary reading or writing. */ const char gp_fmode_rb[] = "rb"; diff --git a/base/gp_psync.c b/base/gp_psync.c index eebefa1d..3a7d6a4d 100644 --- a/base/gp_psync.c +++ b/base/gp_psync.c @@ -66,10 +66,15 @@ gp_semaphore_open(gp_semaphore * sema) pt_semaphore_t * const sem = (pt_semaphore_t *)sema; int scode; -#ifdef MEMENTO_SQUEEZE_BUILD - eprintf("Can't create semaphores when memory squeezing with forks\n"); - Memento_bt(); - return_error(gs_error_VMerror); +#ifdef MEMENTO + if (Memento_squeezing()) { + /* If squeezing, we nobble all the locking functions to do nothing. + * We also ensure we never actually create threads (elsewhere), + * so this is still safe. */ + memset(&sem->mutex, 0, sizeof(sem->mutex)); + memset(&sem->cond, 0, sizeof(sem->cond)); + return 0; + } #endif if (!sema) @@ -93,6 +98,11 @@ gp_semaphore_close(gp_semaphore * sema) pt_semaphore_t * const sem = (pt_semaphore_t *)sema; int scode, scode2; +#ifdef MEMENTO + if (Memento_squeezing()) + return 0; +#endif + scode = pthread_cond_destroy(&sem->cond); scode2 = pthread_mutex_destroy(&sem->mutex); if (scode == 0) @@ -106,10 +116,13 @@ gp_semaphore_wait(gp_semaphore * sema) pt_semaphore_t * const sem = (pt_semaphore_t *)sema; int scode, scode2; -#ifdef MEMENTO_SQUEEZE_BUILD - eprintf("Can't create mutexes when memory squeezing with forks\n"); - Memento_bt(); - return_error(gs_error_VMerror); +#ifdef MEMENTO + if (Memento_squeezing()) { + /* If squeezing, we nobble all the locking functions to do nothing. + * We also ensure we never actually create threads (elsewhere), + * so this is still safe. */ + return 0; + } #endif scode = pthread_mutex_lock(&sem->mutex); @@ -134,6 +147,11 @@ gp_semaphore_signal(gp_semaphore * sema) pt_semaphore_t * const sem = (pt_semaphore_t *)sema; int scode, scode2; +#ifdef MEMENTO + if (Memento_squeezing()) + return 0; +#endif + scode = pthread_mutex_lock(&sem->mutex); if (scode != 0) return SEM_ERROR_CODE(scode); @@ -178,15 +196,15 @@ gp_monitor_open(gp_monitor * mona) pthread_mutexattr_t attr; pthread_mutexattr_t *attrp = NULL; -#ifdef MEMENTO_SQUEEZE_BUILD - eprintf("Can't create monitors when memory squeezing with forks\n"); - Memento_bt(); - return_error(gs_error_VMerror); -#endif - if (!mona) return -1; /* monitors are not movable */ +#ifdef MEMENTO + if (Memento_squeezing()) { + memset(mona, 0, sizeof(*mona)); + return 0; + } +#endif #ifdef GS_RECURSIVE_MUTEXATTR attrp = &attr; @@ -216,6 +234,11 @@ gp_monitor_close(gp_monitor * mona) pthread_mutex_t * const mon = &((gp_pthread_recursive_t *)mona)->mutex; int scode; +#ifdef MEMENTO + if (Memento_squeezing()) + return 0; +#endif + scode = pthread_mutex_destroy(mon); return SEM_ERROR_CODE(scode); } @@ -226,6 +249,12 @@ gp_monitor_enter(gp_monitor * mona) pthread_mutex_t * const mon = (pthread_mutex_t *)mona; int scode; +#ifdef MEMENTO + if (Memento_squeezing()) { + return 0; + } +#endif + #ifdef GS_RECURSIVE_MUTEXATTR scode = pthread_mutex_lock(mon); #else @@ -256,6 +285,11 @@ gp_monitor_leave(gp_monitor * mona) pthread_mutex_t * const mon = (pthread_mutex_t *)mona; int scode = 0; +#ifdef MEMENTO + if (Memento_squeezing()) + return 0; +#endif + #ifdef GS_RECURSIVE_MUTEXATTR scode = pthread_mutex_unlock(mon); #else @@ -303,18 +337,20 @@ gp_thread_begin_wrapper(void *thread_data /* gp_thread_creation_closure_t * */) int gp_create_thread(gp_thread_creation_callback_t proc, void *proc_data) { - gp_thread_creation_closure_t *closure = - (gp_thread_creation_closure_t *)malloc(sizeof(*closure)); + gp_thread_creation_closure_t *closure; pthread_t ignore_thread; pthread_attr_t attr; int code; -#ifdef MEMENTO_SQUEEZE_BUILD - eprintf("Can't create threads when memory squeezing with forks\n"); - Memento_bt(); - return_error(gs_error_VMerror); +#ifdef MEMENTO + if (Memento_squeezing()) { + eprintf("Can't create threads when memory squeezing with forks\n"); + Memento_bt(); + return_error(gs_error_VMerror); + } #endif + closure = (gp_thread_creation_closure_t *)malloc(sizeof(*closure)); if (!closure) return_error(gs_error_VMerror); closure->proc = proc; diff --git a/base/gp_unifn.c b/base/gp_unifn.c index cd621953..643f3973 100644 --- a/base/gp_unifn.c +++ b/base/gp_unifn.c @@ -26,9 +26,9 @@ const char gp_file_name_list_separator = ':'; /* Define the string to be concatenated with the file mode */ /* for opening files without end-of-line conversion. */ #if (defined(__MINGW32__) && __MINGW32__ == 1) || (defined(__CYGWIN__) && __CYGWIN__ == 1) -const char gp_fmode_binary_suffix[] = "b"; +const char* gp_fmode_binary_suffix = "b"; #else -const char gp_fmode_binary_suffix[] = ""; +const char* gp_fmode_binary_suffix = ""; #endif diff --git a/base/gp_unifs.c b/base/gp_unifs.c index f0deeb2a..70752634 100644 --- a/base/gp_unifs.c +++ b/base/gp_unifs.c @@ -128,6 +128,10 @@ gp_open_scratch_file_impl(const gs_memory_t *mem, } } #else + /* Coverity thinks that any use of mktemp() is insecure. But if we + reach here then there is no mkstemp() alternative available, so there's + not much we can do. Haven't been able to disable this - e.g. '// + coverity[SECURE_TEMP]' doesn't have any affect. */ mktemp(fname); fp = gp_fopentemp(fname, mode); #endif @@ -191,16 +195,16 @@ int gp_pread_impl(char *buf, size_t count, gs_offset_t offset, FILE *f) int c; int64_t os, curroff = gp_ftell_impl(f); if (curroff < 0) return curroff; - + os = gp_fseek_impl(f, offset, 0); if (os < 0) return os; - + c = fread(buf, 1, count, f); if (c < 0) return c; - + os = gp_fseek_impl(f, curroff, 0); if (os < 0) return os; - + return c; #endif } @@ -215,16 +219,16 @@ int gp_pwrite_impl(const char *buf, size_t count, gs_offset_t offset, FILE *f) int c; int64_t os, curroff = gp_ftell_impl(f); if (curroff < 0) return curroff; - + os = gp_fseek_impl(f, offset, 0); if (os < 0) return os; - + c = fwrite(buf, 1, count, f); if (c < 0) return c; - + os = gp_fseek_impl(f, curroff, 0); if (os < 0) return os; - + return c; #endif } @@ -434,7 +438,6 @@ gp_enumerate_files_next_impl(gs_memory_t * mem, file_enum * pfen, char *ptr, uin char *pattern = pfen->pattern; int pathead = pfen->pathead; int len; - struct stat stbuf; if (pfen->first_time) { pfen->dirp = ((worklen == 0) ? opendir(".") : opendir(work)); @@ -501,31 +504,24 @@ gp_enumerate_files_next_impl(gs_memory_t * mem, file_enum * pfen, char *ptr, uin /* Perhaps descend into subdirectories */ if (pathead < maxlen) { - DIR *dp; - - if (((stat(work, &stbuf) >= 0) - ? !stat_is_dir(stbuf) - /* Couldn't stat it. - * Well, perhaps it's a directory and - * we'll be able to list it anyway. - * If it isn't or we can't, no harm done. */ - : 0)) + /* Using stat() to decide whether this item is a directory then opening + using opendir(), results in Coverity complaining about races. Se + instead we simple call opendir() immediately and look at whether it + succeeded. */ + DIR *dp = opendir(work); + if (!dp) { + /* Not a directory. */ goto winner; + } if (pfen->patlen == pathead + 1) { /* Listing "foo/?/" -- return this entry */ - /* if it's a directory. */ - if (!stat_is_dir(stbuf)) { /* Do directoryp test the hard way */ - dp = opendir(work); - if (!dp) - goto top; - closedir(dp); - } + closedir(dp); work[len++] = '/'; goto winner; } + /* >>> Should optimise the case in which the next level */ /* >>> of directory has no wildcards. */ - dp = opendir(work); #ifdef DEBUG { char save_end = pattern[pathead]; @@ -536,10 +532,7 @@ gp_enumerate_files_next_impl(gs_memory_t * mem, file_enum * pfen, char *ptr, uin pattern[pathead] = save_end; } #endif /* DEBUG */ - if (!dp) - /* Can't list this one */ - goto top; - else { /* Advance to the next directory-delimiter */ + { /* Advance to the next directory-delimiter */ /* in pattern */ char *p; dirstack *d; @@ -642,11 +635,11 @@ bool gp_fseekable_impl(FILE *f) { struct stat s; int fno; - + fno = fileno(f); if (fno < 0) return(false); - + if (fstat(fno, &s) < 0) return(false); diff --git a/base/gp_unix.c b/base/gp_unix.c index ce4fa057..bd2745f9 100644 --- a/base/gp_unix.c +++ b/base/gp_unix.c @@ -16,6 +16,9 @@ /* Unix-specific routines for Ghostscript */ +#ifdef __MINGW32__ +# include "windows_.h" +#endif #include "pipe_.h" #include "string_.h" #include "time_.h" @@ -353,7 +356,11 @@ void *gp_enumerate_fonts_init(gs_memory_t *mem) */ code = 0; while ((dirstr = FcStrListNext(fdirlist)) != NULL && code >= 0) { - code = gs_add_control_path(mem, gs_permit_file_reading, (char *)dirstr); + char dirstr2[gp_file_name_sizeof]; + dirstr2[0] = '\0'; + strncat(dirstr2, (char *)dirstr, gp_file_name_sizeof - 2); + strncat(dirstr2, "/", gp_file_name_sizeof - 1); + code = gs_add_control_path(mem, gs_permit_file_reading, (char *)dirstr2); } FcStrListDone(fdirlist); if (code < 0) { @@ -370,6 +377,12 @@ void *gp_enumerate_fonts_init(gs_memory_t *mem) os = FcObjectSetBuild(FC_FILE, FC_OUTLINE, FC_FAMILY, FC_WEIGHT, FC_SLANT, NULL); + /* We free the data allocated by FcFontList() when + gp_enumerate_fonts_free() calls FcFontSetDestroy(), but FcFontSetDestroy() + has been seen to leak blocks according to valgrind and asan. E.g. this can + be seen by running: + ./sanbin/gs -dNODISPLAY -dBATCH -dNOPAUSE -c "/A_Font findfont" + */ state->font_list = FcFontList(0, pat, os); FcPatternDestroy(pat); FcObjectSetDestroy(os); @@ -466,3 +479,54 @@ void gp_enumerate_fonts_free(void *enum_state) } #endif } + +/* A function to decode the next codepoint of the supplied args from the + * local windows codepage, or -1 for EOF. + * (copied from gp_win32.c) + */ + +#ifdef __MINGW32__ +int +gp_local_arg_encoding_get_codepoint(FILE *file, const char **astr) +{ + int len; + int c; + char arg[3]; + wchar_t unicode[2]; + char utf8[4]; + + if (file) { + c = fgetc(file); + if (c == EOF) + return EOF; + } else if (**astr) { + c = *(*astr)++; + if (c == 0) + return EOF; + } else { + return EOF; + } + + arg[0] = c; + if (IsDBCSLeadByte(c)) { + if (file) { + c = fgetc(file); + if (c == EOF) + return EOF; + } else if (**astr) { + c = *(*astr)++; + if (c == 0) + return EOF; + } + arg[1] = c; + len = 2; + } else { + len = 1; + } + + /* Convert the string (unterminated in, unterminated out) */ + len = MultiByteToWideChar(CP_ACP, 0, arg, len, unicode, 2); + + return unicode[0]; +} +#endif diff --git a/base/gp_vms.c b/base/gp_vms.c index 120f8402..a69fb8e8 100644 --- a/base/gp_vms.c +++ b/base/gp_vms.c @@ -212,7 +212,7 @@ const char gp_current_directory_name[] = "[]"; /* Define the string to be concatenated with the file mode */ /* for opening files without end-of-line conversion. */ -const char gp_fmode_binary_suffix[] = ""; +const char* gp_fmode_binary_suffix = ""; /* Define the file modes for binary reading or writing. */ const char gp_fmode_rb[] = "r"; diff --git a/base/gpmisc.c b/base/gpmisc.c index 9cca5d50..34cd71fb 100644 --- a/base/gpmisc.c +++ b/base/gpmisc.c @@ -743,7 +743,7 @@ gp_open_printer(const gs_memory_t *mem, char fname[gp_file_name_sizeof], int binary_mode) { - gp_file *file; + gp_file *file = NULL; gs_lib_ctx_t *ctx = mem->gs_lib_ctx; gs_fs_list_t *fs = ctx->core->fs; @@ -770,7 +770,7 @@ gp_open_scratch_file(const gs_memory_t *mem, char *fname, const char *mode) { - gp_file *file; + gp_file *file = NULL; gs_lib_ctx_t *ctx = mem->gs_lib_ctx; gs_fs_list_t *fs = ctx->core->fs; @@ -800,7 +800,7 @@ gp_open_scratch_file_rm(const gs_memory_t *mem, char *fname, const char *mode) { - gp_file *file; + gp_file *file = NULL; gs_lib_ctx_t *ctx = mem->gs_lib_ctx; gs_fs_list_t *fs = ctx->core->fs; @@ -969,7 +969,11 @@ validate(const gs_memory_t *mem, const char *aend = path + strlen(path); while (aend != a2 && !gs_file_name_check_separator(a2, 1, a2)) a2++; - if (aend != a2) + /* If the control path ends in a directory separator and we've scanned + to the end of the candidate path with no further directory separators + found, we have a match + */ + if (aend == a2) /* PATH=abc/? pattern=abc/ */ goto found; /* Bingo! */ } @@ -1008,48 +1012,88 @@ gp_validate_path_len(const gs_memory_t *mem, const uint len, const char *mode) { - char *buffer; + char *buffer, *bufferfull; uint rlen; int code = 0; + const char *cdirstr = gp_file_name_current(); + int cdirstrl = strlen(cdirstr); + const char *dirsepstr = gp_file_name_separator(); + int dirsepstrl = strlen(dirsepstr); + int prefix_len = cdirstrl + dirsepstrl; /* mem->gs_lib_ctx can be NULL when we're called from mkromfs */ if (mem->gs_lib_ctx == NULL || mem->gs_lib_ctx->core->path_control_active == 0) return 0; + /* For current directory accesses, we need handle both a "bare" name, + * and one with a cwd prefix (in Unix terms, both "myfile.ps" and + * "./myfile.ps". + * + * So we check up front if it's absolute, then just use that. + * If it includes cwd prefix, we try that, then remove the prefix + * and try again. + * If it doesn't include the cwd prefix, we try it, then add the + * prefix and try again. + * To facilitate that, we allocate a large enough buffer to take + * the path *and* the prefix up front. + */ + if (gp_file_name_is_absolute(path, len)) { + /* Absolute path, we don't need anything extra */ + prefix_len = cdirstrl = dirsepstrl = 0; + } + else if (len > prefix_len && !memcmp(path, cdirstr, cdirstrl) + && !memcmp(path + cdirstrl, dirsepstr, dirsepstrl)) { + prefix_len = 0; + } rlen = len+1; - buffer = (char *)gs_alloc_bytes(mem->non_gc_memory, rlen, "gp_validate_path"); - if (buffer == NULL) + bufferfull = (char *)gs_alloc_bytes(mem->non_gc_memory, rlen + prefix_len, "gp_validate_path"); + if (bufferfull == NULL) return gs_error_VMerror; + buffer = bufferfull + prefix_len; if (gp_file_name_reduce(path, (uint)len, buffer, &rlen) != gp_combine_success) return gs_error_invalidfileaccess; buffer[rlen] = 0; - switch (mode[0]) - { - case 'r': /* Read */ - code = validate(mem, buffer, gs_permit_file_reading); - break; - case 'w': /* Write */ - code = validate(mem, buffer, gs_permit_file_writing); - break; - case 'a': /* Append needs reading and writing */ - code = (validate(mem, buffer, gs_permit_file_reading) | - validate(mem, buffer, gs_permit_file_writing)); - break; - case 'c': /* "Control" */ - code = validate(mem, buffer, gs_permit_file_control); - break; - case 't': /* "Rename to" */ - code = (validate(mem, buffer, gs_permit_file_writing) | - validate(mem, buffer, gs_permit_file_control)); + while (1) { + switch (mode[0]) + { + case 'r': /* Read */ + code = validate(mem, buffer, gs_permit_file_reading); + break; + case 'w': /* Write */ + code = validate(mem, buffer, gs_permit_file_writing); + break; + case 'a': /* Append needs reading and writing */ + code = (validate(mem, buffer, gs_permit_file_reading) | + validate(mem, buffer, gs_permit_file_writing)); + break; + case 'c': /* "Control" */ + code = validate(mem, buffer, gs_permit_file_control); + break; + case 't': /* "Rename to" */ + code = (validate(mem, buffer, gs_permit_file_writing) | + validate(mem, buffer, gs_permit_file_control)); + break; + default: + errprintf(mem, "gp_validate_path: Unknown mode='%s'\n", mode); + code = gs_note_error(gs_error_invalidfileaccess); + } + if (code < 0 && prefix_len > 0 && buffer > bufferfull) { + buffer = bufferfull; + memcpy(buffer, cdirstr, cdirstrl); + memcpy(buffer + cdirstrl, dirsepstr, dirsepstrl); + continue; + } + else if (code < 0 && cdirstrl > 0 && prefix_len == 0 && buffer == bufferfull) { + buffer = bufferfull + cdirstrl + dirsepstrl; + continue; + } break; - default: - errprintf(mem, "gp_validate_path: Unknown mode='%s'\n", mode); - code = gs_note_error(gs_error_invalidfileaccess); } - gs_free_object(mem->non_gc_memory, buffer, "gp_validate_path"); + + gs_free_object(mem->non_gc_memory, bufferfull, "gp_validate_path"); #ifdef EACCES if (code == gs_error_invalidfileaccess) errno = EACCES; diff --git a/base/gs.mak b/base/gs.mak index ffb31e36..d1b32355 100644 --- a/base/gs.mak +++ b/base/gs.mak @@ -269,11 +269,11 @@ gconfigd_h=$(GLGENDIR)$(D)gconfigd.h iconfxx_h=$(GLGENDIR)$(D)iconfxx.h iconfig_h=$(GLGENDIR)$(D)iconfig.h -all default : $(GS_XE) $(PCL_XPS_TARGETS) $(GS_SHARED_OBJS) $(MAKEDIRSTOP) $(GS_MAK) $(MAKEDIRS) +all default : $(GS_XE) $(PCL_XPS_PDL_TARGETS) $(GS_SHARED_OBJS) $(MAKEDIRSTOP) $(GS_MAK) $(MAKEDIRS) $(NO_OP) -experimental: all $(GPDL_TARGET) - $(NO_OP) +experimental: all + $(NO_OP) # the distclean and maintainer-clean targets (if any) # are the responsibility of the platform-specific @@ -428,7 +428,7 @@ $(GLGENDIR)$(D)fdevs.tr: $(GS_MAK) $(ECHOGS_XE) $(GSPLAT_DEVS_ALL) $(FEATURE_DEV $(EXP)$(ECHOGS_XE) -a $(GLGENDIR)$(D)fdevs.tr -+ $(FEATURE_DEVS_EXTRA) $(GLGENDIR)$(D)devdevs.tr: $(GS_MAK) $(ECHOGS_XE) $(DEVICE_DEVS_ALL) $(MAKEDIRS) - $(EXP)$(ECHOGS_XE) -a $(GLGENDIR)$(D)devdevs.tr -+ $(DEVICE_DEVS) + $(EXP)$(ECHOGS_XE) -w $(GLGENDIR)$(D)devdevs.tr -+ $(DEVICE_DEVS) $(EXP)$(ECHOGS_XE) -a $(GLGENDIR)$(D)devdevs.tr -+ $(DEVICE_DEVS1) $(EXP)$(ECHOGS_XE) -a $(GLGENDIR)$(D)devdevs.tr -+ $(DEVICE_DEVS2) $(EXP)$(ECHOGS_XE) -a $(GLGENDIR)$(D)devdevs.tr -+ $(DEVICE_DEVS3) diff --git a/base/gsalloc.c b/base/gsalloc.c index 89fb91e7..c9c3ba0e 100644 --- a/base/gsalloc.c +++ b/base/gsalloc.c @@ -865,8 +865,8 @@ ialloc_add_clump(gs_ref_memory_t *imem, ulong space, client_name_t cname) /* Allow acquisition of this clump. */ imem->is_controlled = false; imem->large_size = imem->clump_size; - imem->limit = max_long; - imem->gc_status.max_vm = max_long; + imem->limit = max_size_t; + imem->gc_status.max_vm = max_size_t; /* Acquire the clump. */ cp = alloc_add_clump(imem, space, cname); @@ -960,7 +960,7 @@ ialloc_set_limit(register gs_ref_memory_t * mem) 0); if (mem->gc_status.enabled) { - ulong limit = mem->gc_allocated + mem->gc_status.vm_threshold; + size_t limit = mem->gc_allocated + mem->gc_status.vm_threshold; if (limit < mem->previous_status.allocated) mem->limit = 0; @@ -971,12 +971,12 @@ ialloc_set_limit(register gs_ref_memory_t * mem) } else mem->limit = min(max_allocated, mem->gc_allocated + FORCE_GC_LIMIT); if_debug7m('0', (const gs_memory_t *)mem, - "[0]space=%d, max_vm=%ld, prev.alloc=%ld, enabled=%d, " - "gc_alloc=%ld, threshold=%ld => limit=%ld\n", - mem->space, (long)mem->gc_status.max_vm, - (long)mem->previous_status.allocated, - mem->gc_status.enabled, (long)mem->gc_allocated, - (long)mem->gc_status.vm_threshold, (long)mem->limit); + "[0]space=%d, max_vm=%"PRIdSIZE", prev.alloc=%"PRIdSIZE", enabled=%d, " + "gc_alloc=%"PRIdSIZE", threshold=%"PRIdSIZE" => limit=%"PRIdSIZE"\n", + mem->space, mem->gc_status.max_vm, + mem->previous_status.allocated, + mem->gc_status.enabled, mem->gc_allocated, + mem->gc_status.vm_threshold, mem->limit); } struct free_data @@ -2476,9 +2476,9 @@ alloc_acquire_clump(gs_ref_memory_t * mem, size_t csize, bool has_strings, return 0; } if_debug4m('0', (const gs_memory_t *)mem, - "[0]signaling space=%d, allocated=%ld, limit=%ld, requested=%ld\n", - mem->space, (long)mem->allocated, - (long)mem->limit, (long)mem->gc_status.requested); + "[0]signaling space=%d, allocated=%"PRIdSIZE", limit=%"PRIdSIZE", requested=%"PRIdSIZE"\n", + mem->space, mem->allocated, + mem->limit, mem->gc_status.requested); mem->gs_lib_ctx->gcsignal = mem->gc_status.signal_value; } } diff --git a/base/gsbitcom.c b/base/gsbitcom.c index 5af03642..6c8c78fe 100644 --- a/base/gsbitcom.c +++ b/base/gsbitcom.c @@ -13,6 +13,7 @@ CA 94945, U.S.A., +1(415)492-9861, for further information. */ +#include <assert.h> /* Oversampled bitmap compression */ #include "std.h" @@ -128,6 +129,34 @@ bits_compress_scaled(const byte * src, int srcx, uint width, uint height, byte *d = dest; uint h; + /* Assert some preconditions are satisfied: */ + + /* log2_x and log2_y must each be 0, 1 or 2. */ + assert(log2_x >= 0 && log2_x < 3); + assert(log2_y >= 0 && log2_y < 3); + + /* srcx and width must be multiple of xscale. */ + assert(srcx % xscale == 0); + assert(width % xscale == 0); + + /* height must be multiple of yscale. */ + assert(height % yscale == 0); + + /* because xscale is 1, 2 or 4 and srcx is a multiple of xscale, + in_shift_initial ends up being constrained as follows: */ + if (log2_x == 0) { + /* in_shift_initial is {0,1,2,3,4,5,6,7]} */ + assert(in_shift_initial >= 0 && in_shift_initial < 8); + } + if (log2_x == 1) { + /* in_shift_initial is {0,2,4,6}. */ + assert(in_shift_initial >= 0 && in_shift_initial < 7 && in_shift_initial % 2 == 0); + } + if (log2_x == 2) { + /* in_shift_initial is {0,4} */ + assert(in_shift_initial == 0 || in_shift_initial == 4); + } + for (h = height; h; srow += sskip, h -= yscale) { const byte *s = srow; @@ -196,8 +225,11 @@ bits_compress_scaled(const byte * src, int srcx, uint width, uint height, for (index = 0, count = 0; index != sskip; index += sraster - ) + ) { + /* Coverity 94484 incorrectly thinks in_shift can be negative. */ + /* coverity[negative_shift] */ count += half_byte_1s[(s[index] >> in_shift) & mask]; + } if (count != 0 && table[count] == 0) { /* Look at adjacent cells to help prevent */ /* dropouts. */ uint orig_count = count; diff --git a/base/gscdefs.h b/base/gscdefs.h index 6c933503..5691c2e8 100644 --- a/base/gscdefs.h +++ b/base/gscdefs.h @@ -27,7 +27,7 @@ #ifndef GS_COPYRIGHT # define GS_COPYRIGHT\ - "Copyright (C) 2019 Artifex Software, Inc. All rights reserved." + "Copyright (C) 2020 Artifex Software, Inc. All rights reserved." #endif #ifndef GS_PRODUCTFAMILY diff --git a/base/gscdevn.c b/base/gscdevn.c index d4f5aa32..5a4187cb 100644 --- a/base/gscdevn.c +++ b/base/gscdevn.c @@ -110,7 +110,7 @@ gs_cspace_new_DeviceN( gs_color_space *pcs; gs_device_n_params *pcsdevn; char **pnames; - int code; + int i, code; if (palt_cspace == 0 || !palt_cspace->type->can_be_alt_space) return_error(gs_error_rangecheck); @@ -134,12 +134,13 @@ gs_cspace_new_DeviceN( return code; } pnames = (char **)gs_alloc_bytes(pcsdevn->mem, num_components * sizeof(char *), "gs_cspace_new_DeviceN"); - memset(pnames, 0x00, num_components * sizeof(char *)); if (pnames == 0) { gs_free_object(pmem, pcsdevn->map, ".gs_cspace_build_DeviceN(map)"); gs_free_object(pmem, pcs, "gs_cspace_new_DeviceN"); return_error(gs_error_VMerror); } + for (i=0; i<num_components; i++) + pnames[i] = NULL; /* empty string for check_DeviceN_component_names */ pcs->base_space = palt_cspace; rc_increment_cs(palt_cspace); pcsdevn->names = pnames; @@ -545,7 +546,7 @@ check_DeviceN_component_names(const gs_color_space * pcs, gs_gstate * pgs) int num_comp = pcs->params.device_n.num_components; int i; int colorant_number; - byte * pname; + const char *pname; uint name_size; gs_devicen_color_map * pcolor_component_map = &pgs->color_component_map; @@ -581,8 +582,10 @@ check_DeviceN_component_names(const gs_color_space * pcs, gs_gstate * pgs) /* * Get the character string and length for the component name. */ - pname = (byte *)names[i]; - name_size = strlen(names[i]); + pname = names[i]; + if (pname == NULL) + pname = ""; + name_size = strlen(pname); /* * Compare the colorant name to the device's. If the device's * compare routine returns GX_DEVICE_COLOR_MAX_COMPONENTS then the @@ -590,13 +593,13 @@ check_DeviceN_component_names(const gs_color_space * pcs, gs_gstate * pgs) * SeparationOrder list. */ colorant_number = (*dev_proc(dev, get_color_comp_index)) - (dev, (const char *)pname, name_size, SEPARATION_NAME); + (dev, pname, name_size, SEPARATION_NAME); if (colorant_number >= 0) { /* If valid colorant name */ pcolor_component_map->color_map[i] = (colorant_number == GX_DEVICE_COLOR_MAX_COMPONENTS) ? -1 : colorant_number; } else { - if (strncmp((char *) pname, "None", name_size) != 0) { + if (strncmp(pname, "None", name_size) != 0) { non_match = true; } else { /* Device N includes one or more None Entries. We can't reduce @@ -621,7 +624,7 @@ gx_check_process_names_DeviceN(gs_color_space * pcs, gs_gstate * pgs) int i, num_comp, num_spots = 0, num_rgb_process = 0; int num_cmyk_process = 0, num_other = 0; char **names; - byte *pname; + const char *pname; uint name_size; names = pcs->params.device_n.names; @@ -629,21 +632,23 @@ gx_check_process_names_DeviceN(gs_color_space * pcs, gs_gstate * pgs) /* Step through the color space colorants */ for (i = 0; i < num_comp; i++) { - pname = (byte *)names[i]; - name_size = strlen(names[i]); + pname = names[i]; + if (pname == NULL) + pname = ""; + name_size = strlen(pname); /* Classify */ - if (strncmp((char *)pname, "None", name_size) == 0) { + if (strncmp(pname, "None", name_size) == 0) { num_other++; } else { - if (strncmp((char *)pname, "Cyan", name_size) == 0 || - strncmp((char *)pname, "Magenta", name_size) == 0 || - strncmp((char *)pname, "Yellow", name_size) == 0 || - strncmp((char *)pname, "Black", name_size) == 0) { + if (strncmp(pname, "Cyan", name_size) == 0 || + strncmp(pname, "Magenta", name_size) == 0 || + strncmp(pname, "Yellow", name_size) == 0 || + strncmp(pname, "Black", name_size) == 0) { num_cmyk_process++; - } else if (strncmp((char *)pname, "Red", name_size) == 0 || - strncmp((char *)pname, "Green", name_size) == 0 || - strncmp((char *)pname, "Blue", name_size) == 0) { + } else if (strncmp(pname, "Red", name_size) == 0 || + strncmp(pname, "Green", name_size) == 0 || + strncmp(pname, "Blue", name_size) == 0) { num_rgb_process++; } else { num_spots++; @@ -733,14 +738,18 @@ gx_set_overprint_DeviceN(const gs_color_space * pcs, gs_gstate * pgs) if ( base_type->index == gs_color_space_index_DeviceCMYK ) return base_type->set_overprint( pcs->base_space, pgs ); else - return gx_spot_colors_set_overprint( pcs->base_space, pgs); + return gx_set_no_overprint(pgs); } else { gs_overprint_params_t params; - if ((params.retain_any_comps = pgs->overprint)) { + + params.retain_any_comps = (pgs->overprint && pgs->is_fill_color) || + (pgs->stroke_overprint && !pgs->is_fill_color); + + if (params.retain_any_comps) { int i, ncomps = pcs->params.device_n.num_components; - params.retain_spot_comps = false; + params.is_fill_color = pgs->is_fill_color; /* for fill_stroke */ params.drawn_comps = 0; for (i = 0; i < ncomps; i++) { int mcomp = pcmap->color_map[i]; @@ -750,7 +759,9 @@ gx_set_overprint_DeviceN(const gs_color_space * pcs, gs_gstate * pgs) } /* Only DeviceCMYK can use overprint mode */ - pgs->effective_overprint_mode = 0; + params.effective_opm = pgs->color[0].effective_opm = 0; + params.op_state = OP_STATE_NONE; + params.is_fill_color =pgs->is_fill_color; return gs_gstate_update_overprint(pgs, ¶ms); } } @@ -765,7 +776,7 @@ gx_final_DeviceN(const gs_color_space * pcs) char **proc_names = pcs->params.device_n.process_names; int k; - for (k = 0; k > pcs->params.device_n.num_components; k++) + for (k = 0; k < pcs->params.device_n.num_components; k++) gs_free_object(mem, pcs->params.device_n.names[k], "gx_final_DeviceN"); gs_free_object(mem, pcs->params.device_n.names, "gx_final_DeviceN"); @@ -812,7 +823,10 @@ gx_serialize_DeviceN(const gs_color_space * pcs, stream * s) if (code < 0) return code; for (n=0;n < p->num_components;n++) { - code = sputs(s, (const byte *)p->names[n], strlen(p->names[n]) + 1, &m); + const char *name = p->names[n]; + if (name == NULL) + name = ""; + code = sputs(s, (const byte *)name, strlen(name) + 1, &m); if (code < 0) return code; } diff --git a/base/gscolor.c b/base/gscolor.c index edf31994..81effa94 100644 --- a/base/gscolor.c +++ b/base/gscolor.c @@ -217,12 +217,14 @@ gx_set_device_color_1(gs_gstate * pgs) { gs_color_space *pcs; - /* Get the current overprint setting so that it can be properly restored. - No need to fool with the mode */ - int overprint = pgs->overprint; + /* We need to set the stroke *and* the fill overprint off + to ensure the op compositor is disabled. They will be + restored when the graphic state is restored */ + if (pgs->stroke_overprint) + gs_setstrokeoverprint(pgs, false); + if (pgs->overprint) + gs_setfilloverprint(pgs, false); - if (overprint) - gs_setoverprint(pgs, false); pcs = gs_cspace_new_DeviceGray(pgs->memory); if (pcs) { gs_setcolorspace(pgs, pcs); @@ -234,10 +236,6 @@ gx_set_device_color_1(gs_gstate * pgs) set_nonclient_dev_color(gs_currentdevicecolor_inline(pgs), 1); pgs->log_op = lop_default; - /* If we changed the overprint condition, restore */ - if (overprint) - gs_setoverprint(pgs, true); - return 0; } diff --git a/base/gscolor2.c b/base/gscolor2.c index a076d0cb..146e4c79 100644 --- a/base/gscolor2.c +++ b/base/gscolor2.c @@ -43,8 +43,7 @@ gs_setcolorspace_only(gs_gstate * pgs, gs_color_space * pcs) if (pcs->id != cs_old->id) { rc_increment_cs(pcs); pgs->color[0].color_space = pcs; - if ( (code = pcs->type->install_cspace(pcs, pgs)) < 0 || - (pgs->overprint && (code = gs_do_set_overprint(pgs)) < 0) ) { + if ( (code = pcs->type->install_cspace(pcs, pgs)) < 0) { pgs->color[0].color_space = cs_old; rc_decrement_only_cs(pcs, "gs_setcolorspace"); } else { @@ -86,6 +85,7 @@ gs_setcolor(gs_gstate * pgs, const gs_client_color * pcc) gs_client_color cc_old = *pgs->color[0].ccolor; gx_device_color *dev_color = pgs->color[0].dev_color; bool do_unset = true; + bool op; if (pgs->in_cachedevice) return_error(gs_error_undefined); /* PLRM3 page 215. */ @@ -105,6 +105,18 @@ gs_setcolor(gs_gstate * pgs, const gs_client_color * pcc) (*pcs->type->restrict_color)(pgs->color[0].ccolor, pcs); (*pcs->type->adjust_color_count)(&cc_old, pcs, -1); + /* If we are in a situation where we are doing overprint + with OPM, then we need to update the overprint + compositor as these values can affect what is drawn */ + op = pgs->is_fill_color ? pgs->overprint : pgs->stroke_overprint; + if (pgs->color[0].effective_opm && op) { + if (pgs->is_fill_color) { + gs_setfilloverprint(pgs, op); + } else { + gs_setstrokeoverprint(pgs, op); + } + } + return 0; } diff --git a/base/gscolor3.c b/base/gscolor3.c index 832cd35a..47b22f0b 100644 --- a/base/gscolor3.c +++ b/base/gscolor3.c @@ -73,6 +73,20 @@ gs_shfill(gs_gstate * pgs, const gs_shading_t * psh) because .shfill is always called within gsave-grestore - see gs/lib . */ code = gs_setcolorspace(pgs, psh->params.ColorSpace); + if (pgs->overprint || (!pgs->overprint && dev_proc(pgs->device, dev_spec_op)(pgs->device, + gxdso_overprint_active, NULL, 0))) { + gs_overprint_params_t op_params = { 0 }; + + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] Shading Overprint\n"); + code = gs_do_set_overprint(pgs); + if (code < 0) + return code; + + op_params.op_state = OP_STATE_FILL; + gs_gstate_update_overprint(pgs, &op_params); + } + if (code < 0) return 0; if (psh->params.cie_joint_caches != NULL) { diff --git a/base/gscpixel.c b/base/gscpixel.c index 6663f1c4..37904406 100644 --- a/base/gscpixel.c +++ b/base/gscpixel.c @@ -113,7 +113,8 @@ gx_set_overprint_DevicePixel(const gs_color_space * pcs, gs_gstate * pgs) gs_overprint_params_t params; params.retain_any_comps = false; - pgs->effective_overprint_mode = 0; + params.effective_opm = pgs->color[0].effective_opm = 0; + params.is_fill_color = pgs->is_fill_color; return gs_gstate_update_overprint(pgs, ¶ms); } diff --git a/base/gscsepr.c b/base/gscsepr.c index d0c81f0f..abde8590 100644 --- a/base/gscsepr.c +++ b/base/gscsepr.c @@ -186,16 +186,17 @@ gx_set_overprint_Separation(const gs_color_space * pcs, gs_gstate * pgs) gs_devicen_color_map * pcmap = &pgs->color_component_map; if (pcmap->use_alt_cspace) - return gx_spot_colors_set_overprint(pcs->base_space, pgs); + return gx_set_no_overprint(pgs); else { gs_overprint_params_t params; - /* We should not have to blend if we don't need the alternate tint transform */ - params.retain_any_comps = pgs->overprint && - pcs->params.separation.sep_type != SEP_ALL; + params.retain_any_comps = (((pgs->overprint && pgs->is_fill_color) || + (pgs->stroke_overprint && !pgs->is_fill_color)) && + (pcs->params.separation.sep_type != SEP_ALL)); + params.is_fill_color = pgs->is_fill_color; + params.drawn_comps = 0; + params.op_state = OP_STATE_NONE; if (params.retain_any_comps) { - params.retain_spot_comps = false; - params.drawn_comps = 0; if (pcs->params.separation.sep_type != SEP_NONE) { int mcomp = pcmap->color_map[0]; @@ -204,7 +205,7 @@ gx_set_overprint_Separation(const gs_color_space * pcs, gs_gstate * pgs) } } /* Only DeviceCMYK can use overprint mode */ - pgs->effective_overprint_mode = 0; + params.effective_opm = pgs->color[0].effective_opm = 0; return gs_gstate_update_overprint(pgs, ¶ms); } } @@ -546,7 +547,7 @@ gx_serialize_Separation(const gs_color_space * pcs, stream * s) if (code < 0) return code; - code = sputs(s, (const byte *)&p->sep_name, strlen(p->sep_name) + 1, &n); + code = sputs(s, (const byte *)p->sep_name, strlen(p->sep_name) + 1, &n); if (code < 0) return code; code = cs_serialize(pcs->base_space, s); diff --git a/base/gscspace.c b/base/gscspace.c index d4ebef6d..2538c827 100644 --- a/base/gscspace.c +++ b/base/gscspace.c @@ -197,6 +197,10 @@ gs_cspace_new_scrgb(gs_memory_t *pmem, gs_gstate * pgs) pcspace->cmm_icc_profile_data->profile_handle = gsicc_get_profile_handle_buffer(pcspace->cmm_icc_profile_data->buffer, pcspace->cmm_icc_profile_data->buffer_size, pmem); + if (!pcspace->cmm_icc_profile_data->profile_handle) { + rc_decrement(pcspace, "gs_cspace_new_scrgb"); + return NULL; + } profile = pcspace->cmm_icc_profile_data; /* Compute the hash code of the profile. Everything in the @@ -465,26 +469,47 @@ gx_install_DeviceCMYK(gs_color_space * pcs, gs_gstate * pgs) } /* + * Communicate to the overprint compositor that this particular + * state overprint is not enabled. This could be due to a + * mismatched color space, or that overprint is false or the + * device does not support it. + */ +int +gx_set_no_overprint(gs_gstate* pgs) +{ + gs_overprint_params_t params = { 0 }; + + params.retain_any_comps = false; + params.op_state = OP_STATE_NONE; + params.is_fill_color = pgs->is_fill_color; + params.effective_opm = pgs->color[0].effective_opm = 0; + + return gs_gstate_update_overprint(pgs, ¶ms); +} + +/* * Push an overprint compositor onto the current device indicating that, * at most, the spot color parameters are to be preserved. * * This routine should be used for all Device, CIEBased, and ICCBased - * color spaces, except for DeviceCMKY. Also, it would not be used for - * DeviceRGB if we have simulated overprint turned on. - * These latter cases requires a - * special verson that supports overprint mode. + * color spaces, except for DeviceCMKY. */ int gx_spot_colors_set_overprint(const gs_color_space * pcs, gs_gstate * pgs) { - gs_overprint_params_t params; + gs_overprint_params_t params = {0}; + bool op = pgs->is_fill_color ? pgs->overprint : pgs->stroke_overprint; - if ((params.retain_any_comps = pgs->overprint)) { - params.retain_spot_comps = true; + if (!op) params.retain_any_comps = false; - } + else + params.retain_any_comps = true; + + params.is_fill_color = pgs->is_fill_color; + params.op_state = OP_STATE_NONE; + /* Only DeviceCMYK case can have overprint mode set to true */ - pgs->effective_overprint_mode = 0; + params.effective_opm = pgs->color[0].effective_opm = 0; return gs_gstate_update_overprint(pgs, ¶ms); } @@ -615,7 +640,7 @@ gx_set_overprint_DeviceCMYK(const gs_color_space * pcs, gs_gstate * pgs) overprint simulation. This is seen with AR when doing output preview, overprint simulation enabled of the file overprint_icc.pdf (see our test files) which has SWOP ICC based CMYK fills. In AR, if we use a - simluation ICC profile that is different than the source profile, + simulation ICC profile that is different than the source profile, overprinting is no longer previewed. We follow the same logic here. If the source and destination ICC profiles do not match, then there is effectively no overprinting enabled. This is bug 692433 */ @@ -624,13 +649,17 @@ int gx_set_overprint_cmyk(const gs_color_space * pcs, gs_gstate * pgs) gx_device * dev = pgs->device; gx_device_color_info * pcinfo = (dev == 0 ? 0 : &dev->color_info); gx_color_index drawn_comps = 0; - gs_overprint_params_t params; + gs_overprint_params_t params = { 0 }; gx_device_color *pdc; cmm_dev_profile_t *dev_profile; cmm_profile_t *output_profile = 0; int code; bool profile_ok = false; gsicc_rendering_param_t render_cond; + bool eop; + + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] gx_set_overprint_cmyk\n"); if (dev) { code = dev_proc(dev, get_profile)(dev, &dev_profile); @@ -646,6 +675,10 @@ int gx_set_overprint_cmyk(const gs_color_space * pcs, gs_gstate * pgs) else drawn_comps = pcinfo->process_comps; } + + if_debug1m(gs_debug_flag_overprint, pgs->memory, + "[overprint] gx_set_overprint_cmyk. drawn_comps = 0x%x\n", drawn_comps); + if (drawn_comps == 0) return gx_spot_colors_set_overprint(pcs, pgs); @@ -658,15 +691,26 @@ int gx_set_overprint_cmyk(const gs_color_space * pcs, gs_gstate * pgs) } } - pdc = gs_currentdevicecolor_inline(pgs); - if (color_is_set(pdc) && profile_ok && pgs->effective_overprint_mode) { + eop = gs_currentcolor_eopm(pgs); + + if_debug3m(gs_debug_flag_overprint, pgs->memory, + "[overprint] gx_set_overprint_cmyk. is_fill_color = %d, pgs->color[0].effective_opm = %d pgs->color[1].effective_opm = %d\n", + pgs->is_fill_color, pgs->color[0].effective_opm, pgs->color[1].effective_opm); + + if (profile_ok && eop) { gx_color_index nz_comps, one, temp; int code; int num_colorant[4], k; bool colorant_ok; - dev_color_proc_get_nonzero_comps((*procp)); + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] gx_set_overprint_cmyk. color_is_set, profile_ok and eop\n"); + + code = gx_set_dev_color(pgs); + if (code < 0) + return code; + pdc = gs_currentdevicecolor_inline(pgs); procp = pdc->type->get_nonzero_comps; if (pdc->ccolor_valid) { /* If we have the source colors, then use those in making the @@ -687,7 +731,9 @@ int gx_set_overprint_cmyk(const gs_color_space * pcs, gs_gstate * pgs) one = 1; colorant_ok = true; for (k = 0; k < 4; k++) { - if (pdc->ccolor.paint.values[k] != 0) { + /* Note: AR assumes the value is zero if it + is less than 0.5 out of 255 */ + if (pdc->ccolor.paint.values[k] > (0.5 / 255.0)) { if (num_colorant[k] == -1) { colorant_ok = false; } else { @@ -707,15 +753,20 @@ int gx_set_overprint_cmyk(const gs_color_space * pcs, gs_gstate * pgs) } drawn_comps &= nz_comps; } + params.is_fill_color = pgs->is_fill_color; params.retain_any_comps = true; - params.retain_spot_comps = false; params.drawn_comps = drawn_comps; + params.op_state = OP_STATE_NONE; + + if_debug2m(gs_debug_flag_overprint, pgs->memory, + "[overprint] gx_set_overprint_cmyk. retain_any_comps = %d, drawn_comps = 0x%x\n", + params.retain_any_comps, params.drawn_comps); + /* We are in CMYK, the profiles match and overprint is true. Set effective overprint mode to overprint mode but only if effective has not already been set to 0 */ - pgs->effective_overprint_mode = - (pgs->overprint_mode && pgs->effective_overprint_mode); - + params.effective_opm = pgs->color[0].effective_opm = + pgs->overprint_mode && gs_currentcolor_eopm(pgs); return gs_gstate_update_overprint(pgs, ¶ms); } diff --git a/base/gscspace.h b/base/gscspace.h index c46ffdbc..b4ef3e07 100644 --- a/base/gscspace.h +++ b/base/gscspace.h @@ -367,6 +367,9 @@ bool gs_color_space_equal(const gs_color_space *pcs1, /* Restrict a color to its legal range. */ void gs_color_space_restrict_color(gs_client_color *, const gs_color_space *); +/* Communicate to overprint compositor that overprint is not to be used */ +int gx_set_no_overprint(gs_gstate* pgs); + /* * Get the base space of an Indexed or uncolored Pattern color space, or the * alternate space of a Separation or DeviceN space. Return NULL if the diff --git a/base/gsdcolor.h b/base/gsdcolor.h index 9c553026..857ba735 100644 --- a/base/gsdcolor.h +++ b/base/gsdcolor.h @@ -360,7 +360,7 @@ struct gx_device_color_s { struct gx_device_color_saved_s { gx_device_color_type type; - gs_graphics_type_tag_t tag; /* value used to set dev_color */ + int devn_type; /* for fill / stroke */ union _svc { gx_color_index pure; struct _svbin { diff --git a/base/gsdevice.c b/base/gsdevice.c index 69fb1740..6e3ce83f 100644 --- a/base/gsdevice.c +++ b/base/gsdevice.c @@ -605,7 +605,7 @@ gs_setdevice_no_init(gs_gstate * pgs, gx_device * dev) } rc_assign(pgs->device, dev, "gs_setdevice_no_init"); gs_gstate_update_device(pgs, dev); - return pgs->overprint ? gs_do_set_overprint(pgs) : 0; + return 0; } /* Initialize a just-allocated device. */ diff --git a/base/gsdparam.c b/base/gsdparam.c index 63132129..70a2305b 100644 --- a/base/gsdparam.c +++ b/base/gsdparam.c @@ -87,7 +87,7 @@ int gx_default_get_param(gx_device *dev, char *Param, void *list) bool devicegraytok = true; /* Default if device profile stuct not set */ bool graydetection = false; bool usefastcolor = false; /* set for unmanaged color */ - bool sim_overprint = false; /* By default do not simulate overprinting */ + bool sim_overprint = true; /* By default simulate overprinting (only valid with cmyk devices) */ bool prebandthreshold = true, temp_bool = false; if(strcmp(Param, "OutputDevice") == 0){ @@ -506,7 +506,7 @@ gx_default_get_params(gx_device * dev, gs_param_list * plist) bool devicegraytok = true; /* Default if device profile stuct not set */ bool graydetection = false; bool usefastcolor = false; /* set for unmanaged color */ - bool sim_overprint = false; /* By default do not simulate overprinting */ + bool sim_overprint = true; /* By default simulate overprinting */ bool prebandthreshold = true, temp_bool; int k; int color_accuracy = MAX_COLOR_ACCURACY; @@ -1421,7 +1421,7 @@ gx_default_put_params(gx_device * dev, gs_param_list * plist) bool devicegraytok = true; bool graydetection = false; bool usefastcolor = false; - bool sim_overprint = false; + bool sim_overprint = true; bool prebandthreshold = false; bool use_antidropout = dev->color_info.use_antidropout_downscaler; bool temp_bool; diff --git a/base/gsdps1.c b/base/gsdps1.c index c59534cd..020eac67 100644 --- a/base/gsdps1.c +++ b/base/gsdps1.c @@ -217,7 +217,7 @@ gs_rectfill(gs_gstate * pgs, const gs_rect * pr, uint count) gs_gstate_color_load(pgs) >= 0 && (*dev_proc(pdev, get_alpha_bits)) (pdev, go_graphics) <= 1 && - (!pgs->overprint || !pgs->effective_overprint_mode) + (!pgs->overprint || !gs_currentcolor_eopm(pgs)) ) { uint i; gs_fixed_rect clip_rect; diff --git a/base/gsftopts.h b/base/gsftopts.h new file mode 100644 index 00000000..ce7113ef --- /dev/null +++ b/base/gsftopts.h @@ -0,0 +1,19 @@ +/* Copyright (C) 2001-2019 Artifex Software, Inc. + All Rights Reserved. + + This software is provided AS-IS with no warranty, either express or + implied. + + This software is distributed under license and may not be copied, + modified or distributed except as expressly authorized under the terms + of the license contained in the file LICENSE in this distribution. + + Refer to licensing information at http://www.artifex.com or contact + Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, + CA 94945, U.S.A., +1(415)492-9861, for further information. +*/ + +#include "freetype/config/ftoption.h" + +/* Freetype build customisations */ +#undef TT_CONFIG_OPTION_EMBEDDED_BITMAPS diff --git a/base/gsfunc4.c b/base/gsfunc4.c index 1508d49b..f71fa63a 100644 --- a/base/gsfunc4.c +++ b/base/gsfunc4.c @@ -305,9 +305,16 @@ fn_PtCr_evaluate(const gs_function_t *pfn_common, const float *in, float *out) vsp->value.f = gs_cos_degrees(vsp->value.f); continue; case PtCr_cvi: - vsp->value.i = (int)(vsp->value.f); + { + /* Strictly speaking assigning one element of union + * to another, overlapping element of a different size is + * undefined behavior, hence assign to an intermediate variable + */ + int int1 = (int)(vsp->value.f); + vsp->value.i = int1; vsp->type = CVT_INT; continue; + } case PtCr_cvr: continue; /* prepare handled it */ case PtCr_div: diff --git a/base/gshtscr.c b/base/gshtscr.c index 1379c217..7ceb20cf 100644 --- a/base/gshtscr.c +++ b/base/gshtscr.c @@ -346,6 +346,8 @@ pick_cell_size(gs_screen_halftone * ph, const gs_matrix * pmat, ulong max_size, return_error(gs_error_rangecheck); while ((fabs(u0) + fabs(v0)) * rt < 4) ++rt; + phcp->C = 0; + try_size: better = false; { @@ -443,6 +445,15 @@ pick_cell_size(gs_screen_halftone * ph, const gs_matrix * pmat, ulong max_size, goto done; } } + /* It is possible (for ridiculous halftone screens) to reach this point without ever + * having been able to find a suitable screen. In that case we will not have set + * phcp and so phcp->C will be undefined. We can detect this condition by checking rt + * is 1 (so its the first attempt to find a screen) and better is false (we didn't find + * a better match). If that happens, exit with an error. + */ + if (rt == 1 && !better) + return_error(gs_error_rangecheck); + if (phcp->C < min_levels) { /* We don't have enough levels yet. Keep going. */ ++rt; goto try_size; diff --git a/base/gsicc.c b/base/gsicc.c index 5095d4f3..6cf4803e 100644 --- a/base/gsicc.c +++ b/base/gsicc.c @@ -353,12 +353,11 @@ gx_remap_concrete_ICC(const gs_color_space * pcs, const frac * pconc, * To device space */ int -gx_remap_ICC(const gs_client_color * pcc, const gs_color_space * pcs, +gx_remap_ICC_with_link(const gs_client_color * pcc, const gs_color_space * pcs, gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev, - gs_color_select_t select) + gs_color_select_t select, gsicc_link_t *icc_link) { - gsicc_link_t *icc_link; - gsicc_rendering_param_t rendering_params; + cmm_dev_profile_t *dev_profile; unsigned short psrc[GS_CLIENT_COLOR_MAX_COMPONENTS], psrc_cm[GS_CLIENT_COLOR_MAX_COMPONENTS]; unsigned short *psrc_temp; frac conc[GS_CLIENT_COLOR_MAX_COMPONENTS]; @@ -368,20 +367,15 @@ gx_remap_ICC(const gs_client_color * pcc, const gs_color_space * pcs, #endif int num_des_comps; int code; - cmm_dev_profile_t *dev_profile; code = dev_proc(dev, get_profile)(dev, &dev_profile); if (code < 0) return code; if (dev_profile == NULL) return gs_throw(gs_error_Fatal, "Attempting to do ICC remap with no profile"); - num_des_comps = gsicc_get_device_profile_comps(dev_profile); - rendering_params.black_point_comp = pgs->blackptcomp; - rendering_params.graphics_type_tag = dev->graphics_type_tag; - rendering_params.override_icc = false; - rendering_params.preserve_black = gsBKPRESNOTSPECIFIED; - rendering_params.rendering_intent = pgs->renderingintent; - rendering_params.cmm = gsCMM_DEFAULT; + if (icc_link == NULL) + return gs_throw(gs_error_Fatal, "Attempting to do ICC remap with no link"); + /* Need to clear out psrc_cm in case we have separation bands that are not color managed */ memset(psrc_cm,0,sizeof(unsigned short)*GS_CLIENT_COLOR_MAX_COMPONENTS); @@ -397,14 +391,7 @@ gx_remap_ICC(const gs_client_color * pcc, const gs_color_space * pcs, psrc[k] = (unsigned short) (pcc->paint.values[k]*65535.0); } } - /* Get a link from the cache, or create if it is not there. Need to get 16 bit profile */ - icc_link = gsicc_get_link(pgs, dev, pcs, NULL, &rendering_params, pgs->memory); - if (icc_link == NULL) { - #ifdef DEBUG - gs_warn("Could not create ICC link: Check profiles"); - #endif - return -1; - } + num_des_comps = gsicc_get_device_profile_comps(dev_profile); if (icc_link->is_identity) { psrc_temp = &(psrc[0]); } else { @@ -434,8 +421,6 @@ gx_remap_ICC(const gs_client_color * pcc, const gs_color_space * pcs, if_debug0m(gs_debug_flag_icc, dev->memory, "]\n"); } #endif - /* Release the link */ - gsicc_release_link(icc_link); /* Now do the remap for ICC which amounts to the alpha application the transfer function and potentially the halftoning */ /* Right now we need to go from unsigned short to frac. I really @@ -453,6 +438,42 @@ gx_remap_ICC(const gs_client_color * pcc, const gs_color_space * pcs, return 0; } +int +gx_remap_ICC(const gs_client_color * pcc, const gs_color_space * pcs, + gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev, + gs_color_select_t select) +{ + gsicc_link_t *icc_link; + gsicc_rendering_param_t rendering_params; + cmm_dev_profile_t *dev_profile; + int code; + + code = dev_proc(dev, get_profile)(dev, &dev_profile); + if (code < 0) + return code; + if (dev_profile == NULL) + return gs_throw(gs_error_Fatal, "Attempting to do ICC remap with no profile"); + + rendering_params.black_point_comp = pgs->blackptcomp; + rendering_params.graphics_type_tag = dev->graphics_type_tag; + rendering_params.override_icc = false; + rendering_params.preserve_black = gsBKPRESNOTSPECIFIED; + rendering_params.rendering_intent = pgs->renderingintent; + rendering_params.cmm = gsCMM_DEFAULT; + /* Get a link from the cache, or create if it is not there. Need to get 16 bit profile */ + icc_link = gsicc_get_link(pgs, dev, pcs, NULL, &rendering_params, pgs->memory); + if (icc_link == NULL) { +#ifdef DEBUG + gs_warn("Could not create ICC link: Check profiles"); +#endif + return_error(gs_error_unknownerror); + } + code = gx_remap_ICC_with_link(pcc, pcs, pdc, pgs, dev, select, icc_link); + /* Release the link */ + gsicc_release_link(icc_link); + return code; +} + /* * Same as above, but there is no rescale of CIELAB colors. This is needed since the rescale is not needed when the source data is image based. @@ -494,10 +515,10 @@ gx_remap_ICC_imagelab(const gs_client_color * pcc, const gs_color_space * pcs, /* Get a link from the cache, or create if it is not there. Need to get 16 bit profile */ icc_link = gsicc_get_link(pgs, dev, pcs, NULL, &rendering_params, pgs->memory); if (icc_link == NULL) { - #ifdef DEBUG - gs_warn("Could not create ICC link: Check profiles"); - #endif - return -1; +#ifdef DEBUG + gs_warn("Could not create ICC link: Check profiles"); +#endif + return_error(gs_error_unknownerror); } if (icc_link->is_identity) { psrc_temp = &(psrc[0]); @@ -562,10 +583,10 @@ gx_concretize_ICC( /* Get a link from the cache, or create if it is not there. Get 16 bit profile */ icc_link = gsicc_get_link(pgs, dev, pcs, NULL, &rendering_params, pgs->memory); if (icc_link == NULL) { - #ifdef DEBUG - gs_warn("Could not create ICC link: Check profiles"); - #endif - return -1; +#ifdef DEBUG + gs_warn("Could not create ICC link: Check profiles"); +#endif + return_error(gs_error_unknownerror); } /* Transform the color */ if (icc_link->is_identity) { @@ -623,6 +644,9 @@ gs_cspace_build_ICC( gs_memory_t * pmem ) { gs_color_space *pcspace = gs_cspace_alloc(pmem, &gs_color_space_type_ICC); + if (!pcspace) { + return_error(gs_error_VMerror); + } *ppcspace = pcspace; return 0; @@ -653,9 +677,10 @@ gx_set_overprint_ICC(const gs_color_space * pcs, gs_gstate * pgs) bool cs_ok; cmm_dev_profile_t *dev_profile; bool gray_to_k; + bool op = pgs->is_fill_color ? pgs->overprint : pgs->stroke_overprint; if (dev == 0 || pcinfo == NULL) - return gx_spot_colors_set_overprint(pcs, pgs); + return gx_set_no_overprint(pgs); dev_proc(dev, get_profile)(dev, &dev_profile); gray_to_k = dev_profile->devicegraytok; @@ -666,8 +691,12 @@ gx_set_overprint_ICC(const gs_color_space * pcs, gs_gstate * pgs) cs_ok = ((pcs->cmm_icc_profile_data->data_cs == gsCMYK) || (pcs->cmm_icc_profile_data->data_cs == gsGRAY && gray_to_k)); - if (!pgs->overprint || pcinfo->opmode == GX_CINFO_OPMODE_NOT || !cs_ok) - return gx_spot_colors_set_overprint(pcs, pgs); + if_debug4m(gs_debug_flag_overprint, pgs->memory, + "[overprint] gx_set_overprint_ICC. cs_ok = %d is_fill_color = %d overprint = %d stroke_overprint = %d \n", + cs_ok, pgs->is_fill_color, pgs->overprint, pgs->stroke_overprint); + + if (!op || pcinfo->opmode == GX_CINFO_OPMODE_NOT || !cs_ok) + return gx_set_no_overprint(pgs); else return gx_set_overprint_cmyk(pcs, pgs); } @@ -688,7 +717,7 @@ gx_change_color_model(gx_device *dev, int num_comps, int bit_depth) int k; if (!((num_comps == 1) || (num_comps == 3) || (num_comps == 4))) - return -1; + return_error(gs_error_unknownerror); dev->color_info.max_components = num_comps; dev->color_info.num_components = num_comps; diff --git a/base/gsicc.h b/base/gsicc.h index 8a3d6837..28347acc 100644 --- a/base/gsicc.h +++ b/base/gsicc.h @@ -35,4 +35,8 @@ extern cs_proc_remap_color(gx_remap_ICC_imagelab); int gx_change_color_model(gx_device *dev, int num_comps, int bit_depth); +int gx_remap_ICC_with_link(const gs_client_color * pcc, const gs_color_space * pcs, + gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev, + gs_color_select_t select, gsicc_link_t *icc_link); + #endif /* gsicc_INCLUDED */ diff --git a/base/gsicc_cache.c b/base/gsicc_cache.c index e87f9c0a..713c4ba4 100644 --- a/base/gsicc_cache.c +++ b/base/gsicc_cache.c @@ -104,9 +104,10 @@ gsicc_cache_new(gs_memory_t *memory) "gsicc_cache_new"); if ( result == NULL ) return(NULL); -#ifdef MEMENTO_SQUEEZE_BUILD - result->lock = NULL; -#else + result->head = NULL; + result->num_links = 0; + result->cache_full = false; + result->memory = memory->stable_memory; result->lock = gx_monitor_label(gx_monitor_alloc(memory->stable_memory), "gsicc_cache_new"); if (result->lock == NULL) { @@ -120,12 +121,7 @@ gsicc_cache_new(gs_memory_t *memory) gs_free_object(memory->stable_memory, result, "gsicc_cache_new"); return(NULL); } -#endif rc_init_free(result, memory->stable_memory, 1, rc_gsicc_link_cache_free); - result->head = NULL; - result->num_links = 0; - result->cache_full = false; - result->memory = memory->stable_memory; if_debug2m(gs_debug_flag_icc, memory, "[icc] Allocating link cache = 0x%p memory = 0x%p\n", result, result->memory); @@ -165,12 +161,10 @@ icc_linkcache_finalize(const gs_memory_t *mem, void *ptr) } #endif if (link_cache->rc.ref_count == 0) { -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_free(link_cache->lock); link_cache->lock = NULL; gx_semaphore_free(link_cache->full_wait); link_cache->full_wait = 0; -#endif } } @@ -190,7 +184,6 @@ gsicc_alloc_link_dev(gs_memory_t *memory, cmm_profile_t *src_profile, if (result == NULL) return NULL; -#ifndef MEMENTO_SQUEEZE_BUILD result->lock = gx_monitor_label(gx_monitor_alloc(memory->stable_memory), "gsicc_link_new"); if (result->lock == NULL) { @@ -198,7 +191,6 @@ gsicc_alloc_link_dev(gs_memory_t *memory, cmm_profile_t *src_profile, return NULL; } gx_monitor_enter(result->lock); -#endif /* set up placeholder values */ result->is_monitored = false; @@ -283,15 +275,6 @@ gsicc_alloc_link(gs_memory_t *memory, gsicc_hashlink_t hashcode) "gsicc_alloc_link"); if (result == NULL) return NULL; -#ifndef MEMENTO_SQUEEZE_BUILD - result->lock = gx_monitor_label(gx_monitor_alloc(memory->stable_memory), - "gsicc_link_new"); - if (result->lock == NULL) { - gs_free_object(memory->stable_memory, result, "gsicc_alloc_link(lock)"); - return NULL; - } - gx_monitor_enter(result->lock); /* this link is owned by this thread until built and made "valid" */ -#endif /* set up placeholder values */ result->is_monitored = false; result->orig_procs.map_buffer = NULL; @@ -313,6 +296,14 @@ gsicc_alloc_link(gs_memory_t *memory, gsicc_hashlink_t hashcode) result->valid = false; /* not yet complete */ result->memory = memory->stable_memory; + result->lock = gx_monitor_label(gx_monitor_alloc(memory->stable_memory), + "gsicc_link_new"); + if (result->lock == NULL) { + gs_free_object(memory->stable_memory, result, "gsicc_alloc_link(lock)"); + return NULL; + } + gx_monitor_enter(result->lock); /* this link is owned by this thread until built and made "valid" */ + if_debug1m('^', result->memory, "[^]icclink 0x%p init = 1\n", result); return result; @@ -324,9 +315,7 @@ gsicc_set_link_data(gsicc_link_t *icc_link, void *link_handle, bool includes_softproof, bool includes_devlink, bool pageneutralcolor, gsicc_colorbuffer_t data_cs) { -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_enter(lock); /* lock the cache while changing data */ -#endif icc_link->link_handle = link_handle; gscms_get_link_dim(link_handle, &(icc_link->num_input), &(icc_link->num_output), icc_link->memory); @@ -349,20 +338,16 @@ gsicc_set_link_data(gsicc_link_t *icc_link, void *link_handle, /* release the lock of the link so it can now be used */ icc_link->valid = true; -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_leave(icc_link->lock); gx_monitor_leave(lock); /* done with updating, let everyone run */ -#endif } static void gsicc_link_free_contents(gsicc_link_t *icc_link) { icc_link->procs.free_link(icc_link); -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_free(icc_link->lock); icc_link->lock = NULL; -#endif } void @@ -514,9 +499,7 @@ gsicc_findcachelink(gsicc_hashlink_t hash, gsicc_link_cache_t *icc_link_cache, int64_t hashcode = hash.link_hashcode; /* Look through the cache for the hashcode */ -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_enter(icc_link_cache->lock); -#endif /* List scanning is fast, so we scan the entire list, this includes */ /* links that are currently unused, but still in the cache (zero_ref) */ @@ -540,7 +523,6 @@ gsicc_findcachelink(gsicc_hashlink_t hash, gsicc_link_cache_t *icc_link_cache, if_debug3m('^', curr->memory, "[^]%s 0x%p ++ => %d\n", "icclink", curr, curr->ref_count); while (curr->valid == false) { -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_leave(icc_link_cache->lock); /* exit to let other threads run briefly */ gx_monitor_enter(curr->lock); /* wait until we can acquire the lock */ gx_monitor_leave(curr->lock); /* it _should be valid now */ @@ -551,19 +533,14 @@ gsicc_findcachelink(gsicc_hashlink_t hash, gsicc_link_cache_t *icc_link_cache, emprintf1(curr->memory, "link 0x%p lock released, but still not valid.\n", curr); /* Breakpoint here */ } gx_monitor_enter(icc_link_cache->lock); /* re-enter to loop and check */ -#endif } -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_leave(icc_link_cache->lock); -#endif return(curr); /* success */ } prev = curr; curr = curr->next; } -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_leave(icc_link_cache->lock); -#endif return NULL; } @@ -578,9 +555,7 @@ gsicc_remove_link(gsicc_link_t *link, const gs_memory_t *memory) "[icc] Removing link = 0x%p memory = 0x%p\n", link, memory->stable_memory); /* NOTE: link->ref_count must be 0: assert ? */ -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_enter(icc_link_cache->lock); -#endif if (link->ref_count != 0) { emprintf2(memory, "link at 0x%p being removed, but has ref_count = %d\n", link, link->ref_count); } @@ -604,19 +579,15 @@ gsicc_remove_link(gsicc_link_t *link, const gs_memory_t *memory) /* use it (ref_count > 0). Skip freeing it if so. */ if (curr == link && link->ref_count == 0) { icc_link_cache->num_links--; /* no longer in the cache */ -#ifndef MEMENTO_SQUEEZE_BUILD if (icc_link_cache->cache_full) { icc_link_cache->cache_full = false; gx_semaphore_signal(icc_link_cache->full_wait); /* let a waiting thread run */ } gx_monitor_leave(icc_link_cache->lock); -#endif gsicc_link_free(link, memory); /* outside link cache now. */ } else { /* even if we didn't find the link to remove, unlock the cache */ -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_leave(icc_link_cache->lock); -#endif } } @@ -805,12 +776,12 @@ gsicc_get_link(const gs_gstate *pgs1, gx_device *dev_in, an override setting. Also, only use the blackpoint if overide_bp is set. Note that this can conflict with intents set from the source objects so the user needs to understand what options to set. */ - gs_color_space_index index = - gsicc_get_default_type(gs_input_profile); code = dev_proc(dev, get_profile)(dev, &dev_profile); + if (code < 0) + return NULL; + /* Check for unmanaged color case */ - if (index < gs_color_space_index_DevicePixel && - dev_profile->usefastcolor) { + if (gsicc_use_fast_color(gs_input_profile) > 0 && dev_profile->usefastcolor) { /* Return a "link" from the source space to the device color space */ gsicc_link_t *link = gsicc_nocm_get_link(pgs, dev, gs_input_profile->num_comps); @@ -874,9 +845,7 @@ gsicc_alloc_link_entry(gsicc_link_cache_t *icc_link_cache, *ret_link = NULL; /* First see if we can add a link */ /* TODO: this should be based on memory usage, not just num_links */ -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_enter(icc_link_cache->lock); -#endif while (icc_link_cache->num_links >= ICC_CACHE_MAXLINKS) { /* Look through the cache for first zero ref count to re-use that entry. When ref counts go to zero, the icc_link will have been moved to @@ -897,12 +866,10 @@ gsicc_alloc_link_entry(gsicc_link_cache_t *icc_link_cache, link = link->next; } if (link == NULL) { -#ifndef MEMENTO_SQUEEZE_BUILD icc_link_cache->cache_full = true; /* unlock while waiting for a link to come available */ gx_monitor_leave(icc_link_cache->lock); gx_semaphore_wait(icc_link_cache->full_wait); -#endif /* repeat the findcachelink to see if some other thread has */ /* already started building the link we need */ *ret_link = gsicc_findcachelink(hash, icc_link_cache, @@ -911,9 +878,7 @@ gsicc_alloc_link_entry(gsicc_link_cache_t *icc_link_cache, if (*ret_link != NULL) return true; -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_enter(icc_link_cache->lock); /* restore the lock */ -#endif } else { /* Remove the zero ref_count link profile we found. */ /* Even if we remove this link, we may still be maxed out so*/ @@ -934,10 +899,8 @@ gsicc_alloc_link_entry(gsicc_link_cache_t *icc_link_cache, icc_link_cache->head = *ret_link; icc_link_cache->num_links++; } -#ifndef MEMENTO_SQUEEZE_BUILD /* unlock before returning */ gx_monitor_leave(icc_link_cache->lock); -#endif return false; /* we didn't find it, but return a link to be filled */ } @@ -1154,10 +1117,8 @@ gsicc_get_link_profile(const gs_gstate *pgs, gx_device *dev, proof_profile->buffer_size, memory); proof_profile->profile_handle = cms_proof_profile; -#if !defined(MEMENTO_SQUEEZE_BUILD) if (!gscms_is_threadsafe()) gx_monitor_enter(proof_profile->lock); -#endif } else { /* Cant create the link */ gsicc_remove_link(link, cache_mem); @@ -1174,10 +1135,8 @@ gsicc_get_link_profile(const gs_gstate *pgs, gx_device *dev, devlink_profile->buffer_size, memory); devlink_profile->profile_handle = cms_devlink_profile; -#if !defined(MEMENTO_SQUEEZE_BUILD) if (!gscms_is_threadsafe()) gx_monitor_enter(devlink_profile->lock); -#endif } else { /* Cant create the link */ gsicc_remove_link(link, cache_mem); @@ -1185,7 +1144,6 @@ gsicc_get_link_profile(const gs_gstate *pgs, gx_device *dev, } } } -#if !defined(MEMENTO_SQUEEZE_BUILD) /* Profile reading of same structure not thread safe in CMM */ if (!gscms_is_threadsafe()) { gx_monitor_enter(gs_input_profile->lock); @@ -1193,7 +1151,6 @@ gsicc_get_link_profile(const gs_gstate *pgs, gx_device *dev, gx_monitor_enter(gs_output_profile->lock); } } -#endif /* We may have to worry about special handling for DeviceGray to DeviceCMYK to ensure that Gray is mapped to K only. This is only done once and then it is cached and the link used. Note that Adobe @@ -1235,7 +1192,6 @@ gsicc_get_link_profile(const gs_gstate *pgs, gx_device *dev, rendering_params, src_dev_link, cms_flags, cache_mem->non_gc_memory); -#if !defined(MEMENTO_SQUEEZE_BUILD) if (!gscms_is_threadsafe()) { if (include_softproof) { gx_monitor_leave(proof_profile->lock); @@ -1244,20 +1200,17 @@ gsicc_get_link_profile(const gs_gstate *pgs, gx_device *dev, gx_monitor_leave(devlink_profile->lock); } } -#endif } else { link_handle = gscms_get_link(cms_input_profile, cms_output_profile, rendering_params, cms_flags, cache_mem->non_gc_memory); } -#if !defined(MEMENTO_SQUEEZE_BUILD) if (!gscms_is_threadsafe()) { if (!src_dev_link) { gx_monitor_leave(gs_output_profile->lock); } gx_monitor_leave(gs_input_profile->lock); } -#endif if (link_handle != NULL) { if (gs_input_profile->data_cs == gsGRAY) pageneutralcolor = false; @@ -1284,13 +1237,11 @@ gsicc_get_link_profile(const gs_gstate *pgs, gx_device *dev, if_debug2m('^', link->memory, "[^]icclink 0x%p -- => %d\n", link, link->ref_count); -#ifndef MEMENTO_SQUEEZE_BUILD if (icc_link_cache->cache_full) { icc_link_cache->cache_full = false; gx_semaphore_signal(icc_link_cache->full_wait); /* let a waiting thread run */ } gx_monitor_leave(link->lock); -#endif gsicc_remove_link(link, cache_mem); return NULL; } @@ -1778,9 +1729,7 @@ gsicc_release_link(gsicc_link_t *icclink) icc_link_cache = icclink->icc_link_cache; -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_enter(icc_link_cache->lock); -#endif if_debug2m('^', icclink->memory, "[^]icclink 0x%p -- => %d\n", icclink, icclink->ref_count - 1); /* Decrement the reference count */ @@ -1818,17 +1767,13 @@ gsicc_release_link(gsicc_link_t *icclink) prev->next = icclink; icclink->next = curr; } -#ifndef MEMENTO_SQUEEZE_BUILD /* Finally, if some thread was waiting because the cache was full, let it run */ if (icc_link_cache->cache_full) { icc_link_cache->cache_full = false; gx_semaphore_signal(icc_link_cache->full_wait); /* let a waiting thread run */ } -#endif } -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_leave(icc_link_cache->lock); -#endif } /* Used to initialize the buffer description prior to color conversion */ diff --git a/base/gsicc_create.c b/base/gsicc_create.c index d0732575..ef464600 100644 --- a/base/gsicc_create.c +++ b/base/gsicc_create.c @@ -1206,7 +1206,7 @@ add_lutAtoBtype(unsigned char *input_ptr, gsicc_lutatob *lutatobparts) } /* Then the matrix */ if (lutatobparts->matrix != NULL) { - add_matrixwithbias(curr_ptr,&(lutatobparts->matrix->cu.u),true); + add_matrixwithbias(curr_ptr,(float*) lutatobparts->matrix,true); curr_ptr += (12*4); /* M curves */ if (lutatobparts->m_curves != NULL) { @@ -1537,7 +1537,7 @@ create_lutAtoBprofile(unsigned char **pp_buffer_in, icHeader *header, /* Multiply the matrix in the AtoB object by the cam so that the data is in D50 */ if (lutatobparts->matrix == NULL) { - gsicc_create_copy_matrix3(cam, &(temp_matrix.cu.u)); + gsicc_create_copy_matrix3(cam, (float*) &temp_matrix); lutatobparts->matrix = &temp_matrix; } else { if (yonly) { @@ -1759,7 +1759,7 @@ gsicc_create_abc_merge(gsicc_lutatob *atob_parts, gs_matrix3 *matrixLMN, to the mapping of X=Y by the identity table. If there are b_curves these have an output that is 16 bit. */ if (atob_parts->b_curves == NULL) { - scale_matrix(&(atob_parts->matrix->cu.u), 2.0); + scale_matrix((float*) atob_parts->matrix, 2.0); } return 0; } diff --git a/base/gsicc_lcms2.c b/base/gsicc_lcms2.c index 3428d4ff..2fc3645c 100644 --- a/base/gsicc_lcms2.c +++ b/base/gsicc_lcms2.c @@ -25,9 +25,7 @@ #include "gsicc_cms.h" #include "gxdevice.h" -#ifndef MEMENTO_SQUEEZE_BUILD #define USE_LCMS2_LOCKING -#endif #ifdef USE_LCMS2_LOCKING #include "gxsync.h" diff --git a/base/gsicc_lcms2mt.c b/base/gsicc_lcms2mt.c index ff128eed..ec65fec7 100644 --- a/base/gsicc_lcms2mt.c +++ b/base/gsicc_lcms2mt.c @@ -29,9 +29,7 @@ #include "cal.h" #endif -#ifndef MEMENTO_SQUEEZE_BUILD #define USE_LCMS2_LOCKING -#endif #ifdef USE_LCMS2_LOCKING #include "gxsync.h" @@ -877,6 +875,7 @@ gscms_create(gs_memory_t *memory) #ifdef WITH_CAL cmsPlugin(ctx, cal_cms_extensions()); + cmsPlugin(ctx, cal_cms_extensions2()); #endif cmsSetLogErrorHandler(ctx, gscms_error); diff --git a/base/gsicc_manage.c b/base/gsicc_manage.c index 9de2a521..a841df7b 100644 --- a/base/gsicc_manage.c +++ b/base/gsicc_manage.c @@ -188,6 +188,10 @@ gsicc_set_iccsmaskprofile(const char *pname, gsicc_get_profile_handle_buffer(icc_profile->buffer, icc_profile->buffer_size, mem); + if (!icc_profile->profile_handle) { + rc_free_icc_profile(mem, icc_profile, "gsicc_set_iccsmaskprofile"); + return NULL; + } /* Compute the hash code of the profile. Everything in the ICC manager will have it's hash code precomputed */ gsicc_get_icc_buff_hash(icc_profile->buffer, &(icc_profile->hashcode), @@ -496,6 +500,23 @@ gsicc_get_default_type(cmm_profile_t *profile_data) } } +int +gsicc_use_fast_color(cmm_profile_t* profile_data) +{ + switch (profile_data->default_match) { + case CIE_A: + case CIE_ABC: + case CIE_DEF: + case CIE_DEFG: + case LAB_TYPE: + case NAMED_TYPE: + case DEVICEN_TYPE: + return 0; + default: + return profile_data->num_comps; + } +} + bool gsicc_is_default_profile(cmm_profile_t *profile_data) { @@ -533,20 +554,14 @@ void gsicc_adjust_profile_rc(cmm_profile_t *profile_data, int delta, const char *name_str) { if (profile_data != NULL) { -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_enter(profile_data->lock); -#endif if (profile_data->rc.ref_count == 1 && delta < 0) { profile_data->rc.ref_count = 0; /* while locked */ -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_leave(profile_data->lock); -#endif rc_free_struct(profile_data, name_str); } else { rc_adjust(profile_data, delta, name_str); -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_leave(profile_data->lock); -#endif } } } @@ -1440,7 +1455,7 @@ gsicc_new_device_profile_array(gs_memory_t *memory) result->usefastcolor = false; /* Default is to not use fast color */ result->prebandthreshold = true; result->supports_devn = false; - result->sim_overprint = false; /* Default is now not to simulate overprint */ + result->sim_overprint = true; /* Default is to simulate overprint */ rc_init_free(result, memory->non_gc_memory, 1, rc_free_profile_array); return result; } @@ -2141,17 +2156,14 @@ gsicc_profile_new(stream *s, gs_memory_t *memory, const char* pname, result->v2_size = 0; result->release = gscms_release_profile; /* Default case */ -#ifdef MEMENTO_SQUEEZE_BUILD - result->lock = NULL; -#else result->lock = gx_monitor_label(gx_monitor_alloc(mem_nongc), "gsicc_manage"); if (result->lock == NULL) { + gs_free_object(mem_nongc, result->buffer, "gsicc_load_profile"); gs_free_object(mem_nongc, result, "gsicc_profile_new"); gs_free_object(mem_nongc, nameptr, "gsicc_profile_new"); return NULL; } -#endif if_debug1m(gs_debug_flag_icc, mem_nongc, "[icc] allocating ICC profile = 0x%p\n", result); return result; @@ -2185,12 +2197,10 @@ rc_free_icc_profile(gs_memory_t * mem, void *ptr_in, client_name_t cname) profile->name_length = 0; } profile->hash_is_valid = 0; -#ifndef MEMENTO_SQUEEZE_BUILD if (profile->lock != NULL) { gx_monitor_free(profile->lock); profile->lock = NULL; } -#endif /* If we had a DeviceN profile with names deallocate that now */ if (profile->spotnames != NULL) { /* Free the linked list in this object */ @@ -2846,7 +2856,7 @@ dump_icc_buffer(const gs_memory_t *mem, int buffersize, char filename[],byte *Bu gs_sprintf(full_file_name,"%d)%s_debug.icc",global_icc_index,filename); fid = gp_fopen(mem, full_file_name,"wb"); - fwrite(Buffer,sizeof(unsigned char),buffersize,fid); + gp_fwrite(Buffer,sizeof(unsigned char),buffersize,fid); fclose(fid); } #endif diff --git a/base/gsicc_manage.h b/base/gsicc_manage.h index 33f92aa8..c21407e7 100644 --- a/base/gsicc_manage.h +++ b/base/gsicc_manage.h @@ -112,6 +112,7 @@ cmm_profile_t* gsicc_get_gscs_profile(gs_color_space *gs_colorspace, int gsicc_init_profile_info(cmm_profile_t *profile); int gsicc_initialize_default_profile(cmm_profile_t *icc_profile); gs_color_space_index gsicc_get_default_type(cmm_profile_t *profile_data); +int gsicc_use_fast_color(cmm_profile_t* profile_data); bool gsicc_is_default_profile(cmm_profile_t *profile_data); bool gsicc_profile_from_ps(cmm_profile_t *profile_data); void gsicc_adjust_profile_rc(cmm_profile_t *profile_data, int delta, const char *name_str); diff --git a/base/gsimage.c b/base/gsimage.c index be7d2f2c..7b4602fc 100644 --- a/base/gsimage.c +++ b/base/gsimage.c @@ -223,6 +223,24 @@ gs_image_begin_typed(const gs_image_common_t * pic, gs_gstate * pgs, if (code < 0) return code; } + + if (pgs->overprint || (!pgs->overprint && dev_proc(pgs->device, dev_spec_op)(pgs->device, + gxdso_overprint_active, NULL, 0))) { + gs_overprint_params_t op_params = { 0 }; + + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] Image Overprint\n"); + code = gs_do_set_overprint(pgs); + if (code < 0) + return code; + + op_params.op_state = OP_STATE_FILL; + gs_gstate_update_overprint(pgs, &op_params); + + dev = gs_currentdevice(pgs); + dev2 = dev; + } + /* Imagemask with shading color needs a special optimization with converting the image into a clipping. Check for such case after gs_gstate_color_load is done, diff --git a/base/gsioram.c b/base/gsioram.c index c0199b75..e21e3207 100644 --- a/base/gsioram.c +++ b/base/gsioram.c @@ -113,8 +113,8 @@ static int s_ram_switch(stream *, bool); static int -ramfs_errno_to_code(int errno) { - switch (errno) { +ramfs_errno_to_code(int error_number) { + switch (error_number) { case RAMFS_NOTFOUND: return_error(gs_error_undefinedfilename); case RAMFS_NOACCESS: diff --git a/base/gsiorom.c b/base/gsiorom.c index 6f76427c..6516568a 100644 --- a/base/gsiorom.c +++ b/base/gsiorom.c @@ -83,6 +83,8 @@ gs_private_st_ptrs1(st_romfs_file_enum, struct romfs_file_enum_s, "romfs_file_en static uint32_t get_u32_big_endian(const uint32_t *a); +/* coverity[ -tainted_data_return ] */ +/* coverity[ -tainted_data_argument : arg-0 ] */ static uint32_t get_u32_big_endian(const uint32_t *a) { diff --git a/base/gsiparam.h b/base/gsiparam.h index 2bad83bd..af9044b9 100644 --- a/base/gsiparam.h +++ b/base/gsiparam.h @@ -150,6 +150,10 @@ typedef enum { /* Define an opaque type for a color space. */ typedef struct gs_color_space_s gs_color_space; +/* NOTE: Ensure that this macro always ends on a pointer + * (or on something that will align at least with a pointer). + * Otherwise you'll get problems on 64bit builds, presumably + * because something is doing sizeof(this) ? */ #define gs_pixel_image_common\ gs_data_image_common;\ /*\ @@ -162,6 +166,14 @@ typedef struct gs_color_space_s gs_color_space; * see the discussion of RasterOp in Language.htm.\ */\ bool CombineWithColor;\ + /*\ + * Usually we can tell whether we are in an smask\ + * by asking the device we are in. Sometimes (like\ + * when dealing with the masked portion of a type 3\ + * image), we are using a different device, and so\ + * can't use that method. Instead the caller will\ + * indicate it here. */\ + int override_in_smask;\ /*\ * Define the source color space (must be NULL for masks).\ *\ diff --git a/base/gslibctx.c b/base/gslibctx.c index 64e214d6..fbfd9143 100644 --- a/base/gslibctx.c +++ b/base/gslibctx.c @@ -79,12 +79,15 @@ gs_lib_ctx_set_icc_directory(const gs_memory_t *mem_gc, const char* pname, } gs_free_object(p_ctx_mem, p_ctx->profiledir, "gs_lib_ctx_set_icc_directory"); + p_ctx->profiledir = NULL; + p_ctx->profiledir_len = 0; } /* User param string. Must allocate in non-gc memory */ result = (char*) gs_alloc_bytes(p_ctx_mem, dir_namelen+1, "gs_lib_ctx_set_icc_directory"); - if (result == NULL) + if (result == NULL) { return -1; + } strcpy(result, pname); p_ctx->profiledir = result; p_ctx->profiledir_len = dir_namelen; @@ -262,14 +265,10 @@ int gs_lib_ctx_init(gs_lib_ctx_t *ctx, gs_memory_t *mem) memset(pio, 0, sizeof(*pio)); if (ctx != NULL) { -#ifdef MEMENTO_SQUEEZE_BUILD - goto Failure; -#else pio->core = ctx->core; gx_monitor_enter((gx_monitor_t *)(pio->core->monitor)); pio->core->refs++; gx_monitor_leave((gx_monitor_t *)(pio->core->monitor)); -#endif /* MEMENTO_SQUEEZE_BUILD */ } else { pio->core = (gs_lib_ctx_core_t *)gs_alloc_bytes_immovable(mem, sizeof(gs_lib_ctx_core_t), @@ -305,7 +304,6 @@ int gs_lib_ctx_init(gs_lib_ctx_t *ctx, gs_memory_t *mem) pio->core->fs->memory = mem; pio->core->fs->next = NULL; -#ifndef MEMENTO_SQUEEZE_BUILD pio->core->monitor = gx_monitor_alloc(mem); if (pio->core->monitor == NULL) { #ifdef WITH_CAL @@ -316,7 +314,6 @@ int gs_lib_ctx_init(gs_lib_ctx_t *ctx, gs_memory_t *mem) gs_free_object(mem, pio, "gs_lib_ctx_init"); return -1; } -#endif /* MEMENTO_SQUEEZE_BUILD */ pio->core->refs = 1; pio->core->memory = mem; @@ -414,17 +411,11 @@ void gs_lib_ctx_fin(gs_memory_t *mem) mem_err_print = NULL; #endif -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_enter((gx_monitor_t *)(ctx->core->monitor)); -#endif refs = --ctx->core->refs; -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_leave((gx_monitor_t *)(ctx->core->monitor)); -#endif if (refs == 0) { -#ifndef MEMENTO_SQUEEZE_BUILD gx_monitor_free((gx_monitor_t *)(ctx->core->monitor)); -#endif #ifdef WITH_CAL cal_fin(ctx->core->cal_ctx, ctx->core->memory); #endif @@ -577,7 +568,7 @@ gs_check_file_permission (gs_memory_t *mem, const char *fname, const int len, co return code; } -static int +static void rewrite_percent_specifiers(char *s) { char *match_start; @@ -589,7 +580,7 @@ rewrite_percent_specifiers(char *s) while (*s && *s != '%') s++; if (*s == 0) - return 0; + return; match_start = s; s++; /* Skip over flags (just one instance of any given flag, in any order) */ @@ -629,10 +620,9 @@ rewrite_percent_specifiers(char *s) *s == 'X') { /* Success! */ memset(match_start, '*', s - match_start + 1); - return 1; + return; } } - return 0; } /* For the OutputFile permission we have to deal with formattable strings @@ -648,6 +638,7 @@ gs_add_outputfile_control_path(gs_memory_t *mem, const char *fname) char *fp, f[gp_file_name_sizeof]; const int pipe = 124; /* ASCII code for '|' */ const int len = strlen(fname); + int i; /* Be sure the string copy will fit */ if (len >= gp_file_name_sizeof) @@ -655,29 +646,25 @@ gs_add_outputfile_control_path(gs_memory_t *mem, const char *fname) strcpy(f, fname); fp = f; /* Try to rewrite any %d (or similar) in the string */ - if (!rewrite_percent_specifiers(f)) { - /* No %d found, so check for pipes */ - int i; - fp = f; - for (i = 0; i < len; i++) { - if (f[i] == pipe) { - int code; - - fp = &f[i + 1]; - /* Because we potentially have to check file permissions at two levels - for the output file (gx_device_open_output_file and the low level - fopen API, if we're using a pipe, we have to add both the full string, - (including the '|', and just the command to which we pipe - since at - the pipe_fopen(), the leading '|' has been stripped. - */ - code = gs_add_control_path(mem, gs_permit_file_writing, f); - if (code < 0) - return code; - break; - } - if (!IS_WHITESPACE(f[i])) - break; + rewrite_percent_specifiers(f); + for (i = 0; i < len; i++) { + if (f[i] == pipe) { + int code; + + fp = &f[i + 1]; + /* Because we potentially have to check file permissions at two levels + for the output file (gx_device_open_output_file and the low level + fopen API, if we're using a pipe, we have to add both the full string, + (including the '|', and just the command to which we pipe - since at + the pipe_fopen(), the leading '|' has been stripped. + */ + code = gs_add_control_path(mem, gs_permit_file_writing, f); + if (code < 0) + return code; + break; } + if (!IS_WHITESPACE(f[i])) + break; } return gs_add_control_path(mem, gs_permit_file_writing, fp); } @@ -688,6 +675,7 @@ gs_remove_outputfile_control_path(gs_memory_t *mem, const char *fname) char *fp, f[gp_file_name_sizeof]; const int pipe = 124; /* ASCII code for '|' */ const int len = strlen(fname); + int i; /* Be sure the string copy will fit */ if (len >= gp_file_name_sizeof) @@ -695,29 +683,24 @@ gs_remove_outputfile_control_path(gs_memory_t *mem, const char *fname) strcpy(f, fname); fp = f; /* Try to rewrite any %d (or similar) in the string */ - if (!rewrite_percent_specifiers(f)) { - /* No %d found, so check for pipes */ - int i; - fp = f; - for (i = 0; i < len; i++) { - if (f[i] == pipe) { - int code; - - fp = &f[i + 1]; - /* Because we potentially have to check file permissions at two levels - for the output file (gx_device_open_output_file and the low level - fopen API, if we're using a pipe, we have to add both the full string, - (including the '|', and just the command to which we pipe - since at - the pipe_fopen(), the leading '|' has been stripped. - */ - code = gs_remove_control_path(mem, gs_permit_file_writing, f); - if (code < 0) - return code; - break; - } - if (!IS_WHITESPACE(f[i])) - break; + for (i = 0; i < len; i++) { + if (f[i] == pipe) { + int code; + + fp = &f[i + 1]; + /* Because we potentially have to check file permissions at two levels + for the output file (gx_device_open_output_file and the low level + fopen API, if we're using a pipe, we have to add both the full string, + (including the '|', and just the command to which we pipe - since at + the pipe_fopen(), the leading '|' has been stripped. + */ + code = gs_remove_control_path(mem, gs_permit_file_writing, f); + if (code < 0) + return code; + break; } + if (!IS_WHITESPACE(f[i])) + break; } return gs_remove_control_path(mem, gs_permit_file_writing, fp); } diff --git a/base/gsline.c b/base/gsline.c index 89cd40d6..80997be5 100644 --- a/base/gsline.c +++ b/base/gsline.c @@ -177,7 +177,7 @@ gx_set_dash(gx_dash_params * dash, const float *pattern, uint length, dist_left = 0.0; if (mem && ppat) { gs_free_object(mem, ppat, "gx_set_dash(old pattern)"); - ppat = 0; + ppat = NULL; } } else { uint size = length * sizeof(float); @@ -205,16 +205,16 @@ gx_set_dash(gx_dash_params * dash, const float *pattern, uint length, (dist_left > 0 || pattern[index] != 0) ) ink = !ink, index++; - if (mem) { - if (ppat == 0) + if (mem != NULL) { + if (ppat == NULL) ppat = (float *)gs_alloc_bytes(mem, size, "gx_set_dash(pattern)"); else if (length != dash->pattern_size) ppat = gs_resize_object(mem, ppat, size, "gx_set_dash(pattern)"); - if (ppat == 0) - return_error(gs_error_VMerror); } + if (ppat == NULL) + return_error(gs_error_VMerror); if (ppat != pattern) memcpy(ppat, pattern, length * sizeof(float)); } diff --git a/base/gsmalloc.c b/base/gsmalloc.c index 4a2c2c20..971976a0 100644 --- a/base/gsmalloc.c +++ b/base/gsmalloc.c @@ -119,7 +119,7 @@ gs_malloc_memory_init(void) mem->stable_memory = 0; /* just for tidyness, never referenced */ mem->procs = gs_malloc_memory_procs; mem->allocated = 0; - mem->limit = max_long; + mem->limit = max_size_t; mem->used = 0; mem->max_used = 0; mem->gs_lib_ctx = 0; @@ -127,13 +127,11 @@ gs_malloc_memory_init(void) mem->thread_safe_memory = (gs_memory_t *)mem; /* this allocator is thread safe */ /* Allocate a monitor to serialize access to structures within */ mem->monitor = NULL; /* prevent use during initial allocation */ -#ifndef MEMENTO_SQUEEZE_BUILD mem->monitor = gx_monitor_label(gx_monitor_alloc((gs_memory_t *)mem), "heap"); if (mem->monitor == NULL) { free(mem); return NULL; } -#endif return mem; } @@ -188,7 +186,7 @@ gs_heap_alloc_bytes(gs_memory_t * mem, size_t size, client_name_t cname) } else { size_t added = size + sizeof(gs_malloc_block_t); - if (added <= size || mmem->limit - added < mmem->used) + if (added <= size || added > mmem->limit || mmem->limit - added < mmem->used) set_msg("exceeded limit"); else if ((ptr = (byte *) Memento_label(malloc(added), cname)) == 0) set_msg("failed"); diff --git a/base/gsmchunk.c b/base/gsmchunk.c index 10629b1e..f890de0e 100644 --- a/base/gsmchunk.c +++ b/base/gsmchunk.c @@ -1022,25 +1022,29 @@ chunk_alloc_struct_array(gs_memory_t * mem, size_t num_elements, static void * chunk_resize_object(gs_memory_t * mem, void *ptr, size_t new_num_elements, client_name_t cname) { - /* This isn't particularly efficient, but it is rarely used */ - chunk_obj_node_t *obj = (chunk_obj_node_t *)(((byte *)ptr) - SIZEOF_ROUND_ALIGN(chunk_obj_node_t)); - size_t new_size = (obj->type->ssize * new_num_elements); - size_t old_size = obj->size - obj->padding; - /* get the type from the old object */ - gs_memory_type_ptr_t type = obj->type; - void *new_ptr; - gs_memory_chunk_t *cmem = (gs_memory_chunk_t *)mem; - size_t save_max_used = cmem->max_used; + void *new_ptr = NULL; + + if (ptr != NULL) { + /* This isn't particularly efficient, but it is rarely used */ + chunk_obj_node_t *obj = (chunk_obj_node_t *)(((byte *)ptr) - SIZEOF_ROUND_ALIGN(chunk_obj_node_t)); + size_t new_size = (obj->type->ssize * new_num_elements); + size_t old_size = obj->size - obj->padding; + /* get the type from the old object */ + gs_memory_type_ptr_t type = obj->type; + gs_memory_chunk_t *cmem = (gs_memory_chunk_t *)mem; + size_t save_max_used = cmem->max_used; + + if (new_size == old_size) + return ptr; + if ((new_ptr = chunk_obj_alloc(mem, new_size, type, cname)) == 0) + return NULL; + memcpy(new_ptr, ptr, min(old_size, new_size)); + chunk_free_object(mem, ptr, cname); + cmem->max_used = save_max_used; + if (cmem->used > cmem->max_used) + cmem->max_used = cmem->used; + } - if (new_size == old_size) - return ptr; - if ((new_ptr = chunk_obj_alloc(mem, new_size, type, cname)) == 0) - return 0; - memcpy(new_ptr, ptr, min(old_size, new_size)); - chunk_free_object(mem, ptr, cname); - cmem->max_used = save_max_used; - if (cmem->used > cmem->max_used) - cmem->max_used = cmem->used; return new_ptr; } @@ -1396,9 +1400,13 @@ chunk_consolidate_free(gs_memory_t *mem) static size_t chunk_object_size(gs_memory_t * mem, const void *ptr) { - chunk_obj_node_t *obj = (chunk_obj_node_t *)(((byte *)ptr) - SIZEOF_ROUND_ALIGN(chunk_obj_node_t)); + if (ptr != NULL) { + chunk_obj_node_t *obj = (chunk_obj_node_t *)(((byte *)ptr) - SIZEOF_ROUND_ALIGN(chunk_obj_node_t)); + + return obj->size - obj->padding; + } - return obj->size - obj->padding; + return 0; } static gs_memory_type_ptr_t diff --git a/base/gsovrc.c b/base/gsovrc.c index d29808d1..3a60a865 100644 --- a/base/gsovrc.c +++ b/base/gsovrc.c @@ -16,6 +16,7 @@ /* overprint/overprint mode compositor implementation */ +#include "assert_.h" #include "memory_.h" #include "gx.h" #include "gserrors.h" @@ -29,6 +30,8 @@ #include "gxoprect.h" #include "gsbitops.h" #include "gxgstate.h" +#include "gxdevsop.h" +#include "gxcldev.h" /* GC descriptor for gs_overprint_t */ private_st_gs_overprint_t(); @@ -109,10 +112,11 @@ c_overprint_equal(const gs_composite_t * pct0, const gs_composite_t * pct1) pparams0 = &((const gs_overprint_t *)(pct0))->params; pparams1 = &((const gs_overprint_t *)(pct1))->params; + + if (pparams0->is_fill_color != pparams1->is_fill_color) + return true; /* this changed */ if (!pparams0->retain_any_comps) return !pparams1->retain_any_comps; - else if (pparams0->retain_spot_comps) - return pparams1->retain_spot_comps; else return pparams0->drawn_comps == pparams1->drawn_comps; } else @@ -123,8 +127,10 @@ c_overprint_equal(const gs_composite_t * pct0, const gs_composite_t * pct1) * Bits corresponding to boolean values in the first byte of the string * representation of an overprint compositor. */ -#define OVERPRINT_ANY_COMPS 1 -#define OVERPRINT_SPOT_COMPS 2 +#define OVERPRINT_ANY_COMPS 1 +#define OVERPRINT_IS_FILL_COLOR 2 +#define OVERPRINT_SET_FILL_COLOR 0xc +#define OVERPRINT_EOPM 0x10 /* * Convert an overprint compositor to string form for use by the command @@ -137,19 +143,39 @@ c_overprint_write(const gs_composite_t * pct, byte * data, uint * psize, gx_devi byte flags = 0; int used = 1, avail = *psize; + /* Clist writer needs to store active state of op device so that + we know when to send compositor actions to disable it */ + if (pparams->op_state == OP_STATE_NONE) { + if (pparams->is_fill_color) { + if (pparams->retain_any_comps) + cdev->op_fill_active = true; + else + cdev->op_fill_active = false; + } else { + if (pparams->retain_any_comps) + cdev->op_stroke_active = true; + else + cdev->op_stroke_active = false; + } + } + /* encoded the booleans in a single byte */ - if (pparams->retain_any_comps) { - flags |= OVERPRINT_ANY_COMPS; - if (pparams->retain_spot_comps) - flags |= OVERPRINT_SPOT_COMPS; - /* write out the component bits only if necessary (and possible) */ - if (!pparams->retain_spot_comps) { + if (pparams->retain_any_comps || pparams->is_fill_color || pparams->op_state) { + flags |= (pparams->retain_any_comps) ? OVERPRINT_ANY_COMPS : 0; + flags |= (pparams->is_fill_color) ? OVERPRINT_IS_FILL_COLOR : 0; + flags |= (pparams->op_state) << 2; + flags |= (pparams->effective_opm) << 4; + + /* write out the component bits */ + if (pparams->retain_any_comps) { uint tmp_size = (avail > 0 ? avail - 1 : 0); int code = write_color_index(pparams->drawn_comps, data + 1, - &tmp_size); + &tmp_size); if (code < 0 && code != gs_error_rangecheck) return code; used += tmp_size; + if_debug0m('v', ((const gx_device*)cdev)->memory, "[v] drawn_comps stored\n"); + } } @@ -158,7 +184,8 @@ c_overprint_write(const gs_composite_t * pct, byte * data, uint * psize, gx_devi if (used > avail) return_error(gs_error_rangecheck); data[0] = flags; - if_debug1m('v', ((const gx_device *)cdev)->memory, "[v]c_overprint_write(%d)\n", flags); + if_debug2m('v', ((const gx_device *)cdev)->memory, "[v]c_overprint_write(%d), drawn_comps=0x%x\n", + flags, pparams->drawn_comps); return 0; } @@ -180,19 +207,27 @@ c_overprint_read( if (size < 1) return_error(gs_error_rangecheck); flags = *data; - if_debug1m('v', mem, "[v]c_overprint_read(%d)\n", flags); + if_debug1m('v', mem, "[v]c_overprint_read(%d)", flags); params.retain_any_comps = (flags & OVERPRINT_ANY_COMPS) != 0; - params.retain_spot_comps = (flags & OVERPRINT_SPOT_COMPS) != 0; + params.is_fill_color = (flags & OVERPRINT_IS_FILL_COLOR) != 0; + params.op_state = (flags & OVERPRINT_SET_FILL_COLOR) >> 2; + params.effective_opm = (flags & OVERPRINT_EOPM) >> 4; params.idle = 0; params.drawn_comps = 0; /* check if the drawn_comps array is present */ - if (params.retain_any_comps && (!params.retain_spot_comps)) { + if (params.retain_any_comps) { code = read_color_index(¶ms.drawn_comps, data + 1, size - 1); if (code < 0) return code; nbytes += code; + if_debug0m('v', mem, ", drawn_comps read"); } + if_debug1m('v', mem, ", retain_any_comps=%d", params.retain_any_comps); + if_debug1m('v', mem, ", is_fill_color=%d", params.is_fill_color); + if_debug1m('v', mem, ", drawn_comps=0x%x", params.drawn_comps); + if_debug1m('v', mem, ", op_state=%d", params.op_state); + if_debug0m('v', mem, "\n"); code = gs_create_overprint(ppct, ¶ms, mem); return code < 0 ? code : nbytes; } @@ -203,9 +238,7 @@ c_overprint_read( static gs_compositor_closing_state c_overprint_is_closing(const gs_composite_t *this, gs_composite_t **ppcte, gx_device *dev) { - if (*ppcte != NULL && (*ppcte)->type->comp_id != GX_COMPOSITOR_OVERPRINT) - return COMP_ENQUEUE; - return COMP_REPLACE_PREV; + return COMP_ENQUEUE; /* maybe extra work, but these actions are fast */ } static composite_create_default_compositor_proc(c_overprint_create_default_compositor); @@ -280,8 +313,7 @@ gs_is_overprint_compositor(const gs_composite_t * pct) * The data fields reflect entries in the gs_overprint_params_t * structure. There is no explicit retain_any_comps field, as the current * setting of this field can be determined by checking the fill_rectangle - * method. There is also no retain_spot_comps field, as the code will - * will determine explicitly which components are to be drawn. + * method. */ typedef struct overprint_device_s { gx_device_forward_common; @@ -291,7 +323,11 @@ typedef struct overprint_device_s { * target color space is not separable and linear. It is also used * for the devn color values since we may need more than 8 components */ - gx_color_index drawn_comps; + OP_FS_STATE op_state; /* used to select drawn_comps, fill or stroke */ + gx_color_index drawn_comps_fill; + gx_color_index drawn_comps_stroke; /* pparams->is_fill_color determines which to set */ + bool retain_none_stroke; /* These are used to know when we can set the procs to forward */ + bool retain_none_fill; /* * The mask of gx_color_index bits to be retained during a drawing @@ -313,7 +349,8 @@ typedef struct overprint_device_s { * required. It will be required if depth > 8 and the host processor * is little-endian. */ - gx_color_index retain_mask; + gx_color_index retain_mask_fill; + gx_color_index retain_mask_stroke; bool copy_alpha_hl; @@ -325,6 +362,13 @@ typedef struct overprint_device_s { gx_device_procs generic_overprint_procs; gx_device_procs no_overprint_procs; gx_device_procs sep_overprint_procs; + + /* Due to the setting of stroke and fill overprint we can get in + a situation where one makes the device idle. We need to know + if that is the case when doing a compositor push even when + no parameters have changed */ + bool is_idle; + } overprint_device_t; gs_private_st_suffix_add0_final( st_overprint_device_t, @@ -354,6 +398,11 @@ static dev_proc_put_params(overprint_put_params); static dev_proc_get_page_device(overprint_get_page_device); static dev_proc_create_compositor(overprint_create_compositor); static dev_proc_get_color_comp_index(overprint_get_color_comp_index); +static dev_proc_fill_stroke_path(overprint_fill_stroke_path); +static dev_proc_fill_path(overprint_fill_path); +static dev_proc_stroke_path(overprint_stroke_path); +static dev_proc_text_begin(overprint_text_begin); +static dev_proc_dev_spec_op(overprint_dev_spec_op); static const gx_device_procs no_overprint_procs = { overprint_open_device, /* open_device */ @@ -421,13 +470,16 @@ static const gx_device_procs no_overprint_procs = { 0, /* push_transparency_state */ 0, /* pop_transparency_state */ 0, /* put_image */ - 0, /* dev_spec_op */ + overprint_dev_spec_op, /* dev_spec_op */ gx_forward_copy_planes, 0, /* get profile */ 0, /* set graphics type tag */ 0, /* strip_copy_rop2 */ 0, /* strip_tile_rect_devn */ - gx_forward_copy_alpha_hl_color /* copy_alpha_hl_color */ + gx_forward_copy_alpha_hl_color, /* copy_alpha_hl_color */ + NULL, /* process_page */\ + NULL, /* transform_pixel_region */\ + gx_forward_fill_stroke_path, /* fill_stroke */\ }; /* @@ -489,8 +541,8 @@ static const gx_device_procs generic_overprint_procs = { gx_default_copy_alpha, /* copy alpha */ 0, /* get_band */ gx_default_copy_rop, /* copy_rop */ - gx_default_fill_path, /* fill_path */ - gx_default_stroke_path, /* stroke_path */ + overprint_fill_path, /* fill_path */ + overprint_stroke_path, /* stroke_path */ gx_default_fill_mask, /* fill_mask */ gx_default_fill_trapezoid, /* fill_trapezoid */ gx_default_fill_parallelogram, /* fill_parallelogram */ @@ -507,7 +559,7 @@ static const gx_device_procs generic_overprint_procs = { 0, /* map_color_rgb_alpha */ overprint_create_compositor, /* create_compositor */ 0, /* get_hardware_params */ - gx_default_text_begin, /* text_begin */ + overprint_text_begin, /* text_begin */ 0, /* gx_finish_copydevice */ 0, /* begin_transparency_group */ 0, /* end_transparency_group */ @@ -530,13 +582,16 @@ static const gx_device_procs generic_overprint_procs = { 0, /* push_transparency_state */ 0, /* pop_transparency_state */ 0, /* put_image */ - 0, /* dev_spec_op */ + overprint_dev_spec_op, /* dev_spec_op */ gx_forward_copy_planes, 0, /* get profile */ 0, /* set graphics type tag */ 0, /* strip_copy_rop2 */ 0, /* strip_tile_rect_devn */ - gx_forward_copy_alpha_hl_color /* copy_alpha_hl_color */ + gx_forward_copy_alpha_hl_color, /* copy_alpha_hl_color */ + NULL, /* process_page */\ + NULL, /* transform_pixel_region */\ + overprint_fill_stroke_path, /* fill_stroke */ }; static const gx_device_procs sep_overprint_procs = { @@ -564,14 +619,14 @@ static const gx_device_procs sep_overprint_procs = { gx_default_copy_alpha, /* copy alpha */ 0, /* get_band */ gx_default_copy_rop, /* copy_rop */ - gx_default_fill_path, /* fill_path */ - gx_default_stroke_path, /* stroke_path */ + overprint_fill_path, /* fill_path */ + overprint_stroke_path, /* stroke_path */ gx_default_fill_mask, /* fill_mask */ gx_default_fill_trapezoid, /* fill_trapezoid */ gx_default_fill_parallelogram, /* fill_parallelogram */ gx_default_fill_triangle, /* fill_triangle */ gx_default_draw_thin_line, /* draw_thin_line */ - gx_default_begin_image, /* begin_image */ + gx_default_begin_image, /* begin_image */ 0, /* image_data (obsolete) */ 0, /* end_image (obsolete) */ gx_default_strip_tile_rectangle, /* strip_tile_rectangle */ @@ -582,7 +637,7 @@ static const gx_device_procs sep_overprint_procs = { 0, /* map_color_rgb_alpha */ overprint_create_compositor, /* create_compositor */ 0, /* get_hardware_params */ - gx_default_text_begin, /* text_begin */ + overprint_text_begin, /* text_begin */ 0, /* gx_finish_copydevice */ 0, /* begin_transparency_group */ 0, /* end_transparency_group */ @@ -605,13 +660,16 @@ static const gx_device_procs sep_overprint_procs = { 0, /* push_transparency_state */ 0, /* pop_transparency_state */ 0, /* put_image */ - 0, /* dev_spec_op */ + overprint_dev_spec_op, /* dev_spec_op */ overprint_copy_planes, /* copy planes */ 0, /* get profile */ 0, /* set graphics type tag */ 0, /* strip_copy_rop2 */ 0, /* strip_tile_rect_devn */ - overprint_copy_alpha_hl_color /* copy_alpha_hl_color */ + overprint_copy_alpha_hl_color, /* copy_alpha_hl_color */ + NULL, /* process_page */\ + NULL, /* transform_pixel_region */\ + overprint_fill_stroke_path, /* fill_stroke */ }; /* @@ -686,10 +744,12 @@ swap_color_index(int depth, gx_color_index color) * is separable. */ static void -set_retain_mask(overprint_device_t * opdev) +set_retain_mask(overprint_device_t * opdev, bool is_fill_color) { uchar i, ncomps = opdev->color_info.num_components; - gx_color_index drawn_comps = opdev->drawn_comps, retain_mask = 0; + gx_color_index drawn_comps = is_fill_color ? + opdev->drawn_comps_fill : opdev->drawn_comps_stroke; + gx_color_index retain_mask = 0; #if !ARCH_IS_BIG_ENDIAN int depth = opdev->color_info.depth; #endif @@ -702,21 +762,10 @@ set_retain_mask(overprint_device_t * opdev) if (depth > 8) retain_mask = swap_color_index(depth, retain_mask); #endif - opdev->retain_mask = retain_mask; -} - -/* enlarge mask of non-zero components */ -static gx_color_index -check_drawn_comps(uchar ncomps, frac cvals[GX_DEVICE_COLOR_MAX_COMPONENTS]) -{ - uchar i; - gx_color_index mask = 0x1, drawn_comps = 0; - - for (i = 0; i < ncomps; i++, mask <<= 1) { - if (cvals[i] != frac_0) - drawn_comps |= mask; - } - return drawn_comps; + if (is_fill_color) + opdev->retain_mask_fill = retain_mask; + else + opdev->retain_mask_stroke = retain_mask; } /* @@ -728,68 +777,83 @@ check_drawn_comps(uchar ncomps, frac cvals[GX_DEVICE_COLOR_MAX_COMPONENTS]) */ static int update_overprint_params( - overprint_device_t * opdev, - const gs_overprint_params_t * pparams ) + overprint_device_t* opdev, + const gs_overprint_params_t* pparams) { - uchar ncomps = opdev->color_info.num_components; + /* We can only turn off the overprint compositor if + BOTH the stroke and fill op are false. Otherwise + we will turn it off when setting one and turn on + when setting the other (or vice versa) */ + + /* Note if pparams is to set the opdev fill stroke state. Do that now and exit */ + if (pparams->op_state != OP_STATE_NONE) { + opdev->op_state = pparams->op_state; + return 0; + } + + if_debug4m(gs_debug_flag_overprint, opdev->memory, + "[overprint] update_overprint_params enter. retain_any_comps = %d, idle = %d, drawn_comps = 0x%x, is_fill_color = %d\n", + pparams->retain_any_comps, pparams->idle, pparams->drawn_comps, pparams->is_fill_color); /* check if overprint is to be turned off */ if (!pparams->retain_any_comps || pparams->idle) { - /* if fill_rectangle forwards, overprint is already off */ - if (dev_proc(opdev, fill_rectangle) != gx_forward_fill_rectangle) - memcpy( &opdev->procs, - &opdev->no_overprint_procs, - sizeof(opdev->no_overprint_procs) ); + if (pparams->is_fill_color) { + opdev->retain_none_fill = true; + opdev->drawn_comps_fill = + ((gx_color_index)1 << (opdev->color_info.num_components)) - (gx_color_index)1; + } else { + opdev->retain_none_stroke = true; + opdev->drawn_comps_stroke = + ((gx_color_index)1 << (opdev->color_info.num_components)) - (gx_color_index)1; + } + + /* Set to forward only if both stroke and fill are not retaining any + and if we have not already set it to forward */ + if (dev_proc(opdev, fill_rectangle) != gx_forward_fill_rectangle && + opdev->retain_none_fill && opdev->retain_none_stroke) { + memcpy(&opdev->procs, + &opdev->no_overprint_procs, + sizeof(opdev->no_overprint_procs)); + opdev->is_idle = true; + if_debug0m(gs_debug_flag_overprint, opdev->memory, + "[overprint] overprint fill_rectangle set to forward\n"); + } + + if_debug4m(gs_debug_flag_overprint, opdev->memory, + "[overprint] update_overprint_params exit. drawn_comps_fill = 0x%x, drawn_comps_stroke = 0x%x, retain_none_fill = %d, retain_none_stroke = %d \n", + opdev->drawn_comps_fill, opdev->drawn_comps_stroke, opdev->retain_none_fill, opdev->retain_none_stroke); return 0; } + opdev->is_idle = false; /* set the procedures according to the color model */ - if (colors_are_separable_and_linear(&opdev->color_info)) - memcpy( &opdev->procs, - &opdev->sep_overprint_procs, - sizeof(opdev->sep_overprint_procs) ); - else - memcpy( &opdev->procs, - &opdev->generic_overprint_procs, - sizeof(opdev->generic_overprint_procs) ); + if (colors_are_separable_and_linear(&opdev->color_info)) { + memcpy(&opdev->procs, &opdev->sep_overprint_procs, + sizeof(opdev->sep_overprint_procs)); + if_debug0m(gs_debug_flag_overprint, opdev->memory, + "[overprint] overprint procs set to sep\n"); + } else { + memcpy(&opdev->procs, &opdev->generic_overprint_procs, + sizeof(opdev->generic_overprint_procs)); + if_debug0m(gs_debug_flag_overprint, opdev->memory, + "[overprint] overprint procs set to generic\n"); + } - /* see if we need to determine the spot color components */ - if (!pparams->retain_spot_comps) { - opdev->drawn_comps = pparams->drawn_comps; + if (pparams->is_fill_color) { + opdev->retain_none_fill = false; + opdev->drawn_comps_fill = pparams->drawn_comps; } else { - gx_device * dev = (gx_device *)opdev; - subclass_color_mappings scm; - frac cvals[GX_DEVICE_COLOR_MAX_COMPONENTS]; - gx_color_index drawn_comps = 0; - static const frac frac_13 = float2frac(1.0 / 3.0); - - scm = get_color_mapping_procs_subclass(dev); - - map_gray_subclass(scm, frac_13, cvals); - drawn_comps |= check_drawn_comps(ncomps, cvals); - - map_rgb_subclass(scm, 0, frac_13, frac_0, frac_0, cvals); - drawn_comps |= check_drawn_comps(ncomps, cvals); - map_rgb_subclass(scm, 0, frac_0, frac_13, frac_0, cvals); - drawn_comps |= check_drawn_comps(ncomps, cvals); - map_rgb_subclass(scm, 0, frac_0, frac_0, frac_13, cvals); - drawn_comps |= check_drawn_comps(ncomps, cvals); - - map_cmyk_subclass(scm, frac_13, frac_0, frac_0, frac_0, cvals); - drawn_comps |= check_drawn_comps(ncomps, cvals); - map_cmyk_subclass(scm, frac_0, frac_13, frac_0, frac_0, cvals); - drawn_comps |= check_drawn_comps(ncomps, cvals); - map_cmyk_subclass(scm, frac_0, frac_0, frac_13, frac_0, cvals); - drawn_comps |= check_drawn_comps(ncomps, cvals); - map_cmyk_subclass(scm, frac_0, frac_0, frac_0, frac_13, cvals); - drawn_comps |= check_drawn_comps(ncomps, cvals); - - opdev->drawn_comps = drawn_comps; + opdev->retain_none_stroke = false; + opdev->drawn_comps_stroke = pparams->drawn_comps; } + if_debug4m(gs_debug_flag_overprint, opdev->memory, + "[overprint] update_overprint_params exit. drawn_comps_fill = 0x%x, drawn_comps_stroke = 0x%x, retain_none_fill = %d, retain_none_stroke = %d \n", + opdev->drawn_comps_fill, opdev->drawn_comps_stroke, opdev->retain_none_fill, opdev->retain_none_stroke); + /* if appropriate, update the retain_mask field */ if (colors_are_separable_and_linear(&opdev->color_info)) - set_retain_mask(opdev); + set_retain_mask(opdev, pparams->is_fill_color); return 0; } @@ -816,6 +880,7 @@ overprint_open_device(gx_device * dev) if ((code = gs_opendevice(tdev)) >= 0) { gx_device_copy_params(dev, tdev); opdev->copy_alpha_hl = false; + opdev->is_idle = false; } return code; } @@ -893,11 +958,25 @@ overprint_create_compositor( return gx_default_create_compositor(dev, pcdev, pct, pgs, memory, cdev); else { gs_overprint_params_t params = ((const gs_overprint_t *)pct)->params; - int code; + overprint_device_t *opdev = (overprint_device_t *)dev; + int code = 0; + bool update; + + if (params.is_fill_color) + update = (params.drawn_comps != opdev->drawn_comps_fill) || + ((params.retain_any_comps == 0) != opdev->retain_none_fill); + else + update = (params.drawn_comps != opdev->drawn_comps_stroke) || + ((params.retain_any_comps == 0) != opdev->retain_none_stroke); params.idle = pct->idle; - /* device must already exist, so just update the parameters */ - code = update_overprint_params((overprint_device_t *)dev, ¶ms); + /* device must already exist, so just update the parameters if settings change */ + if_debug6m(gs_debug_flag_overprint, opdev->memory, + "[overprint] overprint_create_compositor test for change. params.idle = %d vs. opdev->is_idle = %d \n params.is_fill_color = %d: params.drawn_comps = 0x%x vs. opdev->drawn_comps_fill = 0x%x OR opdev->drawn_comps_stroke = 0x%x\n", + params.idle, opdev->is_idle, params.is_fill_color, params.drawn_comps, opdev->drawn_comps_fill, opdev->drawn_comps_stroke); + + if (update || params.idle != opdev->is_idle || params.op_state != OP_STATE_NONE) + code = update_overprint_params(opdev, ¶ms); if (code >= 0) *pcdev = dev; return code; @@ -925,10 +1004,22 @@ overprint_generic_fill_rectangle( if (tdev == 0) return 0; - else - return gx_overprint_generic_fill_rectangle(tdev, opdev->drawn_comps, x, - y, width, height, color, - dev->memory); + else { + + assert(opdev->op_state != 0); + + /* See if we even need to do any overprinting. We have to maintain + the compositor active for fill/stroke cases even if we are only + doing a fill or a stroke */ + if ((opdev->op_state == OP_STATE_FILL && opdev->retain_none_fill) || + (opdev->op_state == OP_STATE_STROKE && opdev->retain_none_stroke)) + return (*dev_proc(tdev, fill_rectangle)) (tdev, x, y, width, height, color); + + return gx_overprint_generic_fill_rectangle(tdev, + opdev->op_state == OP_STATE_FILL ? + opdev->drawn_comps_fill : opdev->drawn_comps_stroke, + x, y, width, height, color, dev->memory); + } } static int @@ -966,13 +1057,14 @@ overprint_copy_planes(gx_device * dev, const byte * data, int data_x, int raster byte * gb_buff = 0; gs_get_bits_params_t gb_params; gs_int_rect gb_rect; - int code = 0, raster; + int code = 0; + unsigned int raster; int byte_depth; int depth; uchar num_comps; uchar k,j; gs_memory_t * mem = dev->memory; - gx_color_index comps = opdev->drawn_comps; + gx_color_index comps = opdev->op_state == OP_STATE_FILL ? opdev->drawn_comps_fill : opdev->drawn_comps_stroke; byte *curr_data = (byte *) data + data_x; int row, offset; @@ -1014,7 +1106,6 @@ overprint_copy_planes(gx_device * dev, const byte * data, int data_x, int raster /* step through the height */ row = 0; while (h-- > 0 && code >= 0) { - comps = opdev->drawn_comps; gb_rect.p.y = y++; gb_rect.q.y = y; offset = row * raster_in + data_x; @@ -1078,14 +1169,15 @@ overprint_fill_rectangle_hl_color(gx_device *dev, byte * gb_buff = 0; gs_get_bits_params_t gb_params; gs_int_rect gb_rect; - int code = 0, raster; + int code = 0; + unsigned int raster; int byte_depth; int depth; uchar num_comps; int x, y, w, h; uchar k, j; gs_memory_t * mem = dev->memory; - gx_color_index comps = opdev->drawn_comps; + gx_color_index comps; gx_color_index mask; int shift; int deep; @@ -1093,6 +1185,15 @@ overprint_fill_rectangle_hl_color(gx_device *dev, if (tdev == 0) return 0; + assert(opdev->op_state != 0); + + /* See if we even need to do any overprinting. We have to maintain + the compositor active for fill/stroke cases even if we are only + doing a fill or a stroke */ + if ((opdev->op_state == OP_STATE_FILL && opdev->retain_none_fill) || + (opdev->op_state == OP_STATE_STROKE && opdev->retain_none_stroke)) + return (*dev_proc(tdev, fill_rectangle_hl_color)) (tdev, rect, pgs, pdcolor, pcpath); + depth = tdev->color_info.depth; num_comps = tdev->color_info.num_components; @@ -1131,9 +1232,9 @@ overprint_fill_rectangle_hl_color(gx_device *dev, /* step through the height */ while (h-- > 0 && code >= 0) { - comps = opdev->drawn_comps; gb_rect.p.y = y++; gb_rect.q.y = y; + comps = opdev->op_state == OP_STATE_FILL ? opdev->drawn_comps_fill : opdev->drawn_comps_stroke; /* And now through each plane */ for (k = 0; k < tdev->color_info.num_components; k++) { /* First set the params to zero for all planes except the one we want */ @@ -1187,6 +1288,15 @@ overprint_sep_fill_rectangle( else { int depth = tdev->color_info.depth; + assert(opdev->op_state != 0); + + /* See if we even need to do any overprinting. We have to maintain + the compositor active for fill/stroke cases even if we are only + doing a fill or a stroke */ + if ((opdev->op_state == OP_STATE_FILL && opdev->retain_none_fill) || + (opdev->op_state == OP_STATE_STROKE && opdev->retain_none_stroke)) + return (*dev_proc(tdev, fill_rectangle)) (tdev, x, y, width, height, color); + /* * Swap the color index into the order required by a byte-oriented * bitmap. This is required only for littl-endian processors, and @@ -1212,16 +1322,113 @@ overprint_sep_fill_rectangle( * depth < 8 * sizeof(mono_fill_chunk). */ if ( depth <= 8 * sizeof(mono_fill_chunk) && (depth & (depth - 1)) == 0) - return gx_overprint_sep_fill_rectangle_1(tdev, opdev->retain_mask, - x, y, width, height, - color, dev->memory); + return gx_overprint_sep_fill_rectangle_1(tdev, opdev->op_state == OP_STATE_FILL ? + opdev->retain_mask_fill : opdev->retain_mask_stroke, + x, y, width, height, + color, dev->memory); else - return gx_overprint_sep_fill_rectangle_2(tdev,opdev->retain_mask, - x, y, width, height, - color, dev->memory); + return gx_overprint_sep_fill_rectangle_2(tdev, opdev->op_state == OP_STATE_FILL ? + opdev->retain_mask_fill : opdev->retain_mask_stroke, + x, y, width, height, + color, dev->memory); } } +/* We need this to ensure the device knows we are doing a fill */ +static int +overprint_fill_path(gx_device* pdev, const gs_gstate* pgs, + gx_path* ppath, const gx_fill_params* params_fill, + const gx_device_color* pdcolor, const gx_clip_path* pcpath) +{ + overprint_device_t* opdev = (overprint_device_t*)pdev; + + opdev->op_state = OP_STATE_FILL; + return gx_default_fill_path(pdev, pgs, ppath, params_fill, + pdcolor, pcpath); +} + +/* We need this to ensure the device knows we are doing a stroke */ +static int +overprint_stroke_path(gx_device* pdev, const gs_gstate* pgs, + gx_path* ppath, const gx_stroke_params* params_stroke, + const gx_device_color* pdcolor, const gx_clip_path* pcpath) +{ + overprint_device_t* opdev = (overprint_device_t*)pdev; + int code; + + opdev->op_state = OP_STATE_STROKE; + + /* Stroke methods use fill path so set that to default to + avoid mix up of is_fill_color */ + opdev->procs.fill_path = gx_default_fill_path; + code = gx_default_stroke_path(pdev, pgs, ppath, params_stroke, + pdcolor, pcpath); + opdev->procs.fill_path = overprint_fill_path; + + return code; +} + +/* + * Cannot use default_fill_stroke_path because we need to set the is_fill_color + */ +static int +overprint_fill_stroke_path(gx_device * pdev, const gs_gstate * pgs, + gx_path * ppath, + const gx_fill_params * params_fill, + const gx_device_color * pdevc_fill, + const gx_stroke_params * params_stroke, + const gx_device_color * pdevc_stroke, + const gx_clip_path * pcpath) +{ + int code; + overprint_device_t *opdev = (overprint_device_t *)pdev; + + opdev->op_state = OP_STATE_FILL; + code = dev_proc(pdev, fill_path)(pdev, pgs, ppath, params_fill, pdevc_fill, pcpath); + if (code < 0) + return code; + + /* Set up for stroke */ + opdev->op_state = OP_STATE_STROKE; + code = dev_proc(pdev, stroke_path)(pdev, pgs, ppath, params_stroke, pdevc_stroke, pcpath); + return code; +} + +/* We need to make sure we are set up properly based upon the text mode */ +static int +overprint_text_begin(gx_device* dev, gs_gstate* pgs, + const gs_text_params_t* text, gs_font* font, + gx_path* path, const gx_device_color* pdcolor, + const gx_clip_path* pcpath, + gs_memory_t* mem, gs_text_enum_t** ppte) +{ + overprint_device_t* opdev = (overprint_device_t*)dev; + + if (pgs->text_rendering_mode == 0) + opdev->op_state = OP_STATE_FILL; + else if (pgs->text_rendering_mode == 1) + opdev->op_state = OP_STATE_STROKE; + + return gx_default_text_begin(dev, pgs, text, font, + path, pdcolor, pcpath, mem, ppte); +} + +static int +overprint_dev_spec_op(gx_device* pdev, int dev_spec_op, + void* data, int size) +{ + overprint_device_t* opdev = (overprint_device_t*)pdev; + gx_device* tdev = opdev->target; + + if (tdev == 0) + return 0; + + if (dev_spec_op == gxdso_overprint_active) + return !opdev->is_idle; + + return dev_proc(tdev, dev_spec_op)(tdev, dev_spec_op, data, size); +} + /* complete a procedure set */ static void fill_in_procs(gx_device_procs * pprocs) @@ -1254,14 +1461,6 @@ fill_in_procs(gx_device_procs * pprocs) * Note that this routine will be called only if the device is not already * an overprint compositor. Hence, if pct->params.retain_any_comps is * false, we can just return. - * - * We also suppress use of overprint if the current device color model has only - * a single component. In this case overprint mode is inapplicable (it applies - * only to CMYK devices), and nothing can possibly be gained by using overprint. - * More significantly, this cause avoids erroneous use of overprint when a - * mask caching device is the current device, which would otherwise require - * elaborate special handling in the caching device create_compositor - * procedure. */ static int c_overprint_create_default_compositor( @@ -1286,17 +1485,17 @@ c_overprint_create_default_compositor( } /* build the overprint device */ - opdev = gs_alloc_struct_immovable( mem, - overprint_device_t, - &st_overprint_device_t, - "create overprint compositor" ); + opdev = gs_alloc_struct_immovable(mem, + overprint_device_t, + &st_overprint_device_t, + "create overprint compositor" ); *popdev = (gx_device *)opdev; if (opdev == NULL) return_error(gs_error_VMerror); - gx_device_init( (gx_device *)opdev, - (const gx_device *)&gs_overprint_device, - mem, - false ); + gx_device_init((gx_device *)opdev, + (const gx_device *)&gs_overprint_device, + mem, + false ); memcpy(&opdev->no_overprint_procs, &no_overprint_procs, sizeof(no_overprint_procs)); @@ -1321,6 +1520,10 @@ c_overprint_create_default_compositor( params = ovrpct->params; params.idle = ovrpct->idle; + /* Initialize the stroke and fill states */ + opdev->retain_none_fill = true; + opdev->retain_none_stroke = true; + /* set up the overprint parameters */ - return update_overprint_params( opdev, ¶ms); + return update_overprint_params(opdev, ¶ms); } diff --git a/base/gsovrc.h b/base/gsovrc.h index 4df2df22..ccef5f5c 100644 --- a/base/gsovrc.h +++ b/base/gsovrc.h @@ -216,6 +216,12 @@ * closing of a device is not itself used as an error indication. */ +typedef enum { + OP_STATE_NONE = 0, + OP_STATE_FILL, + OP_STATE_STROKE, +} OP_FS_STATE; + typedef struct gs_overprint_params_s gs_overprint_params_t; struct gs_overprint_params_s { @@ -227,38 +233,12 @@ struct gs_overprint_params_s { * are ignored, and the compositor does nothing with respect to rendering * (it doesn't even impose a performance penalty). * - * If this field is true, the retain_spot_comps and potentially the - * retained_comps fields should be initialized. * * Note that this field may be false even if overprint is true. This * would be the case if the current color space was a Separation color * space with the component "All". */ - bool retain_any_comps; - - /* - * Are spot (non-process) color component values retained? - * - * If overprint is true, this field will be true for all color spaces - * other than Separation/DeviceN color spaces. - * - * The overprint compositor will itself determine what constitutes a - * process color. This is done by using the color space mapping - * routines for the target device for all three standard device - * color spaces (DeviceGray, DeviceRGB, and DeviceCMYK) and the - * set of all possible colors with individual components either 0 - * or 1. Any color model component which is mapped to 0 for all of - * these cases is considered a spot color. - * - * If this field is true, the drawn_comps field (see below) is ignored. - * - * NB: This field should not be used if the DeviceCMYK color space - * is being used with a DeviceCMYK color model (which may have - * additional spot colors). Such a color model must explicitly - * list the set of drawn components, so as to support overprint - * mode. - */ - bool retain_spot_comps; + bool retain_any_comps; /* * Don't we print anything with overprint ? @@ -274,6 +254,9 @@ struct gs_overprint_params_s { * it is to be left unaffected. */ gx_color_index drawn_comps; + bool is_fill_color; /* This tells us what the current color is for our set up */ + OP_FS_STATE op_state; /* This sets the state of the device for an upcoming command */ + bool effective_opm; /* PDF14 needs this information for its compatible blend mode */ }; /* diff --git a/base/gspaint.c b/base/gspaint.c index c8a98234..13836061 100644 --- a/base/gspaint.c +++ b/base/gspaint.c @@ -26,6 +26,7 @@ #include "gspath.h" #include "gzpath.h" #include "gxpaint.h" +#include "gxpcolor.h" /* for do_fill_stroke */ #include "gzstate.h" #include "gxdevice.h" #include "gxdevmem.h" @@ -36,6 +37,7 @@ #include "gxdevsop.h" #include "gsicc_cms.h" #include "gdevepo.h" +#include "assert_.h" /* Define the nominal size for alpha buffers. */ #define abuf_nominal_SMALL 500 @@ -198,7 +200,7 @@ scale_dash_pattern(gs_gstate * pgs, double scale) Returns -ve for error */ static int -alpha_buffer_init(gs_gstate * pgs, fixed extra_x, fixed extra_y, int alpha_bits, +alpha_buffer_init(gs_gstate * pgs, fixed extra_x, fixed extra_y, int alpha_bits, bool devn) { gx_device *dev = gs_currentdevice_inline(pgs); @@ -303,6 +305,21 @@ static int do_fill(gs_gstate *pgs, int rule) code = gs_gstate_color_load(pgs); if (code < 0) return code; + + if (pgs->overprint || (!pgs->overprint && dev_proc(pgs->device, dev_spec_op)(pgs->device, + gxdso_overprint_active, NULL, 0))) { + gs_overprint_params_t op_params = { 0 }; + + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] Fill Overprint\n"); + code = gs_do_set_overprint(pgs); + if (code < 0) + return code; + + op_params.op_state = OP_STATE_FILL; + gs_gstate_update_overprint(pgs, &op_params); + } + abits = 0; { gx_device_color *col = gs_currentdevicecolor_inline(pgs); @@ -379,6 +396,7 @@ do_stroke(gs_gstate * pgs) { int code, abits, acode, rcode = 0; bool devn; + bool is_fill_correct = true; /* We need to distinguish text from vectors to set the object tag. @@ -407,6 +425,34 @@ do_stroke(gs_gstate * pgs) code = gs_gstate_color_load(pgs); if (code < 0) return code; + + + if (pgs->stroke_overprint || (!pgs->stroke_overprint && dev_proc(pgs->device, dev_spec_op)(pgs->device, + gxdso_overprint_active, NULL, 0))) { + gs_overprint_params_t op_params = { 0 }; + + /* PS2 does not have the concept of fill and stroke colors. Here we need to possibly correct + for that in the graphic state during this operation */ + if (pgs->is_fill_color) { + is_fill_correct = false; + pgs->is_fill_color = false; + } + + + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] Stroke Overprint\n"); + code = gs_do_set_overprint(pgs); + if (code < 0) { + if (!is_fill_correct) { + pgs->is_fill_color = true; + } + return code; + } + + op_params.op_state = OP_STATE_STROKE; + gs_gstate_update_overprint(pgs, &op_params); + } + abits = 0; { gx_device_color *col = gs_currentdevicecolor_inline(pgs); @@ -437,10 +483,18 @@ do_stroke(gs_gstate * pgs) pgs->fill_adjust.x + extra_adjust, pgs->fill_adjust.y + extra_adjust, abits, devn); - if (acode == 2) /* Special code meaning no fill required */ + if (acode == 2) { /* Special code meaning no fill required */ + if (!is_fill_correct) { + pgs->is_fill_color = true; + } return 0; - if (acode < 0) + } + if (acode < 0) { + if (!is_fill_correct) { + pgs->is_fill_color = true; + } return acode; + } gs_setlinewidth(pgs, new_width); scale_dash_pattern(pgs, scale); gs_setflat(pgs, orig_flatness * scale); @@ -465,6 +519,10 @@ do_stroke(gs_gstate * pgs) code = gx_stroke_fill(pgs->path, pgs); if (code >= 0 && rcode < 0) code = rcode; + + if (!is_fill_correct) { + pgs->is_fill_color = true; + } return code; } @@ -539,3 +597,224 @@ gs_strokepath2(gs_gstate * pgs) { return gs_strokepath_aux(pgs, false); } + +static int do_fill_stroke(gs_gstate *pgs, int rule, int *restart) +{ + int code, abits, acode = 0, rcode = 0; + bool devn; + float orig_width, scale, orig_flatness; + + /* It is either our first time, or the stroke was a pattern and + we are coming back from the error if restart < 1 (0 is first + time, 1 stroke is set, and we only need to finish out fill */ + if (pgs->is_fill_color) + gs_swapcolors_quick(pgs); + + if (*restart < 1) { + + /* We need to distinguish text from vectors to set the object tag. + + To make that determination, we check for the show graphics state being stored + in the current graphics state. This works even in the case of a glyph from a + Type 3 Postscript/PDF font which has multiple, nested gsave/grestore pairs in + the BuildGlyph/BuildChar procedure. Also, it works in the case of operating + without a glyph cache or bypassing the cache because the glyph is too large or + the cache being already full. + + Note that it doesn't work for a construction like: + "(xyz) true charpath fill/stroke" + where the show machinations have completed before we get to the fill operation. + This has implications for how we handle PDF text rendering modes 1 and 2. To + handle that, we'll have to add a flag to the path structure, or to the path + segment structure (depending on how fine grained we require it to be). + */ + if (pgs->show_gstate == NULL) + ensure_tag_is_set(pgs, pgs->device, GS_PATH_TAG); /* NB: may unset_dev_color */ + else + ensure_tag_is_set(pgs, pgs->device, GS_TEXT_TAG); /* NB: may unset_dev_color */ + + /* if we are at restart == 0, we set the stroke color. */ + code = gx_set_dev_color(pgs); + if (code != 0) + return code; /* may be gs_error_Remap_color or real error */ + code = gs_gstate_color_load(pgs); + if (code < 0) + return code; + /* If this was a pattern color, make sure and lock it in the pattern_cache */ + if (gx_dc_is_pattern1_color(gs_currentdevicecolor_inline(pgs))) { + gs_id id = gs_currentdevicecolor_inline(pgs)->colors.pattern.p_tile->id; + + code = gx_pattern_cache_entry_set_lock(pgs, id, true); + if (code < 0) + return code; /* lock failed -- tile not in cache? */ + } + } + + if (pgs->stroke_overprint || (!pgs->stroke_overprint && dev_proc(pgs->device, dev_spec_op)(pgs->device, + gxdso_overprint_active, NULL, 0))) { + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] StrokeFill Stroke Set Overprint\n"); + code = gs_do_set_overprint(pgs); + if (code < 0) + return code; + } + *restart = 1; /* finished, successfully with stroke_color */ + + gs_swapcolors_quick(pgs); /* switch to fill color */ + + /* Have to set the fill color too */ + if (pgs->show_gstate == NULL) + ensure_tag_is_set(pgs, pgs->device, GS_PATH_TAG); /* NB: may unset_dev_color */ + else + ensure_tag_is_set(pgs, pgs->device, GS_TEXT_TAG); /* NB: may unset_dev_color */ + + code = gx_set_dev_color(pgs); + if (code != 0) { + return code; + } + code = gs_gstate_color_load(pgs); + if (code < 0) { + /* color is set for fill, but a failure here is a problem */ + /* i.e., something other than error_Remap_Color */ + *restart = 2; /* we shouldn't re-enter with '2' */ + goto out; + } + + if (pgs->overprint || (!pgs->overprint && dev_proc(pgs->device, dev_spec_op)(pgs->device, + gxdso_overprint_active, NULL, 0))) { + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] StrokeFill Fill Set Overprint\n"); + code = gs_do_set_overprint(pgs); + if (code < 0) + goto out; /* fatal */ + } + + abits = 0; + { + gx_device_color *col_fill = gs_currentdevicecolor_inline(pgs); + gx_device_color *col_stroke = gs_altdevicecolor_inline(pgs); + devn = color_is_devn(col_fill) && color_is_devn(col_stroke); + /* could be devn and masked_devn */ + if (color_is_pure(col_fill) || color_is_pure(col_stroke) || devn) + abits = alpha_buffer_bits(pgs); + } + if (abits > 1) { + /* + * Expand the bounding box by the line width. + * This is expensive to compute, so we only do it + * if we know we're going to buffer. + */ + float new_width; + fixed extra_adjust; + float xxyy = fabs(pgs->ctm.xx) + fabs(pgs->ctm.yy); + float xyyx = fabs(pgs->ctm.xy) + fabs(pgs->ctm.yx); + gs_logical_operation_t orig_lop = pgs->log_op; + pgs->log_op |= lop_pdf14; /* Force stroking to happen all in 1 go */ + scale = (float)(1 << (abits / 2)); + orig_width = gs_currentlinewidth(pgs); + new_width = orig_width * scale; + extra_adjust = + float2fixed(max(xxyy, xyyx) * new_width / 2); + orig_flatness = gs_currentflat(pgs); + + /* Scale up the line width, dash pattern, and flatness. */ + if (extra_adjust < fixed_1) + extra_adjust = fixed_1; + acode = alpha_buffer_init(pgs, + pgs->fill_adjust.x + extra_adjust, + pgs->fill_adjust.y + extra_adjust, + abits, devn); + if (acode == 2) /* Special case for no fill required */ + goto out; + if (acode < 0) + goto out; + gs_setlinewidth(pgs, new_width); + scale_dash_pattern(pgs, scale); + gs_setflat(pgs, orig_flatness * scale); + pgs->log_op = orig_lop; + } else + acode = 0; + code = gx_fill_stroke_path(pgs, rule); + if (abits > 1) + { + gs_setlinewidth(pgs, orig_width); + scale_dash_pattern(pgs, 1.0 / scale); + gs_setflat(pgs, orig_flatness); + acode = alpha_buffer_release(pgs, code >= 0); + } +out: + if (gx_dc_is_pattern1_color(gs_altdevicecolor_inline(pgs))) { + gs_id id = gs_altdevicecolor_inline(pgs)->colors.pattern.p_tile->id; + + rcode = gx_pattern_cache_entry_set_lock(pgs, id, false); + if (rcode < 0) + return rcode; /* unlock failed -- shouldn't be possible */ + } + if (code >= 0 && acode < 0) + code = acode; + return code; +} + +/* Fill the current path using a specified rule. */ +static int +fill_stroke_with_rule(gs_gstate * pgs, int rule, int *restart) +{ + int code; + + /* If we're inside a charpath, just merge the current path */ + /* into the parent's path. */ + if (pgs->in_charpath) { + /* If we're rendering a glyph cached, the show machinery decides + * whether to actually image it on the output or not, but uncached + * will render directly to the output, so for text rendering + * mode 3, we have to short circuit it here, but keep the + * current point + */ + *restart = 0; + code = gx_path_add_char_path(pgs->show_gstate->path, pgs->path, + pgs->in_charpath); + if (code < 0) + return code; + if (pgs->in_charpath == cpm_true_charpath) { + /* + * A stroke inside a true charpath should do the + * equivalent of strokepath. + */ + code = gs_strokepath(pgs); + if (code < 0) + return code; + code = gx_path_add_char_path(pgs->show_gstate->path, pgs->path, + pgs->in_charpath); + if (code < 0) + return code; + } + } + else if (gs_is_null_device(pgs->device) || + (pgs->show_gstate && pgs->text_rendering_mode == 3 && + pgs->in_cachedevice == CACHE_DEVICE_NOT_CACHING)) { + /* Text Rendering Mode = 3 => Neither stroke, nor fill */ + /* Handle separately to prevent gs_gstate_color_load - bug 688308. */ + *restart = 0; + gs_newpath(pgs); + code = 0; + } else { + code = do_fill_stroke(pgs, rule, restart); + if (code >= 0) + gs_newpath(pgs); + } + return code; +} +/* Fill using the winding number rule */ +int +gs_fillstroke(gs_gstate * pgs, int *restart) +{ + pgs->device->sgr.stroke_stored = false; + return fill_stroke_with_rule(pgs, gx_rule_winding_number, restart); +} +/* Fill using the even/odd rule */ +int +gs_eofillstroke(gs_gstate * pgs, int *restart) +{ + pgs->device->sgr.stroke_stored = false; + return fill_stroke_with_rule(pgs, gx_rule_even_odd, restart); +} diff --git a/base/gspaint.h b/base/gspaint.h index 19a1040d..c95b6b48 100644 --- a/base/gspaint.h +++ b/base/gspaint.h @@ -28,7 +28,9 @@ int gs_erasepage(gs_gstate *), gs_fillpage(gs_gstate *), gs_fill(gs_gstate *), gs_eofill(gs_gstate *), - gs_stroke(gs_gstate *); + gs_stroke(gs_gstate *), + gs_fillstroke(gs_gstate * pgs, int *restart), + gs_eofillstroke(gs_gstate * pgs, int *restart); /* Image tracing */ int gs_imagepath(gs_gstate *, int, int, const byte *); diff --git a/base/gsparam.c b/base/gsparam.c index b235d860..80cb0b2a 100644 --- a/base/gsparam.c +++ b/base/gsparam.c @@ -171,15 +171,25 @@ param_coerce_typed(gs_param_typed_value * pvalue, gs_param_type req_type, * right now we can't. However, a 0-length heterogenous array * will satisfy a request for any specific type. */ + /* Strictly speaking assigning one element of union + * to another, overlapping element of a different size is + * undefined behavior, hence assign to intermediate variables + */ switch (pvalue->type /* actual type */ ) { case gs_param_type_int: switch (req_type) { case gs_param_type_long: - pvalue->value.l = pvalue->value.i; + { + long l = (long)pvalue->value.i; + pvalue->value.l = l; goto ok; + } case gs_param_type_float: - pvalue->value.f = (float)pvalue->value.l; + { + float fl = (float)pvalue->value.l; + pvalue->value.f = fl; goto ok; + } default: break; } @@ -187,15 +197,22 @@ param_coerce_typed(gs_param_typed_value * pvalue, gs_param_type req_type, case gs_param_type_long: switch (req_type) { case gs_param_type_int: + { + int int1; #if ARCH_SIZEOF_INT < ARCH_SIZEOF_LONG if (pvalue->value.l != (int)pvalue->value.l) return_error(gs_error_rangecheck); #endif - pvalue->value.i = (int)pvalue->value.l; + int1 = (int)pvalue->value.l; + pvalue->value.i = int1; goto ok; + } case gs_param_type_float: - pvalue->value.f = (float)pvalue->value.l; + { + float fl = (float)pvalue->value.l; + pvalue->value.f = fl; goto ok; + } default: break; } diff --git a/base/gspath.c b/base/gspath.c index d55d5ffe..2080d2c4 100644 --- a/base/gspath.c +++ b/base/gspath.c @@ -329,26 +329,28 @@ static int common_clip(gs_gstate *, int); The transparency group will be the intersection of the path and clipping path */ int -gx_curr_bbox(gs_gstate * pgs, gs_rect *bbox, gs_bbox_comp_t comp_type) +gx_curr_fixed_bbox(gs_gstate * pgs, gs_fixed_rect *bbox, gs_bbox_comp_t comp_type) { - gx_clip_path *clip_path; int code; + gx_clip_path *clip_path; gs_fixed_rect path_bbox; int expansion_code; bool include_path = true; gs_fixed_point expansion; code = gx_effective_clip_path(pgs, &clip_path); - if (code < 0) return code; + if (code < 0 || clip_path == NULL) { + bbox->p.x = bbox->p.y = bbox->q.x = bbox->q.y = 0; + return (code < 0) ? code : gs_error_unknownerror; + } else { + *bbox = clip_path->outer_box; + } if (comp_type == NO_PATH) { - bbox->p.x = fixed2float(clip_path->outer_box.p.x); - bbox->p.y = fixed2float(clip_path->outer_box.p.y); - bbox->q.x = fixed2float(clip_path->outer_box.q.x); - bbox->q.y = fixed2float(clip_path->outer_box.q.y); - return 0; + return 0; } code = gx_path_bbox(pgs->path, &path_bbox); - if (code < 0) return code; + if (code < 0) + return code; if (comp_type == PATH_STROKE) { /* Handle any stroke expansion of our bounding box */ expansion_code = gx_stroke_path_expansion(pgs, pgs->path, &expansion); @@ -364,22 +366,25 @@ gx_curr_bbox(gs_gstate * pgs, gs_rect *bbox, gs_bbox_comp_t comp_type) } } if (include_path) { - rect_intersect(path_bbox, clip_path->outer_box); - /* clip path and drawing path */ - bbox->p.x = fixed2float(path_bbox.p.x); - bbox->p.y = fixed2float(path_bbox.p.y); - bbox->q.x = fixed2float(path_bbox.q.x); - bbox->q.y = fixed2float(path_bbox.q.y); - } else { - /* clip path only */ - bbox->p.x = fixed2float(clip_path->outer_box.p.x); - bbox->p.y = fixed2float(clip_path->outer_box.p.y); - bbox->q.x = fixed2float(clip_path->outer_box.q.x); - bbox->q.y = fixed2float(clip_path->outer_box.q.y); + rect_intersect(*bbox, path_bbox); } return 0; } +/* A variation of the above that returns a gs_rect (double) bbox */ +int +gx_curr_bbox(gs_gstate * pgs, gs_rect *bbox, gs_bbox_comp_t comp_type) +{ + gs_fixed_rect curr_fixed_bbox; + + gx_curr_fixed_bbox(pgs, &curr_fixed_bbox, comp_type); + bbox->p.x = fixed2float(curr_fixed_bbox.p.x); + bbox->p.y = fixed2float(curr_fixed_bbox.p.y); + bbox->q.x = fixed2float(curr_fixed_bbox.q.x); + bbox->q.y = fixed2float(curr_fixed_bbox.q.y); + return 0; +} + /* * Return the effective clipping path of a graphics state. Sometimes this * is the intersection of the clip path and the view clip path; sometimes it @@ -395,7 +400,7 @@ gx_effective_clip_path(gs_gstate * pgs, gx_clip_path ** ppcpath) (pgs->view_clip == 0 || pgs->view_clip->rule == 0 ? gs_no_id : pgs->view_clip->id); - if (gs_device_is_memory(pgs->device)) { + if (pgs->device == NULL || gs_device_is_memory(pgs->device) || pgs->clip_path == NULL) { *ppcpath = pgs->clip_path; return 0; } diff --git a/base/gspcolor.c b/base/gspcolor.c index 350682c6..e96331b1 100644 --- a/base/gspcolor.c +++ b/base/gspcolor.c @@ -281,7 +281,7 @@ gx_set_overprint_Pattern(const gs_color_space * pcs, gs_gstate * pgs) if (!pgs->overprint) { params.retain_any_comps = false; - pgs->effective_overprint_mode = 0; + params.effective_opm = pgs->color[0].effective_opm = 0; return gs_gstate_update_overprint(pgs, ¶ms); } return 0; diff --git a/base/gsptype1.c b/base/gsptype1.c index f81a63c1..7d4714f4 100644 --- a/base/gsptype1.c +++ b/base/gsptype1.c @@ -118,8 +118,11 @@ gs_pattern1_init(gs_pattern1_template_t * ppat) } /* Make an instance of a PatternType 1 pattern. */ -static int compute_inst_matrix(gs_pattern1_instance_t * pinst, - gs_gstate * saved, gs_rect * pbbox, int width, int height); +static int compute_inst_matrix(gs_pattern1_instance_t *pinst, + gs_gstate *saved, + gs_rect *pbbox, + int width, int height, + float *bbw, float *bbh); int gs_makepattern(gs_client_color * pcc, const gs_pattern1_template_t * pcp, const gs_matrix * pmat, gs_gstate * pgs, gs_memory_t * mem) @@ -145,6 +148,7 @@ gs_pattern1_make_pattern(gs_client_color * pcc, int code = gs_make_pattern_common(pcc, (const gs_pattern_template_t *)pcp, pmat, pgs, mem, &st_pattern1_instance); + float bbw, bbh; if (code < 0) return code; @@ -181,7 +185,7 @@ gs_pattern1_make_pattern(gs_client_color * pcc, goto fsaved; } inst.templat = *pcp; - code = compute_inst_matrix(&inst, saved, &bbox, dev_width, dev_height); + code = compute_inst_matrix(&inst, saved, &bbox, dev_width, dev_height, &bbw, &bbh); if (code < 0) goto fsaved; @@ -214,9 +218,6 @@ gs_pattern1_make_pattern(gs_client_color * pcc, if_debug5m('t', mem, "[t]bbox=(%g,%g),(%g,%g), uses_transparency=%d\n", bbox.p.x, bbox.p.y, bbox.q.x, bbox.q.y, inst.templat.uses_transparency); { - float bbw = bbox.q.x - bbox.p.x; - float bbh = bbox.q.y - bbox.p.y; - /* If the step and the size agree to within 1/2 pixel, */ /* make them the same. */ if (ADJUST_SCALE_BY_GS_TRADITION) { @@ -235,7 +236,7 @@ gs_pattern1_make_pattern(gs_client_color * pcc, bbox.p.x = bbox.p.y = bbox.q.x = bbox.q.y = 0; } else { /* Check for singular stepping matrix. */ - if (fabs(inst.step_matrix.xx * inst.step_matrix.yy - inst.step_matrix.xy * inst.step_matrix.yx) < 1.0e-6) { + if (fabs(inst.step_matrix.xx * inst.step_matrix.yy - inst.step_matrix.xy * inst.step_matrix.yx) < 1.0e-9) { code = gs_note_error(gs_error_rangecheck); goto fsaved; } @@ -247,7 +248,7 @@ gs_pattern1_make_pattern(gs_client_color * pcc, gs_scale(saved, fabs(inst.size.x / inst.step_matrix.xx), fabs(inst.size.y / inst.step_matrix.yy)); code = compute_inst_matrix(&inst, saved, &bbox, - dev_width, dev_height); + dev_width, dev_height, &bbw, &bbh); if (code < 0) goto fsaved; if (ADJUST_SCALE_FOR_THIN_LINES) { @@ -529,14 +530,30 @@ clamp_pattern_bbox(gs_pattern1_instance_t * pinst, gs_rect * pbbox, /* from the step values and the saved matrix. */ static int compute_inst_matrix(gs_pattern1_instance_t * pinst, gs_gstate * saved, - gs_rect * pbbox, int width, int height) + gs_rect * pbbox, int width, int height, + float *pbbw, float *pbbh) { float xx, xy, yx, yy, dx, dy, temp; int code; + gs_matrix m = ctm_only(saved); + + /* Bug 702124: Due to the limited precision of floats, we find that + * transforming (say) small height boxes in the presence of large tx/ty + * values can cause the box heights to map to 0. So calculate the + * width/height of the bbox before we roll the offset into it. */ + m.tx = 0; m.ty = 0; - code = gs_bbox_transform(&pinst->templat.BBox, &ctm_only(saved), pbbox); + code = gs_bbox_transform(&pinst->templat.BBox, &m, pbbox); if (code < 0) return code; + + *pbbw = pbbox->q.x - pbbox->p.x; + *pbbh = pbbox->q.y - pbbox->p.y; + + pbbox->p.x += ctm_only(saved).tx; + pbbox->p.y += ctm_only(saved).ty; + pbbox->q.x += ctm_only(saved).tx; + pbbox->q.y += ctm_only(saved).ty; /* * Adjust saved.ctm to map the bbox origin to pixels. */ @@ -704,7 +721,7 @@ gs_pattern1_set_color(const gs_client_color * pcc, gs_gstate * pgs) gs_overprint_params_t params; params.retain_any_comps = false; - pgs->effective_overprint_mode = 0; + params.effective_opm = pgs->color[0].effective_opm = 0; return gs_gstate_update_overprint(pgs, ¶ms); } } @@ -1628,6 +1645,7 @@ typedef struct gx_dc_serialized_tile_s { } gx_dc_serialized_tile_t; enum { + TILE_IS_LOCKED = 0x80000000, TILE_HAS_OVERLAP = 0x40000000, TILE_IS_SIMPLE = 0x20000000, TILE_USES_TRANSP = 0x10000000, @@ -1672,7 +1690,8 @@ gx_dc_pattern_write_raster(gx_color_tile *ptile, int64_t offset, byte *data, buf.flags = ptile->depth | (ptile->tiling_type<<TILE_TYPE_SHIFT) | (ptile->is_simple ? TILE_IS_SIMPLE : 0) - | (ptile->has_overlap ? TILE_HAS_OVERLAP : 0); + | (ptile->has_overlap ? TILE_HAS_OVERLAP : 0) + | (ptile->is_locked ? TILE_IS_LOCKED : 0); if (sizeof(buf) > left) { /* For a while we require the client to provide enough buffer size. */ return_error(gs_error_unregistered); /* Must not happen. */ @@ -1764,7 +1783,8 @@ gx_dc_pattern_trans_write_raster(gx_color_tile *ptile, int64_t offset, byte *dat | TILE_USES_TRANSP | (ptile->tiling_type<<TILE_TYPE_SHIFT) | (ptile->is_simple ? TILE_IS_SIMPLE : 0) - | (ptile->has_overlap ? TILE_HAS_OVERLAP : 0); + | (ptile->has_overlap ? TILE_HAS_OVERLAP : 0) + | (ptile->is_locked ? TILE_IS_LOCKED : 0); buf.step_matrix = ptile->step_matrix; buf.bbox = ptile->bbox; buf.blending_mode = ptile->blending_mode; @@ -1889,6 +1909,7 @@ gx_dc_pattern_write( | (ptile->tiling_type<<TILE_TYPE_SHIFT) | (ptile->is_simple ? TILE_IS_SIMPLE : 0) | (ptile->has_overlap ? TILE_HAS_OVERLAP : 0) + | (ptile->is_locked ? TILE_IS_LOCKED : 0) | (ptile->cdev->common.page_uses_transparency ? TILE_USES_TRANSP : 0); buf.blending_mode = ptile->blending_mode; /* in case tile has transparency */ if (sizeof(buf) > left) { @@ -2114,8 +2135,9 @@ gx_dc_pattern_read( ptile->tiling_type = (buf.flags & TILE_TYPE_MASK)>>TILE_TYPE_SHIFT; ptile->is_simple = !!(buf.flags & TILE_IS_SIMPLE); ptile->has_overlap = !!(buf.flags & TILE_HAS_OVERLAP); + ptile->is_locked = !!(buf.flags & TILE_IS_LOCKED); ptile->blending_mode = buf.blending_mode; - ptile->is_dummy = 0; + ptile->is_dummy = false; if (!(buf.flags & TILE_IS_CLIST)) { diff --git a/base/gsptype2.c b/base/gsptype2.c index 9bcf8af6..6573dee9 100644 --- a/base/gsptype2.c +++ b/base/gsptype2.c @@ -204,6 +204,9 @@ gs_pattern2_set_color(const gs_client_color * pcc, gs_gstate * pgs) int code; uchar k, num_comps; + /* Shading patterns can't use opm */ + pgs->color[!pgs->is_fill_color].effective_opm = 0; + pinst->saved->overprint_mode = pgs->overprint_mode; pinst->saved->overprint = pgs->overprint; diff --git a/base/gssprintf.c b/base/gssprintf.c index 49f54bd4..aab4051f 100644 --- a/base/gssprintf.c +++ b/base/gssprintf.c @@ -16,8 +16,9 @@ /* From: https://svn.apache.org/repos/asf/apr/apr/trunk/strings/apr_snprintf.c */ /* Additional modifications to work outside Apache for use with Ghostscript */ +#include "unistd_.h" +#include "gp.h" #include "stdio_.h" -#include "stdint_.h" #include "string_.h" #include <stdarg.h> #include "math_.h" diff --git a/base/gsstate.c b/base/gsstate.c index a7a61618..e48192ce 100644 --- a/base/gsstate.c +++ b/base/gsstate.c @@ -233,6 +233,9 @@ gs_gstate_alloc(gs_memory_t * mem) if (code < 0) goto fail; gs_setalpha(pgs, 1.0); + gs_setfillconstantalpha(pgs, 1.0); + gs_setstrokeconstantalpha(pgs, 1.0); + gs_setalphaisshape(pgs, false); gs_settransfer(pgs, gs_identity_transfer); gs_setflat(pgs, 1.0); gs_setfilladjust(pgs, 0.3, 0.3); @@ -351,6 +354,14 @@ gs_gsave_for_save(gs_gstate * pgs, gs_gstate ** psaved) /* Cut the stack so we can't grestore past here. */ *psaved = pgs->saved; pgs->saved = 0; + + code = gs_gsave(pgs); + if (code < 0) { + pgs->saved = *psaved; + *psaved = NULL; + gs_grestore(pgs); + return code; + } return code; fail: if (new_cpath) @@ -366,7 +377,6 @@ gs_grestore_only(gs_gstate * pgs) gs_gstate tmp_gstate; void *pdata = pgs->client_data; void *sdata; - bool prior_overprint = pgs->overprint; if_debug2m('g', pgs->memory, "[g]grestore 0x%lx, level was %d\n", (ulong) saved, pgs->level); @@ -388,11 +398,6 @@ gs_grestore_only(gs_gstate * pgs) *saved = tmp_gstate; /* restore "freed" state (pointers zeroed after contents freed) */ gs_free_object(pgs->memory, saved, "gs_grestore"); - /* update the overprint compositor, if necessary */ - if (prior_overprint || pgs->overprint) - { - return gs_do_set_overprint(pgs); - } return 0; } @@ -521,12 +526,7 @@ gs_setgstate(gs_gstate * pgs, const gs_gstate * pfrom) pgs->view_clip = view_clip; pgs->show_gstate = (pgs->show_gstate == pfrom ? pgs : saved_show); - - /* update the overprint compositor, unconditionally. Unlike grestore, this */ - /* may skip over states where overprint was set, so the prior state can */ - /* not be relied on to avoid this call. setgstate is not as commonly used */ - /* as grestore, so the overhead of the compositor call is acceptable. */ - return(gs_do_set_overprint(pgs)); + return 0; } /* Get the allocator pointer of a graphics state. */ @@ -632,28 +632,39 @@ gs_do_set_overprint(gs_gstate * pgs) if (cs_num_components(pcs) < 0 && pcc->pattern != 0) code = pcc->pattern->type->procs.set_color(pcc, pgs); - else - { + else { + gx_device* dev = pgs->device; + cmm_dev_profile_t* dev_profile; + + dev_proc(dev, get_profile)(dev, &dev_profile); + if (!dev_profile->sim_overprint || dev_profile->device_profile[0]->data_cs != gsCMYK) + return code; + /* The spaces that do not allow opm (e.g. ones that are not ICC or DeviceCMYK) will blow away any true setting later. But we have to be prepared - in case this is an CMYK ICC space for example. Hence we set effective mode + in case this is a CMYK ICC space for example. Hence we set effective mode to mode here (Bug 698721)*/ - pgs->effective_overprint_mode = pgs->overprint_mode; + pgs->color[0].effective_opm = pgs->overprint_mode; + + if_debug2m(gs_debug_flag_overprint, pgs->memory, + "[overprint] gs_do_set_overprint. Preset effective mode. pgs->color[0].effective_opm = %d pgs->color[1].effective_opm = %d\n", + pgs->color[0].effective_opm, pgs->color[1].effective_opm); + pcs->type->set_overprint(pcs, pgs); } return code; } -/* setoverprint */ +/* setoverprint (non-stroke case) interpreter code + ensures that this is called when appropriate. This + should only be coming when we are doing PS files. + As they don't have separate stroke and fill overprint + controls */ void gs_setoverprint(gs_gstate * pgs, bool ovp) { - bool prior_ovp = pgs->overprint; - pgs->overprint = ovp; pgs->stroke_overprint = ovp; - if (prior_ovp != ovp) - (void)gs_do_set_overprint(pgs); } /* currentoverprint */ @@ -681,11 +692,7 @@ gs_currentstrokeoverprint(const gs_gstate * pgs) void gs_setfilloverprint(gs_gstate * pgs, bool ovp) { - bool prior_ovp = pgs->overprint; - pgs->overprint = ovp; - if (prior_ovp != ovp) - (void)gs_do_set_overprint(pgs); } /* currentstrokeoverprint */ @@ -699,15 +706,11 @@ gs_currentfilloverprint(const gs_gstate * pgs) int gs_setoverprintmode(gs_gstate * pgs, int mode) { - int prior_mode = pgs->effective_overprint_mode; - int code = 0; - if (mode < 0 || mode > 1) return_error(gs_error_rangecheck); pgs->overprint_mode = mode; - if (pgs->overprint && prior_mode != mode) - code = gs_do_set_overprint(pgs); - return code; + + return 0; } /* currentoverprintmode */ @@ -1205,11 +1208,11 @@ gstate_alloc(gs_memory_t * mem, client_name_t cname, const gs_gstate * pfrom) /* Copy the dash pattern from one gstate to another. */ static int -gstate_copy_dash(gs_gstate * pto, const gs_gstate * pfrom) +gstate_copy_dash(gs_memory_t *mem, gx_dash_params *dash , const gs_gstate * pfrom) { - return gs_setdash(pto, pfrom->line_params.dash.pattern, + return gx_set_dash(dash, pfrom->line_params.dash.pattern, pfrom->line_params.dash.pattern_size, - pfrom->line_params.dash.offset); + pfrom->line_params.dash.offset, mem); } /* Clone an existing graphics state. */ @@ -1222,28 +1225,35 @@ gstate_clone(gs_gstate * pfrom, gs_memory_t * mem, client_name_t cname, { gs_gstate *pgs = gstate_alloc(mem, cname, pfrom); gs_gstate_parts parts; + void *pdata = NULL; + gx_dash_params dash; - if (pgs == 0) + if (pgs == NULL) return 0; GSTATE_ASSIGN_PARTS(&parts, pgs); - *pgs = *pfrom; - /* Copy the dash pattern if necessary. */ - if (pgs->line_params.dash.pattern) { - int code; + if (pfrom->client_data != NULL) { + pdata = (*pfrom->client_procs.alloc) (mem); - pgs->line_params.dash.pattern = 0; /* force allocation */ - code = gstate_copy_dash(pgs, pfrom); - if (code < 0) + if (pdata == NULL || + gstate_copy_client_data(pfrom, pdata, pfrom->client_data, reason) < 0 + ) goto fail; } - if (pgs->client_data != 0) { - void *pdata = pgs->client_data = (*pgs->client_procs.alloc) (mem); + /* Copy the dash and dash pattern if necessary. */ + dash = gs_currentlineparams_inline(pfrom)->dash; + if (pfrom->line_params.dash.pattern) { + int code; - if (pdata == 0 || - gstate_copy_client_data(pgs, pdata, pfrom->client_data, reason) < 0 - ) + dash.pattern = NULL; /* Ensures a fresh allocation */ + code = gstate_copy_dash(mem, &dash, pfrom); + if (code < 0) goto fail; } + *pgs = *pfrom; + pgs->client_data = pdata; + gs_currentlineparams_inline(pgs)->dash = dash; + pgs->memory = mem; + gs_gstate_copied(pgs); /* Don't do anything to clip_stack. */ @@ -1268,6 +1278,8 @@ gstate_clone(gs_gstate * pfrom, gs_memory_t * mem, client_name_t cname, cs_adjust_counts_icc(pgs, 1); return pgs; fail: + if (pdata != NULL) + (*pfrom->client_procs.free) (pdata, mem); memset(pgs->color, 0, 2*sizeof(gs_gstate_color)); gs_free_object(mem, pgs->line_params.dash.pattern, cname); GSTATE_ASSIGN_PARTS(pgs, &parts); @@ -1346,7 +1358,8 @@ gstate_copy(gs_gstate * pto, const gs_gstate * pfrom, GSTATE_ASSIGN_PARTS(&parts, pto); /* Copy the dash pattern if necessary. */ if (pfrom->line_params.dash.pattern || pto->line_params.dash.pattern) { - int code = gstate_copy_dash(pto, pfrom); + int code = gstate_copy_dash(pto->memory, + &(gs_currentlineparams_inline(pto)->dash), pfrom); if (code < 0) return code; @@ -1425,8 +1438,13 @@ gs_id gx_get_clip_path_id(gs_gstate *pgs) return pgs->clip_path->id; } -void gs_swapcolors_quick(gs_gstate *pgs) +void gs_swapcolors_quick(const gs_gstate *cpgs) { + union { + const gs_gstate *cpgs; + gs_gstate *pgs; + } const_breaker; + gs_gstate *pgs; struct gx_cie_joint_caches_s *tmp_cie; gs_devicen_color_map tmp_ccm; gs_client_color *tmp_cc; @@ -1434,6 +1452,11 @@ void gs_swapcolors_quick(gs_gstate *pgs) gx_device_color *tmp_dc; gs_color_space *tmp_cs; + /* Break const just once, neatly, here rather than + * hackily in every caller. */ + const_breaker.cpgs = cpgs; + pgs = const_breaker.pgs; + tmp_cc = pgs->color[0].ccolor; pgs->color[0].ccolor = pgs->color[1].ccolor; pgs->color[1].ccolor = tmp_cc; @@ -1446,6 +1469,11 @@ void gs_swapcolors_quick(gs_gstate *pgs) pgs->color[0].color_space = pgs->color[1].color_space; pgs->color[1].color_space = tmp_cs; + /* Overprint and effective_op vary with stroke/fill and cs */ + tmp = pgs->color[0].effective_opm; + pgs->color[0].effective_opm = pgs->color[1].effective_opm; + pgs->color[1].effective_opm = tmp; + /* Swap the bits of the gs_gstate that depend on the current color */ tmp_cie = pgs->cie_joint_caches; pgs->cie_joint_caches = pgs->cie_joint_caches_alt; @@ -1455,32 +1483,5 @@ void gs_swapcolors_quick(gs_gstate *pgs) pgs->color_component_map = pgs->color_component_map_alt; pgs->color_component_map_alt = tmp_ccm; - tmp = pgs->overprint; - pgs->overprint = pgs->stroke_overprint; - pgs->stroke_overprint = tmp; -} - -int gs_swapcolors(gs_gstate *pgs) -{ - int prior_overprint = pgs->overprint; - - gs_swapcolors_quick(pgs); - - /* The following code will only call gs_do_set_overprint when we - * have a change: - * if ((prior_overprint != pgs->overprint) || - * ((prior_mode != pgs->effective_overprint_mode) && - * (pgs->overprint))) - * return gs_do_set_overprint(pgs); - * Sadly, that's no good, as we need to call when we have swapped - * image space types too (separation <-> non separation for example). - * - * So instead, we call whenever at least one of them had overprint - * turned on. - */ - if (prior_overprint || pgs->overprint) - { - return gs_do_set_overprint(pgs); - } - return 0; + pgs->is_fill_color = !(pgs->is_fill_color); /* used by overprint for fill_stroke */ } diff --git a/base/gstext.c b/base/gstext.c index 1296e64f..c1fea18f 100644 --- a/base/gstext.c +++ b/base/gstext.c @@ -31,6 +31,7 @@ #include "gxtext.h" #include "gzstate.h" #include "gsutil.h" +#include "gxdevsop.h" /* GC descriptors */ public_st_gs_text_params(); @@ -271,6 +272,12 @@ gs_text_begin(gs_gstate * pgs, const gs_text_params_t * text, { gx_clip_path *pcpath = 0; int code; + gs_overprint_params_t op_params = { 0 }; + bool op_active = dev_proc(pgs->device, dev_spec_op)(pgs->device, gxdso_overprint_active, NULL, 0); + bool text_op_fill = ((pgs->overprint || (!pgs->overprint && op_active)) && + (pgs->text_rendering_mode == 0)); + bool text_op_stroke = ((pgs->stroke_overprint || (!pgs->stroke_overprint && op_active)) && + (pgs->text_rendering_mode == 1)); /* * Detect nocurrentpoint now, even if the string is empty, for Adobe @@ -310,6 +317,40 @@ gs_text_begin(gs_gstate * pgs, const gs_text_params_t * text, code = gs_gstate_color_load(pgs); if (code < 0) return code; + + if (text_op_stroke) { + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] Stroke Text Overprint\n"); + code = gs_do_set_overprint(pgs); + if (code < 0) + return code; + } else if (text_op_fill) { + if_debug0m(gs_debug_flag_overprint, pgs->memory, + "[overprint] Fill Text Overprint\n"); + code = gs_do_set_overprint(pgs); + if (code < 0) + return code; + } + + /* If overprint is true, push the compositor action to set the op device state */ + if ((pgs->overprint && pgs->text_rendering_mode == 0) || + (pgs->stroke_overprint && pgs->text_rendering_mode == 1) || + op_active) { + gx_device* dev = pgs->device; + cmm_dev_profile_t* dev_profile; + + dev_proc(dev, get_profile)(dev, &dev_profile); + if (dev_profile->sim_overprint && dev_profile->device_profile[0]->data_cs == gsCMYK) { + if (pgs->text_rendering_mode == 0) { + op_params.op_state = OP_STATE_FILL; + gs_gstate_update_overprint(pgs, &op_params); + } else if (pgs->text_rendering_mode == 1) { + op_params.op_state = OP_STATE_STROKE; + gs_gstate_update_overprint(pgs, &op_params); + } + } + } + pgs->device->sgr.stroke_stored = false; return gx_device_text_begin(pgs->device, pgs, text, pgs->font, pgs->path, diff --git a/base/gstparam.h b/base/gstparam.h index 4de92bfb..e8aa4fb3 100644 --- a/base/gstparam.h +++ b/base/gstparam.h @@ -55,6 +55,17 @@ typedef enum { "HardLight", "Overlay", "SoftLight", "Luminosity", "Hue",\ "Saturation", "Color", "CompatibleOverprint", "Compatible" +#define blend_is_idempotent(B) \ + (((((1<<BLEND_MODE_Multiply) | \ + (1<<BLEND_MODE_Screen) | \ + (1<<BLEND_MODE_Overlay) | \ + (1<<BLEND_MODE_ColorDodge) | \ + (1<<BLEND_MODE_ColorBurn) | \ + (1<<BLEND_MODE_HardLight) | \ + (1<<BLEND_MODE_SoftLight) | \ + (1<<BLEND_MODE_Difference) | \ + (1<<BLEND_MODE_Exclusion)) >> (B)) & 1) == 0) + /* Define the parameter structure for a transparency group. */ /* (Update gs_trans_group_params_init if these change.) */ typedef struct gs_transparency_group_params_s { diff --git a/base/gstrans.h b/base/gstrans.h index 0c9a3cd6..3dc72983 100644 --- a/base/gstrans.h +++ b/base/gstrans.h @@ -72,7 +72,10 @@ typedef enum { #define PDF14_SET_SHAPE_ALPHA (1 << 2) #define PDF14_SET_OPACITY_ALPHA (1 << 3) #define PDF14_SET_OVERPRINT (1 << 4) -#define PDF14_SET_OVERPRINT_MODE (1 << 5) +#define PDF14_SET_FILLCONSTANTALPHA (1 << 6) +#define PDF14_SET_STROKECONSTANTALPHA (1 << 7) +#define PDF14_SET_STROKEOVERPRINT (1 << 8) +#define PDF_SET_FILLSTROKE_STATE (1 << 9) /* Used for keeping track of the text group madness, since we have the pdf14 device needs to know if we are int an BT/ET group vs. a FreeText Annotation @@ -81,7 +84,8 @@ typedef enum { typedef enum { PDF14_TEXTGROUP_NO_BT, /* We are not in a BT/ET. Avoids Annotation Texts */ PDF14_TEXTGROUP_BT_NOT_PUSHED, /* We are in a BT/ET but no group pushed */ - PDF14_TEXTGROUP_BT_PUSHED /* We are in a BT/ET section and group was pushed */ + PDF14_TEXTGROUP_BT_PUSHED, /* We are in a BT/ET section and group was pushed */ + PDF14_TEXTGROUP_MISSING_ET /* We pushed a group already and then had another BT occur */ } pdf14_text_group_state; typedef struct gs_transparency_source_s { @@ -122,11 +126,15 @@ struct gs_pdf14trans_params_s { int text_group; gs_transparency_source_t opacity; gs_transparency_source_t shape; + float fillconstantalpha; + float strokeconstantalpha; bool mask_is_image; gs_matrix ctm; bool replacing; bool overprint; + bool stroke_overprint; bool effective_overprint_mode; + bool stroke_effective_op_mode; bool idle; /* For clist reader.*/ uint mask_id; /* For clist reader.*/ int group_color_numcomps; @@ -136,6 +144,7 @@ struct gs_pdf14trans_params_s { bool crop_blend_params; /* This is used when the blend params are updated during a transparency group push */ bool is_pattern; /* Needed to detect device push and pop for clist pattern */ + PDF14_OP_FS_STATE op_fs_state; }; /* diff --git a/base/gstype42.c b/base/gstype42.c index 49052a5d..3b8761de 100644 --- a/base/gstype42.c +++ b/base/gstype42.c @@ -773,17 +773,16 @@ gs_type42_find_post_name(gs_font_type42 * pfont, gs_glyph glyph, gs_string *gnam if (gind < numglyphs) { offs = pfont->data.post_offset + 34 + numglyphs * 2; for (i = 0; i < numglyphs; i++) { - byte len; if (i == gind) { - READ_SFNTS(pfont, offs, 1, &len); - code = pfont->data.string_proc(pfont, offs + 1, len, (const byte **)&(gname->data)); + READ_SFNTS(pfont, offs, 1, val); + code = pfont->data.string_proc(pfont, offs + 1, (uint)val[0], (const byte **)&(gname->data)); if (code > 0) - gname->size = len; + gname->size = val[0]; break; } else { - READ_SFNTS(pfont, offs, 1, &len); - offs += len + 1; + READ_SFNTS(pfont, offs, 1, val); + offs += (uint)val[0] + 1; } } } diff --git a/base/gsutil.c b/base/gsutil.c index d936d894..8d9c8679 100644 --- a/base/gsutil.c +++ b/base/gsutil.c @@ -24,8 +24,6 @@ #include "gsrect.h" /* for prototypes */ #include "gsuid.h" #include "gsutil.h" /* for prototypes */ -#include "gzstate.h" -#include "gxdcolor.h" /* ------ Unique IDs ------ */ diff --git a/base/gxacpath.c b/base/gxacpath.c index 6487c300..ebed0eb6 100644 --- a/base/gxacpath.c +++ b/base/gxacpath.c @@ -228,8 +228,8 @@ gx_cpath_accum_end(gx_device_cpath_accum * padev, gx_clip_path * pcpath) apath.path_valid = false; apath.id = gs_next_ids(padev->list_memory, 1); /* path changed => change id */ apath.cached = NULL; - gx_cpath_assign_free(pcpath, &apath); - return 0; + code = gx_cpath_assign_free(pcpath, &apath); + return code; } /* Discard an accumulator in case of error. */ diff --git a/base/gxblend.c b/base/gxblend.c index 59d0deaf..8e806888 100644 --- a/base/gxblend.c +++ b/base/gxblend.c @@ -745,7 +745,7 @@ art_blend_saturation_rgb_16(int n_chan, uint16_t *gs_restrict dst, const uint16_ int mins, maxs; int y; int64_t scale; - int r, g, b; + int64_t r, g, b; minb = rb < gb ? rb : gb; minb = minb < bb ? minb : bb; @@ -764,15 +764,19 @@ art_blend_saturation_rgb_16(int n_chan, uint16_t *gs_restrict dst, const uint16_ maxs = rs > gs ? rs : gs; maxs = maxs > bs ? maxs : bs; + /* -65535 <= maxs - mins <= 65535 i.e. 17 bits */ + /* -65535 <= maxb - minb <= 65535 i.e. 17 bits */ + /* worst case, maxb - minb == +/- 1, so scale would be 33 bits. */ scale = (((int64_t)(maxs - mins)) << 16) / (maxb - minb); + /* 0 <= y <= 65535 */ y = (rb * 77 + gb * 151 + bb * 28 + 0x80) >> 8; r = y + ((((rb - y) * scale) + 0x8000) >> 16); g = y + ((((gb - y) * scale) + 0x8000) >> 16); b = y + ((((bb - y) * scale) + 0x8000) >> 16); - if ((r | g | b) & 0x10000) { + if ((r | g | b) & (int64_t)~0xffff) { int64_t scalemin, scalemax; - int min, max; + int64_t min, max; min = r < g ? r : g; min = min < b ? min : b; @@ -780,7 +784,7 @@ art_blend_saturation_rgb_16(int n_chan, uint16_t *gs_restrict dst, const uint16_ max = max > b ? max : b; if (min < 0) - scalemin = ((int64_t)(y << 16)) / (y - min); + scalemin = (((int64_t)y) << 16) / (y - min); else scalemin = 0x10000; @@ -1207,7 +1211,10 @@ art_blend_pixel_8_inline(byte *gs_restrict dst, const byte *gs_restrict backdrop * PDF specification */ case BLEND_MODE_CompatibleOverprint: { - gx_color_index drawn_comps = p14dev->drawn_comps; + gx_color_index drawn_comps = p14dev->op_state == PDF14_OP_STATE_FILL ? + p14dev->drawn_comps_fill : p14dev->drawn_comps_stroke; + bool opm = p14dev->op_state == PDF14_OP_STATE_FILL ? + p14dev->effective_overprint_mode : p14dev->stroke_effective_op_mode; gx_color_index comps; /* If overprint mode is true and the current color space and * the group color space are CMYK (or CMYK and spots), then @@ -1266,12 +1273,14 @@ art_blend_pixel_8_inline(byte *gs_restrict dst, const byte *gs_restrict backdrop the mixing of the source with the blend result. Essentially replacing that mixing with the color we have here. */ - if (p14dev->effective_overprint_mode && p14dev->color_info.num_components > 3 + if (opm && p14dev->color_info.num_components > 3 && !(p14dev->ctx->additive)) { - for (i = 0; i < 4; i++) { - b = backdrop[i]; - s = src[i]; - dst[i] = s < 0xff ? s : b; /* Subtractive zero */ + for (i = 0, comps = drawn_comps; i < 4; i++, comps >>= 1) { + if ((comps & 0x1) != 0) { + dst[i] = src[i]; + } else { + dst[i] = backdrop[i]; + } } for (i = 4; i < n_chan; i++) { dst[i] = backdrop[i]; @@ -1462,7 +1471,10 @@ art_blend_pixel_16_inline(uint16_t *gs_restrict dst, const uint16_t *gs_restrict * PDF specification */ case BLEND_MODE_CompatibleOverprint: { - gx_color_index drawn_comps = p14dev->drawn_comps; + gx_color_index drawn_comps = p14dev->op_state == PDF14_OP_STATE_FILL ? + p14dev->drawn_comps_fill : p14dev->drawn_comps_stroke; + bool opm = p14dev->op_state == PDF14_OP_STATE_FILL ? + p14dev->effective_overprint_mode : p14dev->stroke_effective_op_mode; gx_color_index comps; /* If overprint mode is true and the current color space and * the group color space are CMYK (or CMYK and spots), then @@ -1472,12 +1484,14 @@ art_blend_pixel_16_inline(uint16_t *gs_restrict dst, const uint16_t *gs_restrict * the CMYK colorants (see gx_put_blended_image_cmykspot). * that way we don't have to worry about where the process colors * are. */ - if (p14dev->effective_overprint_mode && p14dev->color_info.num_components > 3 + if (opm && p14dev->color_info.num_components > 3 && !(p14dev->ctx->additive)) { - for (i = 0; i < 4; i++) { - b = backdrop[i]; - s = src[i]; - dst[i] = s < 0xffff ? s : b; /* Subtractive zero */ + for (i = 0, comps = drawn_comps; i < 4; i++, comps >>= 1) { + if ((comps & 0x1) != 0) { + dst[i] = src[i]; + } else { + dst[i] = backdrop[i]; + } } for (i = 4; i < n_chan; i++) { dst[i] = backdrop[i]; @@ -1527,9 +1541,10 @@ art_pdf_union_8(byte alpha1, byte alpha2) } #endif -static void -art_pdf_knockout_composite_pixel_alpha_8(byte *gs_restrict backdrop, byte tos_shape, byte *gs_restrict dst, - const byte *gs_restrict src, int n_chan, gs_blend_mode_t blend_mode, +static byte* +art_pdf_knockout_composite_pixel_alpha_8(byte *gs_restrict backdrop, byte tos_shape, + byte *gs_restrict dst, byte *gs_restrict src, int n_chan, + gs_blend_mode_t blend_mode, const pdf14_nonseparable_blending_procs_t * pblend_procs, pdf14_device *p14dev) { @@ -1546,16 +1561,15 @@ art_pdf_knockout_composite_pixel_alpha_8(byte *gs_restrict backdrop, byte tos_sh /* source alpha is zero, if we have a src shape value there then copy the backdrop, else leave it alone */ if (tos_shape) - memcpy(dst, backdrop, n_chan + 1); - return; + return backdrop; + return NULL; } /* In this case a_s is not zero */ if (a_b == 0) { /* backdrop alpha is zero but not source alpha, just copy source pixels and avoid computation. */ - memcpy(dst, src, n_chan + 1); - return; + return src; } /* Result alpha is Union of backdrop and source alpha */ @@ -1594,11 +1608,12 @@ art_pdf_knockout_composite_pixel_alpha_8(byte *gs_restrict backdrop, byte tos_sh } } dst[n_chan] = a_r; + return dst; } -static void +static forceinline uint16_t* art_pdf_knockout_composite_pixel_alpha_16(uint16_t *gs_restrict backdrop, uint16_t tos_shape, uint16_t *gs_restrict dst, - const uint16_t *gs_restrict src, int n_chan, gs_blend_mode_t blend_mode, + uint16_t *gs_restrict src, int n_chan, gs_blend_mode_t blend_mode, const pdf14_nonseparable_blending_procs_t * pblend_procs, pdf14_device *p14dev) { @@ -1615,16 +1630,15 @@ art_pdf_knockout_composite_pixel_alpha_16(uint16_t *gs_restrict backdrop, uint16 /* source alpha is zero, if we have a src shape value there then copy the backdrop, else leave it alone */ if (tos_shape) - memcpy(dst, backdrop, 2*(n_chan + 1)); - return; + return backdrop; + return NULL; } /* In this case a_s is not zero */ if (a_b == 0) { /* backdrop alpha is zero but not source alpha, just copy source pixels and avoid computation. */ - memcpy(dst, src, 2*(n_chan + 1)); - return; + return src; } /* Result alpha is Union of backdrop and source alpha */ @@ -1666,6 +1680,7 @@ art_pdf_knockout_composite_pixel_alpha_16(uint16_t *gs_restrict backdrop, uint16 } } dst[n_chan] = a_r; + return dst; } void @@ -2073,9 +2088,6 @@ art_pdf_composite_pixel_alpha_16_fast_mono(uint16_t *gs_restrict dst, const uint * @alpha: Alpha mask value. * @src_alpha_g: alpha_g value associated with @src. * @blend_mode: Blend mode for compositing. - * @first_blend_spot: The first component for which Normal blending should be used. - * @pblend_procs: Procs for handling non separable blending modes. - * @p14dev: pdf14 device * * Note: this is only for non-isolated groups. This covers only the * single-alpha case. A separate function is needed for dual-alpha, @@ -2094,9 +2106,7 @@ art_pdf_composite_pixel_alpha_16_fast_mono(uint16_t *gs_restrict dst, const uint static forceinline int art_pdf_recomposite_group_8(byte *gs_restrict *dstp, byte *gs_restrict dst_alpha_g, byte *gs_restrict src, byte src_alpha_g, int n_chan, - byte alpha, gs_blend_mode_t blend_mode, int first_blend_spot, - const pdf14_nonseparable_blending_procs_t * pblend_procs, - pdf14_device *p14dev) + byte alpha, gs_blend_mode_t blend_mode) { byte dst_alpha; int i; @@ -2157,16 +2167,32 @@ art_pdf_recomposite_group_8(byte *gs_restrict *dstp, byte *gs_restrict dst_alpha } static forceinline int +art_pdf_ko_recomposite_group_8(byte tos_shape, + byte src_alpha_g, byte* gs_restrict* dstp, + byte* gs_restrict dst_alpha_g, byte* gs_restrict src, + int n_chan, byte alpha, gs_blend_mode_t blend_mode, bool has_mask) +{ + byte* gs_restrict dst = *dstp; + + if (tos_shape == 0 || src_alpha_g == 0) { + /* If a softmask was present pass it along Bug 693548 */ + if (has_mask) + dst[n_chan] = alpha; + return 0; + } + + return art_pdf_recomposite_group_8(dstp, dst_alpha_g, src, src_alpha_g, + n_chan, alpha, blend_mode); +} + +static forceinline int art_pdf_recomposite_group_16(uint16_t *gs_restrict *dstp, uint16_t *gs_restrict dst_alpha_g, uint16_t *gs_restrict src, uint16_t src_alpha_g, int n_chan, - uint16_t alpha, gs_blend_mode_t blend_mode, int first_blend_spot, - const pdf14_nonseparable_blending_procs_t * pblend_procs, - pdf14_device *p14dev) + uint16_t alpha, gs_blend_mode_t blend_mode) { uint16_t dst_alpha; int i; - int tmp; - int scale; + uint32_t tmp; uint16_t *gs_restrict dst = *dstp; if (src_alpha_g == 0) @@ -2192,25 +2218,24 @@ art_pdf_recomposite_group_16(uint16_t *gs_restrict *dstp, uint16_t *gs_restrict if (src_alpha_g != 65535 && dst_alpha != 0) { /* Uncomposite the color. In other words, solve "src = (src, src_alpha_g) over dst" for src */ - scale = ((unsigned int)(dst_alpha * 65535 + (src_alpha_g>>1))) / src_alpha_g - + uint32_t scale = ((unsigned int)(dst_alpha * 65535 + (src_alpha_g>>1))) / src_alpha_g - dst_alpha; /* scale is NOT in 16.16 form here. I've seen values of 0xfefe01, for example. */ for (i = 0; i < n_chan; i++) { int si, di; int64_t tmp64; + int t; si = src[i]; di = dst[i]; /* RJW: Nasty that we have to resort to 64bit here, but we'll live with it. */ - tmp64 = (si - di) * (int64_t)scale + 0x8000; - tmp = si + (tmp64 >> 16); - - /* todo: it should be possible to optimize these cond branches */ - if (tmp < 0) - tmp = 0; - if (tmp > 65535) - tmp = 65535; - src[i] = tmp; + tmp64 = (si - di) * (uint64_t)scale + 0x8000; + t = si + (tmp64 >> 16); + if (t < 0) + t = 0; + else if (t > 65535) + t = 65535; + src[i] = t; } } @@ -2218,7 +2243,7 @@ art_pdf_recomposite_group_16(uint16_t *gs_restrict *dstp, uint16_t *gs_restrict tmp = (src_alpha_g * tmp + 0x8000)>>16; src[n_chan] = tmp; if (dst_alpha_g != NULL) { - int d = *dst_alpha_g; + uint32_t d = *dst_alpha_g; d += d>>15; tmp = (0x10000 - d) * (0xffff - tmp) + 0x8000; *dst_alpha_g = 0xffff - (tmp >> 16); @@ -2228,95 +2253,25 @@ art_pdf_recomposite_group_16(uint16_t *gs_restrict *dstp, uint16_t *gs_restrict /* todo: optimize BLEND_MODE_Normal buf alpha != 255 case */ } -/** - * art_pdf_composite_knockout_group_8: Composite group pixel. - * @backdrop: Backdrop of original parent group. - * @tos_shape: So that we know to copy the backdrop or not even if a_s is zero - * @dst: Where to store pixel. - * @dst_alpha_g: Optional pointer to alpha g value. - * @alpha: Alpha mask value. - * @blend_mode: Blend mode for compositing. - * @pblend_procs: Procs for handling non separable blending modes. - * @p14dev: PDF14 device - * @has_mask: needed for knowing to pass back the soft mask value if shape = 0 - * - * Note: this is only for knockout nonisolated groups. - * - * @alpha corresponds to $fk_i \cdot fm_i \cdot qk_i \cdot qm_i$. - * - * @NOTE: This function may corrupt src. - **/ -static forceinline void -art_pdf_composite_knockout_group_8(byte *gs_restrict backdrop, byte tos_shape, byte *gs_restrict dst, - byte *gs_restrict dst_alpha_g, byte *gs_restrict src, int n_chan, byte alpha, - gs_blend_mode_t blend_mode, - const pdf14_nonseparable_blending_procs_t * pblend_procs, - pdf14_device *p14dev, bool has_mask) -{ - byte src_alpha; /* $\alpha g_n$ */ - int tmp; - - if (tos_shape == 0) { - /* If a softmask was present pass it along Bug 693548 */ - if (has_mask) - dst[n_chan] = alpha; - return; - } - - if (alpha != 255) { - if (tos_shape != 255) return; - src_alpha = src[n_chan]; - if (src_alpha == 0) - return; - tmp = src_alpha * alpha + 0x80; - src[n_chan] = (tmp + (tmp >> 8)) >> 8; - } - - if (dst_alpha_g != NULL) { - tmp = (255 - *dst_alpha_g) * (255 - src[n_chan]) + 0x80; - *dst_alpha_g = 255 - ((tmp + (tmp >> 8)) >> 8); - } - art_pdf_knockout_composite_pixel_alpha_8(backdrop, tos_shape, dst, src, - n_chan, blend_mode, pblend_procs, - p14dev); -} - -static forceinline void -art_pdf_composite_knockout_group_16(uint16_t *gs_restrict backdrop, uint16_t tos_shape, uint16_t *gs_restrict dst, - uint16_t *gs_restrict dst_alpha_g, uint16_t *gs_restrict src, int n_chan, uint16_t alpha, - gs_blend_mode_t blend_mode, - const pdf14_nonseparable_blending_procs_t * pblend_procs, - pdf14_device *p14dev, bool has_mask) +static forceinline int +art_pdf_ko_recomposite_group_16(uint16_t tos_shape, + uint16_t src_alpha_g, uint16_t* gs_restrict* dstp, + uint16_t* gs_restrict dst_alpha_g, uint16_t* gs_restrict src, + int n_chan, uint16_t alpha, gs_blend_mode_t blend_mode, + bool has_mask) { - int src_alpha; /* $\alpha g_n$ */ - int tmp; + uint16_t* gs_restrict dst = *dstp; - if (tos_shape == 0) { + if (tos_shape == 0 || src_alpha_g == 0) { /* If a softmask was present pass it along Bug 693548 */ if (has_mask) dst[n_chan] = alpha; - return; - } - - if (alpha != 65535) { - if (tos_shape != 65535) return; - src_alpha = src[n_chan]; - if (src_alpha == 0) - return; - src_alpha += src_alpha>>15; - tmp = src_alpha * alpha + 0x8000; - src[n_chan] = tmp >> 16; + return 0; } - if (dst_alpha_g != NULL) { - tmp = *dst_alpha_g; - tmp += tmp>>15; - tmp = (0x10000 - tmp) * (0xffff - src[n_chan]) + 0x8000; - *dst_alpha_g = 0xffff - (tmp >> 16); - } - art_pdf_knockout_composite_pixel_alpha_16(backdrop, tos_shape, dst, src, - n_chan, blend_mode, pblend_procs, - p14dev); + return art_pdf_recomposite_group_16(dstp, dst_alpha_g, src, + src_alpha_g, n_chan, alpha, + blend_mode); } /** @@ -2363,6 +2318,39 @@ art_pdf_composite_group_8(byte *gs_restrict dst, byte *gs_restrict dst_alpha_g, } static forceinline int +art_pdf_ko_composite_group_8(byte tos_shape, + byte* gs_restrict src_alpha_g, byte* gs_restrict dst, + byte* gs_restrict dst_alpha_g, byte* gs_restrict src, + int n_chan, byte alpha, bool has_mask) +{ + byte src_alpha; /* $\alpha g_n$ */ + int tmp; + + if (tos_shape == 0 || (src_alpha_g != NULL && *src_alpha_g == 0)) { + /* If a softmask was present pass it along Bug 693548 */ + if (has_mask) + dst[n_chan] = alpha; + return 0; + } + + if (alpha != 255) { + if (tos_shape != 255) + return 0; + src_alpha = src[n_chan]; + if (src_alpha == 0) + return 0; + tmp = src_alpha * alpha + 0x80; + src[n_chan] = (tmp + (tmp >> 8)) >> 8; + } + + if (dst_alpha_g != NULL) { + tmp = (255 - *dst_alpha_g) * (255 - src[n_chan]) + 0x80; + *dst_alpha_g = 255 - ((tmp + (tmp >> 8)) >> 8); + } + return 1; +} + +static forceinline int art_pdf_composite_group_16(uint16_t *gs_restrict dst, uint16_t *gs_restrict dst_alpha_g, uint16_t *gs_restrict src, int n_chan, uint16_t alpha) { @@ -2386,6 +2374,41 @@ art_pdf_composite_group_16(uint16_t *gs_restrict dst, uint16_t *gs_restrict dst_ return 1; } +static forceinline int +art_pdf_ko_composite_group_16(uint16_t tos_shape, + uint16_t* gs_restrict src_alpha_g, uint16_t* gs_restrict dst, + uint16_t* gs_restrict dst_alpha_g, uint16_t* gs_restrict src, + int n_chan, uint16_t alpha, bool has_mask) +{ + uint16_t src_alpha; + int tmp; + + if (tos_shape == 0 || (src_alpha_g != NULL && *src_alpha_g == 0)) { + /* If a softmask was present pass it along Bug 693548 */ + if (has_mask) + dst[n_chan] = alpha; + return 0; + } + + if (alpha != 65535) { + if (tos_shape != 65535) + return 0; + src_alpha = src[n_chan]; + if (src_alpha == 0) + return 0; + tmp = alpha + (alpha >> 15); + src[n_chan] = (src_alpha * tmp + 0x8000) >> 16; + } + + if (dst_alpha_g != NULL) { + tmp = *dst_alpha_g; + tmp += tmp >> 15; + tmp = (0x10000 - tmp) * (0xffff - src[n_chan]) + 0x8000; + *dst_alpha_g = 0xffff - (tmp >> 16); + } + return 1; +} + /* A very simple case. Knockout isolated group going to a parent that is not a knockout. Simply copy over everwhere where we have a non-zero alpha value */ void @@ -2486,7 +2509,9 @@ art_pdf_composite_knockout_8(byte *gs_restrict dst, inner loop is a single interpolation */ tmp = dst[i] * dst_alpha * (255 - src_shape) + ((int)src[i]) * 255 * src_shape + (result_alpha << 7); - dst[i] = tmp / (result_alpha * 255); + tmp = tmp / (result_alpha * 255); + if (tmp > 255) tmp = 255; + dst[i] = tmp; } dst[n_chan] = result_alpha; } @@ -2504,23 +2529,24 @@ art_pdf_composite_knockout_8(byte *gs_restrict dst, /* Result alpha is Union of backdrop and source alpha */ tmp = (0xff - a_b) * (0xff - a_s) + 0x80; a_r = 0xff - (((tmp >> 8) + tmp) >> 8); - /* todo: verify that a_r is nonzero in all cases */ - /* Compute a_s / a_r in 16.16 format */ - src_scale = ((a_s << 16) + (a_r >> 1)) / a_r; + if (a_r != 0) { + /* Compute a_s / a_r in 16.16 format */ + src_scale = ((a_s << 16) + (a_r >> 1)) / a_r; - art_blend_pixel_8(blend, dst, src, n_chan, blend_mode, pblend_procs, p14dev); - for (i = 0; i < n_chan; i++) { - int c_bl; /* Result of blend function */ - int c_mix; /* Blend result mixed with source color */ + art_blend_pixel_8(blend, dst, src, n_chan, blend_mode, pblend_procs, p14dev); + for (i = 0; i < n_chan; i++) { + int c_bl; /* Result of blend function */ + int c_mix; /* Blend result mixed with source color */ - c_s = src[i]; - c_b = dst[i]; - c_bl = blend[i]; - tmp = a_b * (c_bl - ((int)c_s)) + 0x80; - c_mix = c_s + (((tmp >> 8) + tmp) >> 8); - tmp = (c_b << 16) + src_scale * (c_mix - c_b) + 0x8000; - dst[i] = tmp >> 16; + c_s = src[i]; + c_b = dst[i]; + c_bl = blend[i]; + tmp = a_b * (c_bl - ((int)c_s)) + 0x80; + c_mix = c_s + (((tmp >> 8) + tmp) >> 8); + tmp = (c_b << 16) + src_scale * (c_mix - c_b) + 0x8000; + dst[i] = tmp >> 16; + } } dst[n_chan] = a_r; } @@ -2562,7 +2588,10 @@ art_pdf_composite_knockout_16(uint16_t *gs_restrict dst, tmp = dst[i] * dst_alpha; tmp = (tmp>>16) * (65535 - src_shape) + src[i] * src_shape + (result_alpha>>1); - dst[i] = tmp / result_alpha; + tmp = tmp / result_alpha; + if (tmp > 65535) tmp = 65535; + dst[i] = tmp; + } } dst[n_chan] = result_alpha; @@ -2581,26 +2610,27 @@ art_pdf_composite_knockout_16(uint16_t *gs_restrict dst, /* Result alpha is Union of backdrop and source alpha */ tmp = (0xffff - a_b) * (0xffff - a_s) + 0x8000; a_r = 0xffff - (((tmp >> 16) + tmp) >> 16); - /* todo: verify that a_r is nonzero in all cases */ - /* Compute a_s / a_r in 16.16 format */ - src_scale = ((a_s << 16) + (a_r >> 1)) / a_r; + if (a_r != 0) { + /* Compute a_s / a_r in 16.16 format */ + src_scale = ((a_s << 16) + (a_r >> 1)) / a_r; - src_scale >>= 1; /* Lose a bit to avoid overflow */ - a_b >>= 1; /* Lose a bit to avoid overflow */ - art_blend_pixel_16(blend, dst, src, n_chan, blend_mode, pblend_procs, p14dev); - for (i = 0; i < n_chan; i++) { - int c_bl; /* Result of blend function */ - int c_mix; /* Blend result mixed with source color */ - int stmp; + src_scale >>= 1; /* Lose a bit to avoid overflow */ + a_b >>= 1; /* Lose a bit to avoid overflow */ + art_blend_pixel_16(blend, dst, src, n_chan, blend_mode, pblend_procs, p14dev); + for (i = 0; i < n_chan; i++) { + int c_bl; /* Result of blend function */ + int c_mix; /* Blend result mixed with source color */ + int stmp; - c_s = src[i]; - c_b = dst[i]; - c_bl = blend[i]; - stmp = a_b * (c_bl - ((int)c_s)) + 0x4000; - c_mix = c_s + (((stmp >> 16) + stmp) >> 15); - tmp = src_scale * (c_mix - c_b) + 0x4000; - dst[i] = c_b + (tmp >> 15); + c_s = src[i]; + c_b = dst[i]; + c_bl = blend[i]; + stmp = a_b * (c_bl - ((int)c_s)) + 0x4000; + c_mix = c_s + (((stmp >> 16) + stmp) >> 15); + tmp = src_scale * (c_mix - c_b) + 0x4000; + dst[i] = c_b + (tmp >> 15); + } } dst[n_chan] = a_r; } @@ -2785,7 +2815,7 @@ dump_raw_buffer_be(const gs_memory_t *mem, int num_rows, int width, int n_chan, typedef void (*art_pdf_compose_group_fn)(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, + byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, byte *backdrop_ptr, bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, @@ -2798,7 +2828,8 @@ template_compose_group(byte *gs_restrict tos_ptr, bool tos_isolated, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, - bool tos_has_tag, byte *gs_restrict nos_ptr, + bool tos_has_tag, byte *gs_restrict tos_alpha_g_ptr, + byte *gs_restrict nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *gs_restrict nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, @@ -2819,7 +2850,6 @@ template_compose_group(byte *gs_restrict tos_ptr, bool tos_isolated, byte tos_pixel[PDF14_MAX_PLANES]; byte nos_pixel[PDF14_MAX_PLANES]; byte back_drop[PDF14_MAX_PLANES]; - gx_color_index comps; bool in_mask_rect_y; bool in_mask_rect; byte pix_alpha; @@ -2955,27 +2985,33 @@ template_compose_group(byte *gs_restrict tos_ptr, bool tos_isolated, /* alpha */ back_drop[n_chan] = backdrop_ptr[n_chan * nos_planestride]; } - art_pdf_composite_knockout_group_8(back_drop, tos_shape, - nos_pixel, nos_alpha_g_ptr, - tos_pixel, n_chan, pix_alpha, - blend_mode, pblend_procs, - pdev, has_mask2); + if (tos_isolated ? + art_pdf_ko_composite_group_8(tos_shape, tos_alpha_g_ptr, + nos_pixel, nos_alpha_g_ptr, + tos_pixel, n_chan, pix_alpha, + has_mask2) : + art_pdf_ko_recomposite_group_8(tos_shape, has_alpha ? tos_ptr[tos_alpha_g_offset] : 255, + &dst, nos_alpha_g_ptr, tos_pixel, n_chan, pix_alpha, + blend_mode, has_mask2)) + dst = art_pdf_knockout_composite_pixel_alpha_8(back_drop, tos_shape, + nos_pixel, tos_pixel, + n_chan, blend_mode, + pblend_procs, pdev); } else if (tos_isolated ? art_pdf_composite_group_8(nos_pixel, nos_alpha_g_ptr, tos_pixel, n_chan, pix_alpha) : art_pdf_recomposite_group_8(&dst, nos_alpha_g_ptr, tos_pixel, has_alpha ? tos_ptr[tos_alpha_g_offset] : 255, n_chan, - pix_alpha, blend_mode, first_blend_spot, - pblend_procs, pdev)) { + pix_alpha, blend_mode)) { dst = art_pdf_composite_pixel_alpha_8_inline(nos_pixel, tos_pixel, n_chan, blend_mode, first_blend_spot, pblend_procs, pdev); } if (nos_shape_offset && pix_alpha != 0) { nos_ptr[nos_shape_offset] = - art_pdf_union_mul_8 (nos_ptr[nos_shape_offset], - has_alpha ? tos_ptr[tos_shape_offset] : global_shape, - shape); + art_pdf_union_mul_8(nos_ptr[nos_shape_offset], + has_alpha ? tos_ptr[tos_shape_offset] : global_shape, + shape); } if (dst) { @@ -2992,24 +3028,8 @@ template_compose_group(byte *gs_restrict tos_ptr, bool tos_isolated, } } else { /* Pure subtractive */ - /* If we were running in the compatible overprint blend mode - * and popping the group, we don't need to fool with the - * drawn components as that should have already have been - * handled during the blending within our special non-isolated - * group. So in other words, if the blend mode is normal - * (or compatible) and we are doing overprint, the overprint - * has NOT been handled by compatible overprint mode and we - * need to take care of it now */ - if (overprint) { - for (i = 0, comps = drawn_comps; comps != 0; ++i, comps >>= 1) { - if ((comps & 0x1) != 0) { - nos_ptr[i * nos_planestride] = 255 - dst[i]; - } - } - } else { - for (i = 0; i < n_chan; ++i) - nos_ptr[i * nos_planestride] = 255 - dst[i]; - } + for (i = 0; i < n_chan; ++i) + nos_ptr[i * nos_planestride] = 255 - dst[i]; } /* alpha */ nos_ptr[n_chan * nos_planestride] = dst[n_chan]; @@ -3021,6 +3041,8 @@ template_compose_group(byte *gs_restrict tos_ptr, bool tos_isolated, if (nos_alpha_g_ptr != NULL) ++nos_alpha_g_ptr; + if (tos_alpha_g_ptr != NULL) + ++tos_alpha_g_ptr; if (backdrop_ptr != NULL) ++backdrop_ptr; ++tos_ptr; @@ -3028,6 +3050,8 @@ template_compose_group(byte *gs_restrict tos_ptr, bool tos_isolated, } tos_ptr += tos_rowstride - width; nos_ptr += nos_rowstride - width; + if (tos_alpha_g_ptr != NULL) + tos_alpha_g_ptr += tos_rowstride - width; if (nos_alpha_g_ptr != NULL) nos_alpha_g_ptr += nos_rowstride - width; if (mask_row_ptr != NULL) @@ -3039,7 +3063,7 @@ template_compose_group(byte *gs_restrict tos_ptr, bool tos_isolated, static void compose_group_knockout(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3048,7 +3072,7 @@ compose_group_knockout(byte *tos_ptr, bool tos_isolated, int tos_planestride, in const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, blend_mode, tos_has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */1, nos_shape_offset, nos_tag_offset, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, has_matte, n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 1); @@ -3056,7 +3080,7 @@ compose_group_knockout(byte *tos_ptr, bool tos_isolated, int tos_planestride, in static void compose_group_nonknockout_blend(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3065,7 +3089,7 @@ compose_group_nonknockout_blend(byte *tos_ptr, bool tos_isolated, int tos_planes const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, blend_mode, tos_has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */0, nos_shape_offset, nos_tag_offset, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, has_matte, n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 1); @@ -3073,7 +3097,7 @@ compose_group_nonknockout_blend(byte *tos_ptr, bool tos_isolated, int tos_planes static void compose_group_nonknockout_nonblend_isolated_allmask_common(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3138,7 +3162,7 @@ compose_group_nonknockout_nonblend_isolated_allmask_common(byte *tos_ptr, bool t static void compose_group_nonknockout_nonblend_isolated_mask_common(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3228,7 +3252,7 @@ compose_group_nonknockout_nonblend_isolated_mask_common(byte *tos_ptr, bool tos_ static void compose_group_nonknockout_nonblend_isolated_nomask_common(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3237,7 +3261,7 @@ compose_group_nonknockout_nonblend_isolated_nomask_common(byte *tos_ptr, bool to const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group(tos_ptr, /*tos_isolated*/1, tos_planestride, tos_rowstride, alpha, shape, BLEND_MODE_Normal, /*tos_has_shape*/0, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, /*tos_alpha_g_ptr*/0, nos_ptr, /*nos_isolated*/0, nos_planestride, nos_rowstride, /*nos_alpha_g_ptr*/0, /* nos_knockout = */0, /*nos_shape_offset*/0, /*nos_tag_offset*/0, mask_row_ptr, /*has_mask*/0, /*maskbuf*/NULL, mask_bg_alpha, mask_tr_fn, backdrop_ptr, /*has_matte*/0, n_chan, /*additive*/1, /*num_spots*/0, /*overprint*/0, /*drawn_comps*/0, x0, y0, x1, y1, pblend_procs, pdev, 1); @@ -3245,7 +3269,7 @@ compose_group_nonknockout_nonblend_isolated_nomask_common(byte *tos_ptr, bool to static void compose_group_nonknockout_nonblend_nonisolated_mask_common(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3254,7 +3278,7 @@ compose_group_nonknockout_nonblend_nonisolated_mask_common(byte *tos_ptr, bool t const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group(tos_ptr, /*tos_isolated*/0, tos_planestride, tos_rowstride, alpha, shape, BLEND_MODE_Normal, /*tos_has_shape*/0, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, /*tos_alpha_g_ptr*/0, nos_ptr, /*nos_isolated*/0, nos_planestride, nos_rowstride, /*nos_alpha_g_ptr*/0, /* nos_knockout = */0, /*nos_shape_offset*/0, /*nos_tag_offset*/0, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, /*has_matte*/0, n_chan, /*additive*/1, /*num_spots*/0, /*overprint*/0, /*drawn_comps*/0, x0, y0, x1, y1, pblend_procs, pdev, 1); @@ -3262,7 +3286,7 @@ compose_group_nonknockout_nonblend_nonisolated_mask_common(byte *tos_ptr, bool t static void compose_group_nonknockout_nonblend_nonisolated_nomask_common(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3271,7 +3295,7 @@ compose_group_nonknockout_nonblend_nonisolated_nomask_common(byte *tos_ptr, bool const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group(tos_ptr, /*tos_isolated*/0, tos_planestride, tos_rowstride, alpha, shape, BLEND_MODE_Normal, /*tos_has_shape*/0, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, /*tos_alpha_g_ptr*/0, nos_ptr, /*nos_isolated*/0, nos_planestride, nos_rowstride, /*nos_alpha_g_ptr*/0, /* nos_knockout = */0, /*nos_shape_offset*/0, /*nos_tag_offset*/0, mask_row_ptr, /*has_mask*/0, /*maskbuf*/NULL, mask_bg_alpha, mask_tr_fn, backdrop_ptr, /*has_matte*/0, n_chan, /*additive*/1, /*num_spots*/0, /*overprint*/0, /*drawn_comps*/0, x0, y0, x1, y1, pblend_procs, pdev, 1); @@ -3279,7 +3303,7 @@ compose_group_nonknockout_nonblend_nonisolated_nomask_common(byte *tos_ptr, bool static void compose_group_nonknockout_noblend_general(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3288,7 +3312,7 @@ compose_group_nonknockout_noblend_general(byte *tos_ptr, bool tos_isolated, int const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, BLEND_MODE_Normal, tos_has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */0, nos_shape_offset, nos_tag_offset, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, has_matte, n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 1); @@ -3296,7 +3320,7 @@ compose_group_nonknockout_noblend_general(byte *tos_ptr, bool tos_isolated, int static void compose_group_alphaless_knockout(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3305,7 +3329,7 @@ compose_group_alphaless_knockout(byte *tos_ptr, bool tos_isolated, int tos_plane const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, blend_mode, tos_has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */1, nos_shape_offset, nos_tag_offset, /* mask_row_ptr */ NULL, /* has_mask */ 0, /* maskbuf */ NULL, mask_bg_alpha, /* mask_tr_fn */ NULL, backdrop_ptr, /* has_matte */ false , n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 0); @@ -3313,7 +3337,7 @@ compose_group_alphaless_knockout(byte *tos_ptr, bool tos_isolated, int tos_plane static void compose_group_alphaless_nonknockout(byte *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape, - int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr, byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn, @@ -3322,7 +3346,7 @@ compose_group_alphaless_nonknockout(byte *tos_ptr, bool tos_isolated, int tos_pl const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, blend_mode, tos_has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */0, nos_shape_offset, nos_tag_offset, /* mask_row_ptr */ NULL, /* has_mask */ 0, /* maskbuf */ NULL, mask_bg_alpha, /* mask_tr_fn */ NULL, backdrop_ptr, /* has_matte */ false , n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 0); @@ -3351,6 +3375,7 @@ do_compose_group(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf, bool nos_isolated = nos->isolated; bool nos_knockout = nos->knockout; byte *nos_alpha_g_ptr; + byte *tos_alpha_g_ptr; int tos_shape_offset = n_chan * tos_planestride; int tos_alpha_g_offset = tos_shape_offset + (tos->has_shape ? tos_planestride : 0); bool tos_has_tag = tos->has_tags; @@ -3390,6 +3415,10 @@ do_compose_group(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf, nos_alpha_g_ptr = nos_ptr + nos_alpha_g_offset; } else nos_alpha_g_ptr = NULL; + if (tos->has_alpha_g) { + tos_alpha_g_ptr = tos_ptr + tos_alpha_g_offset; + } else + tos_alpha_g_ptr = NULL; if (nos->backdrop != NULL) { backdrop_ptr = nos->backdrop + x0 - nos->rect.p.x + (y0 - nos->rect.p.y) * nos->rowstride; @@ -3473,10 +3502,10 @@ do_compose_group(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf, fn = &compose_group_nonknockout_blend; /* Small %ages, nothing more than 2% */ else if (tos->has_shape == 0 && tos_has_tag == 0 && nos_isolated == 0 && nos_alpha_g_ptr == NULL && nos_shape_offset == 0 && nos_tag_offset == 0 && backdrop_ptr == NULL && has_matte == 0 && num_spots == 0 && - overprint == 0) { + overprint == 0 && tos_alpha_g_ptr == NULL) { /* Additive vs Subtractive makes no difference in normal blend mode with no spots */ if (tos_isolated) { - if (has_mask || maskbuf) {/* 7% */ + if (has_mask && maskbuf) {/* 7% */ /* AirPrint test case hits this */ if (maskbuf && maskbuf->rect.p.x <= x0 && maskbuf->rect.p.y <= y0 && maskbuf->rect.q.x >= x1 && maskbuf->rect.q.y >= y1) { @@ -3495,8 +3524,12 @@ do_compose_group(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf, } } else fn = &compose_group_nonknockout_nonblend_isolated_mask_common; - } else /* 14% */ - fn = &compose_group_nonknockout_nonblend_isolated_nomask_common; + } else + if (maskbuf) { + /* Outside mask */ + fn = &compose_group_nonknockout_nonblend_isolated_mask_common; + } else + fn = &compose_group_nonknockout_nonblend_isolated_nomask_common; } else { if (has_mask || maskbuf) /* 4% */ fn = &compose_group_nonknockout_nonblend_nonisolated_mask_common; @@ -3508,7 +3541,7 @@ do_compose_group(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf, fn(tos_ptr, tos_isolated, tos_planestride, tos->rowstride, alpha, shape, blend_mode, tos->has_shape, tos_shape_offset, tos_alpha_g_offset, - tos_tag_offset, tos_has_tag, nos_ptr, nos_isolated, nos_planestride, + tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos->rowstride, nos_alpha_g_ptr, nos_knockout, nos_shape_offset, nos_tag_offset, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, has_matte, n_chan, additive, num_spots, @@ -3534,6 +3567,7 @@ interp16(const uint16_t *table, uint16_t idx) typedef void (*art_pdf_compose_group16_fn)(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, + uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, @@ -3547,7 +3581,8 @@ template_compose_group16(uint16_t *gs_restrict tos_ptr, bool tos_isolated, uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, - bool tos_has_tag, uint16_t *gs_restrict nos_ptr, + bool tos_has_tag, uint16_t *gs_restrict tos_alpha_g_ptr, + uint16_t *gs_restrict nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *gs_restrict nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, @@ -3568,7 +3603,6 @@ template_compose_group16(uint16_t *gs_restrict tos_ptr, bool tos_isolated, uint16_t tos_pixel[PDF14_MAX_PLANES]; uint16_t nos_pixel[PDF14_MAX_PLANES]; uint16_t back_drop[PDF14_MAX_PLANES]; - gx_color_index comps; bool in_mask_rect_y; bool in_mask_rect; uint16_t pix_alpha; @@ -3713,11 +3747,18 @@ template_compose_group16(uint16_t *gs_restrict tos_ptr, bool tos_isolated, /* alpha */ back_drop[n_chan] = backdrop_ptr[n_chan * nos_planestride]; } - art_pdf_composite_knockout_group_16(back_drop, tos_shape, - nos_pixel, nos_alpha_g_ptr, - tos_pixel, n_chan, pix_alpha, - blend_mode, pblend_procs, - pdev, has_mask2); + + if (tos_isolated ? + art_pdf_ko_composite_group_16(tos_shape, tos_alpha_g_ptr, + nos_pixel, nos_alpha_g_ptr, + tos_pixel, n_chan, pix_alpha, + has_mask2) : + art_pdf_ko_recomposite_group_16(tos_shape, has_alpha ? tos_ptr[tos_alpha_g_offset] : 65535, + &dst, nos_alpha_g_ptr, tos_pixel, n_chan, pix_alpha, + blend_mode, has_mask2)) { + dst = art_pdf_knockout_composite_pixel_alpha_16(back_drop, tos_shape, nos_pixel, tos_pixel, + n_chan, blend_mode, pblend_procs, pdev); + } } else if (tos_isolated ? art_pdf_composite_group_16(nos_pixel, nos_alpha_g_ptr, @@ -3726,8 +3767,7 @@ template_compose_group16(uint16_t *gs_restrict tos_ptr, bool tos_isolated, tos_pixel, has_alpha ? GET16_2NATIVE(tos_is_be, tos_ptr[tos_alpha_g_offset]) : 65535, n_chan, - pix_alpha, blend_mode, first_blend_spot, - pblend_procs, pdev)) { + pix_alpha, blend_mode)) { dst = art_pdf_composite_pixel_alpha_16_inline(nos_pixel, tos_pixel, n_chan, blend_mode, first_blend_spot, pblend_procs, pdev); @@ -3753,24 +3793,8 @@ template_compose_group16(uint16_t *gs_restrict tos_ptr, bool tos_isolated, } } else { /* Pure subtractive */ - /* If we were running in the compatible overprint blend mode - * and popping the group, we don't need to fool with the - * drawn components as that should have already have been - * handled during the blending within our special non-isolated - * group. So in other words, if the blend mode is normal - * (or compatible) and we are doing overprint, the overprint - * has NOT been handled by compatible overprint mode and we - * need to take care of it now */ - if (overprint) { - for (i = 0, comps = drawn_comps; comps != 0; ++i, comps >>= 1) { - if ((comps & 0x1) != 0) { - nos_ptr[i * nos_planestride] = 65535 - dst[i]; - } - } - } else { - for (i = 0; i < n_chan; ++i) - nos_ptr[i * nos_planestride] = 65535 - dst[i]; - } + for (i = 0; i < n_chan; ++i) + nos_ptr[i * nos_planestride] = 65535 - dst[i]; } /* alpha */ nos_ptr[n_chan * nos_planestride] = dst[n_chan]; @@ -3782,6 +3806,8 @@ template_compose_group16(uint16_t *gs_restrict tos_ptr, bool tos_isolated, if (nos_alpha_g_ptr != NULL) ++nos_alpha_g_ptr; + if (tos_alpha_g_ptr != NULL) + ++tos_alpha_g_ptr; if (backdrop_ptr != NULL) ++backdrop_ptr; ++tos_ptr; @@ -3789,6 +3815,8 @@ template_compose_group16(uint16_t *gs_restrict tos_ptr, bool tos_isolated, } tos_ptr += tos_rowstride - width; nos_ptr += nos_rowstride - width; + if (tos_alpha_g_ptr != NULL) + tos_alpha_g_ptr += tos_rowstride - width; if (nos_alpha_g_ptr != NULL) nos_alpha_g_ptr += nos_rowstride - width; if (mask_row_ptr != NULL) @@ -3799,8 +3827,9 @@ template_compose_group16(uint16_t *gs_restrict tos_ptr, bool tos_isolated, } static void -compose_group16_knockout(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, - bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, +compose_group16_knockout(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, + int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, @@ -3809,36 +3838,35 @@ compose_group16_knockout(uint16_t *tos_ptr, bool tos_isolated, int tos_planestri const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group16(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, blend_mode, tos_has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */1, nos_shape_offset, nos_tag_offset, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, has_matte, n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 1, 0); } static void -compose_group16_nonknockout_blend(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, uint16_t shape, - gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, - int nos_shape_offset, int nos_tag_offset, - uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, - uint16_t *backdrop_ptr, +compose_group16_nonknockout_blend(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, + int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, + int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, + uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { - template_compose_group16(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, blend_mode, tos_has_shape, + template_compose_group16(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, + alpha, shape, blend_mode, tos_has_shape, tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, - nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */0, + tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */0, nos_shape_offset, nos_tag_offset, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, has_matte, n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 1, 0); } static void -compose_group16_nonknockout_nonblend_isolated_allmask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, - uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, - int nos_shape_offset, int nos_tag_offset, - uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, - uint16_t *backdrop_ptr, +compose_group16_nonknockout_nonblend_isolated_allmask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, + int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, + int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, + uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { @@ -3904,12 +3932,11 @@ compose_group16_nonknockout_nonblend_isolated_allmask_common(uint16_t *tos_ptr, } static void -compose_group16_nonknockout_nonblend_isolated_mask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, uint16_t shape, - gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, - int nos_shape_offset, int nos_tag_offset, - uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, - uint16_t *backdrop_ptr, +compose_group16_nonknockout_nonblend_isolated_mask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, + int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, + int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, + uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { @@ -3999,103 +4026,102 @@ compose_group16_nonknockout_nonblend_isolated_mask_common(uint16_t *tos_ptr, boo } static void -compose_group16_nonknockout_nonblend_isolated_nomask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, - uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, - int nos_shape_offset, int nos_tag_offset, - uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, - uint16_t *backdrop_ptr, +compose_group16_nonknockout_nonblend_isolated_nomask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, + int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, + int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, + uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group16(tos_ptr, /*tos_isolated*/1, tos_planestride, tos_rowstride, alpha, shape, BLEND_MODE_Normal, /*tos_has_shape*/0, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, /*tos_alpha_g_ptr*/ 0, nos_ptr, /*nos_isolated*/0, nos_planestride, nos_rowstride, /*nos_alpha_g_ptr*/0, /* nos_knockout = */0, /*nos_shape_offset*/0, /*nos_tag_offset*/0, mask_row_ptr, /*has_mask*/0, /*maskbuf*/NULL, mask_bg_alpha, mask_tr_fn, backdrop_ptr, /*has_matte*/0, n_chan, /*additive*/1, /*num_spots*/0, /*overprint*/0, /*drawn_comps*/0, x0, y0, x1, y1, pblend_procs, pdev, 1, 0); } static void -compose_group16_nonknockout_nonblend_nonisolated_mask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, - uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, - int nos_shape_offset, int nos_tag_offset, +compose_group16_nonknockout_nonblend_nonisolated_mask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, + int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, + int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group16(tos_ptr, /*tos_isolated*/0, tos_planestride, tos_rowstride, alpha, shape, BLEND_MODE_Normal, /*tos_has_shape*/0, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, /*tos_alpha_g_ptr*/0, nos_ptr, /*nos_isolated*/0, nos_planestride, nos_rowstride, /*nos_alpha_g_ptr*/0, /* nos_knockout = */0, /*nos_shape_offset*/0, /*nos_tag_offset*/0, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, /*has_matte*/0, n_chan, /*additive*/1, /*num_spots*/0, /*overprint*/0, /*drawn_comps*/0, x0, y0, x1, y1, pblend_procs, pdev, 1, 0); } static void -compose_group16_nonknockout_nonblend_nonisolated_nomask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, - uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, - int nos_shape_offset, int nos_tag_offset, - uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, - uint16_t *backdrop_ptr, +compose_group16_nonknockout_nonblend_nonisolated_nomask_common(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, + int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, + int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, + uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group16(tos_ptr, /*tos_isolated*/0, tos_planestride, tos_rowstride, alpha, shape, BLEND_MODE_Normal, /*tos_has_shape*/0, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, /*tos_has_tag*/0, /*tos_alpha_g_ptr*/0, nos_ptr, /*nos_isolated*/0, nos_planestride, nos_rowstride, /*nos_alpha_g_ptr*/0, /* nos_knockout = */0, /*nos_shape_offset*/0, /*nos_tag_offset*/0, mask_row_ptr, /*has_mask*/0, /*maskbuf*/NULL, mask_bg_alpha, mask_tr_fn, backdrop_ptr, /*has_matte*/0, n_chan, /*additive*/1, /*num_spots*/0, /*overprint*/0, /*drawn_comps*/0, x0, y0, x1, y1, pblend_procs, pdev, 1, 0); } static void -compose_group16_nonknockout_noblend_general(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, uint16_t shape, - gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, - int nos_shape_offset, int nos_tag_offset, - uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, - uint16_t *backdrop_ptr, - bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, +compose_group16_nonknockout_noblend_general(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, + int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, + bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, + int nos_shape_offset, int nos_tag_offset, uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, + uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan, + bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { template_compose_group16(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, BLEND_MODE_Normal, tos_has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */0, nos_shape_offset, nos_tag_offset, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, has_matte, n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 1, 0); } static void -compose_group16_alphaless_knockout(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, uint16_t shape, - gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, +compose_group16_alphaless_knockout(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, + int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, + bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { - template_compose_group16(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, blend_mode, tos_has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + template_compose_group16(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, + alpha, shape, blend_mode, tos_has_shape, tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */1, nos_shape_offset, nos_tag_offset, /* mask_row_ptr */ NULL, /* has_mask */ 0, /* maskbuf */ NULL, mask_bg_alpha, /* mask_tr_fn */ NULL, backdrop_ptr, /* has_matte */ false , n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 0, 1); } static void -compose_group16_alphaless_nonknockout(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, uint16_t alpha, uint16_t shape, - gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, - uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, - int nos_shape_offset, int nos_tag_offset, +compose_group16_alphaless_nonknockout(uint16_t *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, + uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset, int tos_alpha_g_offset, + int tos_tag_offset, bool tos_has_tag, uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride, + int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout, int nos_shape_offset, int nos_tag_offset, uint16_t *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1, const pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev) { - template_compose_group16(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, alpha, shape, blend_mode, tos_has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, - nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */0, + template_compose_group16(tos_ptr, tos_isolated, tos_planestride, tos_rowstride, + alpha, shape, blend_mode, tos_has_shape, tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos_rowstride, nos_alpha_g_ptr, /* nos_knockout = */0, nos_shape_offset, nos_tag_offset, /* mask_row_ptr */ NULL, /* has_mask */ 0, /* maskbuf */ NULL, mask_bg_alpha, /* mask_tr_fn */ NULL, backdrop_ptr, /* has_matte */ false , n_chan, additive, num_spots, overprint, drawn_comps, x0, y0, x1, y1, pblend_procs, pdev, 0, 1); } @@ -4125,6 +4151,7 @@ do_compose_group16(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf, bool nos_isolated = nos->isolated; bool nos_knockout = nos->knockout; uint16_t *nos_alpha_g_ptr; + uint16_t *tos_alpha_g_ptr; int tos_shape_offset = n_chan * tos_planestride; int tos_alpha_g_offset = tos_shape_offset + (tos->has_shape ? tos_planestride : 0); bool tos_has_tag = tos->has_tags; @@ -4161,6 +4188,10 @@ do_compose_group16(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf, nos_alpha_g_ptr = nos_ptr + (nos_alpha_g_offset>>1); } else nos_alpha_g_ptr = NULL; + if (tos->has_alpha_g) { + tos_alpha_g_ptr = tos_ptr + (tos_alpha_g_offset>>1); + } else + tos_alpha_g_ptr = NULL; if (nos->backdrop != NULL) { backdrop_ptr = (uint16_t *)(void *)(nos->backdrop + (x0 - nos->rect.p.x)*2 + @@ -4243,18 +4274,23 @@ do_compose_group16(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf, fn = &compose_group16_nonknockout_blend; /* Small %ages, nothing more than 2% */ else if (tos->has_shape == 0 && tos_has_tag == 0 && nos_isolated == 0 && nos_alpha_g_ptr == NULL && nos_shape_offset == 0 && nos_tag_offset == 0 && backdrop_ptr == NULL && has_matte == 0 && num_spots == 0 && - overprint == 0) { + overprint == 0 && tos_alpha_g_ptr == NULL) { /* Additive vs Subtractive makes no difference in normal blend mode with no spots */ if (tos_isolated) { - if (has_mask || maskbuf) {/* 7% */ + if (has_mask && maskbuf) {/* 7% */ /* AirPrint test case hits this */ if (maskbuf && maskbuf->rect.p.x <= x0 && maskbuf->rect.p.y <= y0 && maskbuf->rect.q.x >= x1 && maskbuf->rect.q.y >= y1) fn = &compose_group16_nonknockout_nonblend_isolated_allmask_common; else fn = &compose_group16_nonknockout_nonblend_isolated_mask_common; - } else /* 14% */ - fn = &compose_group16_nonknockout_nonblend_isolated_nomask_common; + } else + if (maskbuf) { + /* Outside mask data but still has mask */ + fn = &compose_group16_nonknockout_nonblend_isolated_mask_common; + } else { + fn = &compose_group16_nonknockout_nonblend_isolated_nomask_common; + } } else { if (has_mask || maskbuf) /* 4% */ fn = &compose_group16_nonknockout_nonblend_nonisolated_mask_common; @@ -4273,7 +4309,7 @@ do_compose_group16(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf, nos_tag_offset >>= 1; fn(tos_ptr, tos_isolated, tos_planestride, tos->rowstride>>1, alpha, shape, blend_mode, tos->has_shape, tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, - nos_ptr, nos_isolated, nos_planestride, nos->rowstride>>1, nos_alpha_g_ptr, nos_knockout, + tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos->rowstride>>1, nos_alpha_g_ptr, nos_knockout, nos_shape_offset, nos_tag_offset, mask_row_ptr, has_mask, maskbuf, mask_bg_alpha, mask_tr_fn, backdrop_ptr, @@ -4310,9 +4346,10 @@ do_compose_alphaless_group(pdf14_buf *tos, pdf14_buf *nos, gs_memory_t *memory, gx_device *dev) { pdf14_device *pdev = (pdf14_device *)dev; - bool overprint = pdev->overprint; + bool overprint = pdev->op_state == PDF14_OP_STATE_FILL ? pdev->overprint : pdev->stroke_overprint; bool additive = pdev->ctx->additive; - gx_color_index drawn_comps = pdev->drawn_comps; + gx_color_index drawn_comps = pdev->op_state == PDF14_OP_STATE_FILL ? + pdev->drawn_comps_fill : pdev->drawn_comps_stroke; int n_chan = nos->n_chan; int num_spots = tos->num_spots; byte alpha = tos->alpha>>8; @@ -4329,7 +4366,7 @@ do_compose_alphaless_group(pdf14_buf *tos, pdf14_buf *nos, bool tos_isolated = false; bool nos_isolated = nos->isolated; bool nos_knockout = nos->knockout; - byte *nos_alpha_g_ptr; + byte *nos_alpha_g_ptr, *tos_alpha_g_ptr; int tos_shape_offset = n_chan * tos_planestride; int tos_alpha_g_offset = tos_shape_offset + (tos->has_shape ? tos_planestride : 0); bool tos_has_tag = tos->has_tags; @@ -4365,6 +4402,10 @@ do_compose_alphaless_group(pdf14_buf *tos, pdf14_buf *nos, nos_alpha_g_ptr = nos_ptr + nos_alpha_g_offset; } else nos_alpha_g_ptr = NULL; + if (tos->has_alpha_g) { + tos_alpha_g_ptr = tos_ptr + tos_alpha_g_offset; + } else + tos_alpha_g_ptr = NULL; if (nos->backdrop != NULL) { backdrop_ptr = nos->backdrop + x0 - nos->rect.p.x + (y0 - nos->rect.p.y) * nos->rowstride; @@ -4419,7 +4460,7 @@ do_compose_alphaless_group(pdf14_buf *tos, pdf14_buf *nos, fn = &compose_group_alphaless_nonknockout; fn(tos_ptr, tos_isolated, tos_planestride, tos->rowstride, alpha, shape, blend_mode, tos->has_shape, - tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, + tos_shape_offset, tos_alpha_g_offset, tos_tag_offset, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride, nos->rowstride, nos_alpha_g_ptr, nos_knockout, nos_shape_offset, nos_tag_offset, mask_row_ptr, has_mask, /* maskbuf */ NULL, mask_bg_alpha, mask_tr_fn, @@ -4440,9 +4481,10 @@ do_compose_alphaless_group16(pdf14_buf *tos, pdf14_buf *nos, gs_memory_t *memory, gx_device *dev) { pdf14_device *pdev = (pdf14_device *)dev; - bool overprint = pdev->overprint; + bool overprint = pdev->op_state == PDF14_OP_STATE_FILL ? pdev->overprint : pdev->stroke_overprint; bool additive = pdev->ctx->additive; - gx_color_index drawn_comps = pdev->drawn_comps; + gx_color_index drawn_comps = pdev->op_state == PDF14_OP_STATE_FILL ? + pdev->drawn_comps_fill : pdev->drawn_comps_stroke; int n_chan = nos->n_chan; int num_spots = tos->num_spots; uint16_t alpha = tos->alpha; @@ -4462,6 +4504,7 @@ do_compose_alphaless_group16(pdf14_buf *tos, pdf14_buf *nos, bool nos_isolated = nos->isolated; bool nos_knockout = nos->knockout; uint16_t *nos_alpha_g_ptr; + uint16_t *tos_alpha_g_ptr; int tos_shape_offset = n_chan * tos_planestride; int tos_alpha_g_offset = tos_shape_offset + (tos->has_shape ? tos_planestride : 0); bool tos_has_tag = tos->has_tags; @@ -4496,6 +4539,11 @@ do_compose_alphaless_group16(pdf14_buf *tos, pdf14_buf *nos, nos_alpha_g_ptr = nos_ptr + (nos_alpha_g_offset>>1); } else nos_alpha_g_ptr = NULL; + if (tos->has_alpha_g) { + tos_alpha_g_ptr = tos_ptr + (tos_alpha_g_offset>>1); + } else + tos_alpha_g_ptr = NULL; + if (nos->backdrop != NULL) { backdrop_ptr = (uint16_t *)(void *)(nos->backdrop + (x0 - nos->rect.p.x)*2 + @@ -4551,7 +4599,7 @@ do_compose_alphaless_group16(pdf14_buf *tos, pdf14_buf *nos, fn = &compose_group16_alphaless_nonknockout; fn(tos_ptr, tos_isolated, tos_planestride>>1, tos->rowstride>>1, alpha, shape, blend_mode, tos->has_shape, - tos_shape_offset>>1, tos_alpha_g_offset>>1, tos_tag_offset>>1, tos_has_tag, + tos_shape_offset>>1, tos_alpha_g_offset>>1, tos_tag_offset>>1, tos_has_tag, tos_alpha_g_ptr, nos_ptr, nos_isolated, nos_planestride>>1, nos->rowstride>>1, nos_alpha_g_ptr, nos_knockout, nos_shape_offset>>1, nos_tag_offset>>1, mask_row_ptr, has_mask, /* maskbuf */ NULL, mask_bg_alpha, NULL, @@ -4580,16 +4628,15 @@ pdf14_compose_alphaless_group(pdf14_buf *tos, pdf14_buf *nos, typedef void (*pdf14_mark_fill_rect_fn)(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated); + int alpha_g_off, int shape_off, byte shape); static forceinline void template_mark_fill_rect(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { int i, j, k; - gx_color_index comps; byte dst[PDF14_MAX_PLANES] = { 0 }; byte dest_alpha; bool tag_blend = blend_mode == BLEND_MODE_Normal || @@ -4638,45 +4685,49 @@ template_mark_fill_rect(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restri dest_alpha = dst[num_comp]; pdst = art_pdf_composite_pixel_alpha_8_inline(dst, src, num_comp, blend_mode, first_blend_spot, pdev->blend_procs, pdev); - /* Until I see otherwise in AR or the spec, do not fool - with spot overprinting while we are in an RGB or Gray - blend color space. */ - if (!additive && overprint) { + /* Post blend complement for subtractive and handling of drawncomps + if overprint. We will have already done the compatible overprint + mode in the above composition */ + if (!additive && !overprint) { + /* Pure subtractive */ + for (k = 0; k < num_comp; ++k) + dst_ptr[k * planestride] = 255 - pdst[k]; + } else if (!additive && overprint) { + int comps; /* If this is an overprint case, and alpha_r is different than alpha_d then we will need to adjust the colors of the non-drawn components here too */ - for (k = 0, comps = drawn_comps; comps != 0; ++k, comps >>= 1) { - if ((comps & 0x1) != 0) { - dst_ptr[k * planestride] = 255 - pdst[k]; - } else if (dest_alpha != pdst[num_comp]) { - /* We need val_new = (val_old * old_alpha) / new_alpha */ - if (pdst[num_comp] != 0) { - int val = (int)floor(((float)dest_alpha / (float)pdst[num_comp]) * (255 - pdst[k]) + 0.5); - if (val < 0) - val = 0; - else if (val > 255) + if (dest_alpha != pdst[num_comp] && pdst[num_comp] != 0) { + /* dest_alpha > pdst[num_comp], and dst[num_comp] != 0. + * Therefore dest_alpha / pdst[num_comp] <= 255 */ + uint32_t scale = 256 * dest_alpha / pdst[num_comp]; + for (k = 0, comps = drawn_comps; k < num_comp; ++k, comps >>= 1) { + if ((comps & 0x1) != 0) { + dst_ptr[k * planestride] = 255 - pdst[k]; + } else { + /* We need val_new = (val_old * old_alpha) / new_alpha */ + uint32_t val = (scale * (255 - pdst[k]) + 128)>>8; + if (val > 255) val = 255; dst_ptr[k * planestride] = val; } } - } - } else { - /* Post blend complement for subtractive */ - if (!additive) { - /* Pure subtractive */ - for (k = 0; k < num_comp; ++k) - dst_ptr[k * planestride] = 255 - pdst[k]; - } else { - /* Hybrid case, additive with subtractive spots */ - for (k = 0; k < (num_comp - num_spots); k++) { - dst_ptr[k * planestride] = pdst[k]; - } - for (k = 0; k < num_spots; k++) { - dst_ptr[(k + num_comp - num_spots) * planestride] = - 255 - pdst[k + num_comp - num_spots]; + for (k = 0, comps = drawn_comps; k < num_comp; ++k, comps >>= 1) { + if ((comps & 0x1) != 0) { + dst_ptr[k * planestride] = 255 - pdst[k]; + } } } + } else { + /* Hybrid case, additive with subtractive spots */ + for (k = 0; k < (num_comp - num_spots); k++) { + dst_ptr[k * planestride] = pdst[k]; + } + for (k = 0; k < num_spots; k++) { + dst_ptr[(k + num_comp - num_spots) * planestride] = + 255 - pdst[k + num_comp - num_spots]; + } } /* The alpha channel */ dst_ptr[num_comp * planestride] = pdst[num_comp]; @@ -4708,7 +4759,7 @@ static void mark_fill_rect_alpha0(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { int i, j; @@ -4732,19 +4783,19 @@ static void mark_fill_rect(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { template_mark_fill_rect(w, h, dst_ptr, src, num_comp, num_spots, first_blend_spot, src_alpha, rowstride, planestride, additive, pdev, blend_mode, overprint, drawn_comps, tag_off, curr_tag, - alpha_g_off, shape_off, shape, isolated); + alpha_g_off, shape_off, shape); } static void mark_fill_rect_sub4_fast(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { int i, j, k; @@ -4788,43 +4839,43 @@ static void mark_fill_rect_add_nospots(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { template_mark_fill_rect(w, h, dst_ptr, src, num_comp, /*num_spots*/0, first_blend_spot, src_alpha, rowstride, planestride, /*additive*/1, pdev, blend_mode, /*overprint*/0, /*drawn_comps*/0, tag_off, curr_tag, - alpha_g_off, shape_off, shape, /*isolated*/ 0); + alpha_g_off, shape_off, shape); } static void mark_fill_rect_add_nospots_common(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { template_mark_fill_rect(w, h, dst_ptr, src, num_comp, /*num_spots*/0, /*first_blend_spot*/0, src_alpha, rowstride, planestride, /*additive*/1, pdev, /*blend_mode*/BLEND_MODE_Normal, /*overprint*/0, /*drawn_comps*/0, /*tag_off*/0, curr_tag, - alpha_g_off, /*shape_off*/0, shape, /*isolated*/ 0); + alpha_g_off, /*shape_off*/0, shape); } static void mark_fill_rect_add_nospots_common_no_alpha_g(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { template_mark_fill_rect(w, h, dst_ptr, src, num_comp, /*num_spots*/0, /*first_blend_spot*/0, src_alpha, rowstride, planestride, /*additive*/1, pdev, /*blend_mode*/BLEND_MODE_Normal, /*overprint*/0, /*drawn_comps*/0, /*tag_off*/0, curr_tag, - /*alpha_g_off*/0, /*shape_off*/0, shape, /*isolated*/ 0); + /*alpha_g_off*/0, /*shape_off*/0, shape); } static void mark_fill_rect_add3_common(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { int i, j, k; @@ -4868,7 +4919,7 @@ static void mark_fill_rect_add1_no_spots(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { int i; bool tag_blend = blend_mode == BLEND_MODE_Normal || @@ -4914,7 +4965,7 @@ static void mark_fill_rect_add1_no_spots_normal(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { int i; @@ -4968,7 +5019,7 @@ static void mark_fill_rect_add1_no_spots_fast(int w, int h, byte *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot, byte src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode, bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag, - int alpha_g_off, int shape_off, byte shape, bool isolated) + int alpha_g_off, int shape_off, byte shape) { int i; @@ -5024,8 +5075,9 @@ do_mark_fill_rectangle(gx_device * dev, int x, int y, int w, int h, int shape_off = num_chan * planestride; int alpha_g_off = shape_off + (has_shape ? planestride : 0); int tag_off = alpha_g_off + (has_alpha_g ? planestride : 0); - bool overprint = pdev->overprint; - gx_color_index drawn_comps = pdev->drawn_comps; + bool overprint = pdev->op_state == PDF14_OP_STATE_FILL ? pdev->overprint : pdev->stroke_overprint; + gx_color_index drawn_comps = pdev->op_state == PDF14_OP_STATE_FILL ? + pdev->drawn_comps_fill : pdev->drawn_comps_stroke; byte shape = 0; /* Quiet compiler. */ byte src_alpha; const gx_color_index mask = ((gx_color_index)1 << 8) - 1; @@ -5033,7 +5085,6 @@ do_mark_fill_rectangle(gx_device * dev, int x, int y, int w, int h, int num_spots = buf->num_spots; int first_blend_spot = num_comp; pdf14_mark_fill_rect_fn fn; - bool isolated = buf->isolated; if (num_spots > 0 && !blend_valid_for_spot(blend_mode)) first_blend_spot = num_comp - num_spots; @@ -5139,7 +5190,7 @@ do_mark_fill_rectangle(gx_device * dev, int x, int y, int w, int h, fn(w, h, dst_ptr, src, num_comp, num_spots, first_blend_spot, src_alpha, rowstride, planestride, additive, pdev, blend_mode, overprint, - drawn_comps, tag_off, curr_tag, alpha_g_off, shape_off, shape, isolated); + drawn_comps, tag_off, curr_tag, alpha_g_off, shape_off, shape); #if 0 /* #if RAW_DUMP */ @@ -5170,8 +5221,8 @@ template_mark_fill_rect16(int w, int h, uint16_t *gs_restrict dst_ptr, uint16_t int alpha_g_off, int shape_off, uint16_t shape_) { int i, j, k; - gx_color_index comps; uint16_t dst[PDF14_MAX_PLANES] = { 0 }; + uint16_t dest_alpha; /* Expand src_alpha and shape to be 0...0x10000 rather than 0...0xffff */ int src_alpha = src_alpha_ + (src_alpha_>>15); int shape = shape_ + (shape_>>15); @@ -5218,34 +5269,52 @@ template_mark_fill_rect16(int w, int h, uint16_t *gs_restrict dst_ptr, uint16_t } } dst[num_comp] = dst_ptr[num_comp * planestride]; + dest_alpha = dst[num_comp]; pdst = art_pdf_composite_pixel_alpha_16_inline(dst, src, num_comp, blend_mode, first_blend_spot, pdev->blend_procs, pdev); - /* Until I see otherwise in AR or the spec, do not fool - with spot overprinting while we are in an RGB or Gray - blend color space. */ - if (!additive && overprint) { - for (k = 0, comps = drawn_comps; comps != 0; ++k, comps >>= 1) { - if ((comps & 0x1) != 0) { - dst_ptr[k * planestride] = 65535 - pdst[k]; + /* Post blend complement for subtractive and handling of drawncomps + if overprint. We will have already done the compatible overprint + mode in the above composition */ + if (!additive && !overprint) { + /* Pure subtractive */ + for (k = 0; k < num_comp; ++k) + dst_ptr[k * planestride] = 65535 - pdst[k]; + } else if (!additive && overprint) { + int comps; + /* If this is an overprint case, and alpha_r is different + than alpha_d then we will need to adjust + the colors of the non-drawn components here too */ + if (dest_alpha != pdst[num_comp] && pdst[num_comp] != 0) { + /* dest_alpha > pdst[num_comp], and dst[num_comp] != 0. + * Therefore dest_alpha / pdst[num_comp] <= 65535 */ + uint64_t scale = (uint64_t)65536 * dest_alpha / pdst[num_comp]; + for (k = 0, comps = drawn_comps; comps != 0; ++k, comps >>= 1) { + if ((comps & 0x1) != 0) { + dst_ptr[k * planestride] = 65535 - pdst[k]; + } else { + /* We need val_new = (val_old * old_alpha) / new_alpha */ + uint64_t val = (scale * (65535 - pdst[k]) + 32768)>>16; + if (val > 65535) + val = 65535; + dst_ptr[k * planestride] = val; + } } - } - } else { - /* Post blend complement for subtractive */ - if (!additive) { - /* Pure subtractive */ - for (k = 0; k < num_comp; ++k) - dst_ptr[k * planestride] = 65535 - pdst[k]; - } else { - /* Hybrid case, additive with subtractive spots */ - for (k = 0; k < (num_comp - num_spots); k++) { - dst_ptr[k * planestride] = pdst[k]; - } - for (k = 0; k < num_spots; k++) { - dst_ptr[(k + num_comp - num_spots) * planestride] = - 65535 - pdst[k + num_comp - num_spots]; + for (k = 0, comps = drawn_comps; comps != 0; ++k, comps >>= 1) { + if ((comps & 0x1) != 0) { + dst_ptr[k * planestride] = 65535 - pdst[k]; + } } } + } else { + /* Hybrid case, additive with subtractive spots */ + for (k = 0; k < (num_comp - num_spots); k++) { + dst_ptr[k * planestride] = pdst[k]; + } + for (k = 0; k < num_spots; k++) { + dst_ptr[(k + num_comp - num_spots) * planestride] = + 65535 - pdst[k + num_comp - num_spots]; + } } /* The alpha channel */ dst_ptr[num_comp * planestride] = pdst[num_comp]; @@ -5335,7 +5404,7 @@ mark_fill_rect16_sub4_fast(int w, int h, uint16_t *gs_restrict dst_ptr, uint16_t dst_ptr[4 * planestride] = a_s; } else if (a_s != 0) { /* Result alpha is Union of backdrop and source alpha */ - int tmp, src_scale; + unsigned int tmp, src_scale; unsigned int a_r; a_b += a_b>>15; @@ -5418,9 +5487,8 @@ mark_fill_rect16_add3_common(int w, int h, uint16_t *gs_restrict dst_ptr, uint16 /* alpha */ dst_ptr[3 * planestride] = a_s; } else if (a_s != 0) { - int tmp; + unsigned int tmp, src_scale; unsigned int a_r; - int src_scale; a_b += a_b >> 15; /* Result alpha is Union of backdrop and source alpha */ @@ -5521,8 +5589,9 @@ mark_fill_rect16_add1_no_spots_normal(int w, int h, uint16_t *gs_restrict dst_pt dst_ptr[planestride] = a_s; } else { /* Result alpha is Union of backdrop and source alpha */ - int tmp, src_scale, c_s, c_b; + unsigned int tmp, src_scale; unsigned int a_r; + int c_s, c_b; a_b += a_b>>15; tmp = (0x10000 - a_b) * (0xffff - a_s) + 0x8000; @@ -5580,8 +5649,9 @@ mark_fill_rect16_add1_no_spots_fast(int w, int h, uint16_t *gs_restrict dst_ptr, dst_ptr[planestride] = a_s; } else if (a_s != 0) { /* Result alpha is Union of backdrop and source alpha */ - int tmp, src_scale, c_s, c_b; + unsigned int tmp, src_scale; unsigned int a_r; + int c_s, c_b; a_b += a_b>>15; tmp = (0x10000 - a_b) * (0xffff - a_s) + 0x8000; @@ -5627,8 +5697,9 @@ do_mark_fill_rectangle16(gx_device * dev, int x, int y, int w, int h, int shape_off = num_chan * planestride; int alpha_g_off = shape_off + (has_shape ? planestride : 0); int tag_off = alpha_g_off + (has_alpha_g ? planestride : 0); - bool overprint = pdev->overprint; - gx_color_index drawn_comps = pdev->drawn_comps; + bool overprint = pdev->op_state == PDF14_OP_STATE_FILL ? pdev->overprint : pdev->stroke_overprint; + gx_color_index drawn_comps = pdev->op_state == PDF14_OP_STATE_FILL ? + pdev->drawn_comps_fill : pdev->drawn_comps_stroke; uint16_t shape = 0; /* Quiet compiler. */ uint16_t src_alpha; int num_spots = buf->num_spots; diff --git a/base/gxblend1.c b/base/gxblend1.c index 2f15c7c4..f439c0ac 100644 --- a/base/gxblend1.c +++ b/base/gxblend1.c @@ -311,7 +311,7 @@ pdf14_preserve_backdrop_cm(pdf14_buf *buf, cmm_profile_t *group_profile, } void -pdf14_preserve_backdrop(pdf14_buf *buf, pdf14_buf *tos, bool knockout_buff +pdf14_preserve_backdrop(pdf14_buf *buf, pdf14_buf *tos, bool from_backdrop #if RAW_DUMP , const gs_memory_t *mem #endif @@ -330,15 +330,14 @@ pdf14_preserve_backdrop(pdf14_buf *buf, pdf14_buf *tos, bool knockout_buff int i, n_planes; bool deep = buf->deep; - if (knockout_buff) { - buf_plane = buf->backdrop; + buf_plane = buf->data; + n_planes = buf->n_planes; + if (from_backdrop) { tos_plane = tos->backdrop; - n_planes = buf->n_chan; } else { - buf_plane = buf->data; tos_plane = tos->data; - n_planes = buf->n_planes; } + /* First clear out everything. There are cases where the incoming buf has a region outside the existing tos group. Need to check if this is getting clipped in which case we need to fix the allocation of @@ -353,7 +352,7 @@ pdf14_preserve_backdrop(pdf14_buf *buf, pdf14_buf *tos, bool knockout_buff * alpha_g and shape, but don't need to clear the tag plane * if it would be copied below (and if it exists). */ int tag_plane_num = tos->n_chan + !!buf->has_shape + !!buf->has_alpha_g; - if (!knockout_buff && n_planes > tag_plane_num) + if (!from_backdrop && n_planes > tag_plane_num) n_planes = tag_plane_num; if (n_planes > tos->n_chan) memset(buf->data + tos->n_chan * buf->planestride, 0, (n_planes - tos->n_chan) * buf->planestride); @@ -369,22 +368,23 @@ pdf14_preserve_backdrop(pdf14_buf *buf, pdf14_buf *tos, bool knockout_buff buf_plane += buf->planestride; tos_plane += tos->planestride; } - if (!knockout_buff) + if (!from_backdrop) copy_extra_planes(buf_plane, buf, tos_plane, tos, width, height); } #if RAW_DUMP if (x0 < x1 && y0 < y1) { - byte *buf_plane = (knockout_buff ? buf->backdrop : buf->data); - buf_plane += ((x0 - buf->rect.p.x)<<buf->deep) + - (y0 - buf->rect.p.y) * buf->rowstride; - dump_raw_buffer(mem, y1 - y0, x1 - x0, buf->n_planes, buf->planestride, - buf->rowstride, "BackDropInit", buf_plane, buf->deep); - global_index++; + byte *buf_plane = (from_backdrop ? buf->backdrop : buf->data); + if (buf_plane != NULL) { + buf_plane += ((x0 - buf->rect.p.x) << buf->deep) + + (y0 - buf->rect.p.y) * buf->rowstride; + dump_raw_buffer(mem, y1 - y0, x1 - x0, buf->n_planes, buf->planestride, + buf->rowstride, "BackDropInit", buf_plane, buf->deep); + global_index++; + } } #endif } - /* * Encode a list of colorant values into a gx_color_index_value. */ diff --git a/base/gxclfile.c b/base/gxclfile.c index d2887dd2..841009a0 100644 --- a/base/gxclfile.c +++ b/base/gxclfile.c @@ -476,8 +476,7 @@ clist_rewind(clist_file_ptr cf, bool discard_data, const char *fname) IFILE *ocf = fake_path_to_file(fname); char fmode[4]; - strcpy(fmode, "w+"); - strcat(fmode, gp_fmode_binary_suffix); + snprintf(fmode, sizeof(fmode), "w+%s", gp_fmode_binary_suffix); if (ocf) { if (discard_data) { diff --git a/base/gxclimag.c b/base/gxclimag.c index c866b2c8..83f0ccef 100644 --- a/base/gxclimag.c +++ b/base/gxclimag.c @@ -220,7 +220,7 @@ clist_fill_mask(gx_device * dev, if (code < 0) return code; code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, - devn_not_tile); + devn_not_tile_fill); if (code == gs_error_unregistered) return code; if (depth > 1 && code >= 0) @@ -537,7 +537,8 @@ clist_begin_typed_image(gx_device * dev, const gs_gstate * pgs, indexed = false; num_components = gs_color_space_num_components(pcs); } - uses_color = pim->CombineWithColor && rop3_uses_T(pgs->log_op); + uses_color = pim->CombineWithColor && + (rop3_uses_T(pgs->log_op) || rop3_uses_S(pgs->log_op)); } code = gx_image_enum_common_init((gx_image_enum_common_t *) pie, (const gs_data_image_t *) pim, @@ -755,8 +756,6 @@ clist_begin_typed_image(gx_device * dev, const gs_gstate * pgs, goto use_default; } if (pim->Interpolate) { - if (gx_device_is_pattern_clist(dev)) - goto use_default; pie->support.x = pie->support.y = MAX_ISCALE_SUPPORT + 1; } else { pie->support.x = pie->support.y = 0; @@ -999,7 +998,9 @@ clist_image_plane_data(gx_image_enum_common_t * info, sbox.p.y = (y0 = y_orig) - pie->support.y; sbox.q.x = pie->rect.q.x + pie->support.x; sbox.q.y = (y1 = pie->y += yh_used) + pie->support.y; - gs_bbox_transform(&sbox, &pie->matrix, &dbox); + code = gs_bbox_transform(&sbox, &pie->matrix, &dbox); + if (code < 0) + return code; /* * In order to keep the band list consistent, we must write out * the image data in precisely those bands whose begin_image @@ -1117,7 +1118,7 @@ clist_image_plane_data(gx_image_enum_common_t * info, re.rect_nbands = ((pie->ymax + re.band_height - 1) / re.band_height) - ((pie->ymin) / re.band_height); code = cmd_put_drawing_color(cdev, re.pcls, &pie->dcolor, - &re, devn_not_tile); + &re, devn_not_tile_fill); if (code < 0) return code; } diff --git a/base/gxclip.c b/base/gxclip.c index 47a19965..b0924307 100644 --- a/base/gxclip.c +++ b/base/gxclip.c @@ -47,6 +47,7 @@ static dev_proc_get_clipping_box(clip_get_clipping_box); static dev_proc_get_bits_rectangle(clip_get_bits_rectangle); static dev_proc_fill_path(clip_fill_path); static dev_proc_transform_pixel_region(clip_transform_pixel_region); +static dev_proc_fill_stroke_path(clip_fill_stroke_path); /* The device descriptor. */ static const gx_device_clip gs_clip_device = @@ -124,8 +125,9 @@ static const gx_device_clip gs_clip_device = clip_strip_copy_rop2, clip_strip_tile_rect_devn, clip_copy_alpha_hl_color, - NULL, - clip_transform_pixel_region + NULL, /* process_page */ + clip_transform_pixel_region, + clip_fill_stroke_path, } }; @@ -1600,14 +1602,25 @@ clip_transform_pixel_region(gx_device *dev, transform_pixel_region_reason reason /* Single unskewed rectangle - we can use the underlying device direct */ local_data.u.init.clip = &local_clip; local_clip = *data->u.init.clip; - if (local_clip.p.x < cdev->current->xmin) - local_clip.p.x = cdev->current->xmin; - if (local_clip.q.x > cdev->current->xmax) - local_clip.q.x = cdev->current->xmax; - if (local_clip.p.y < cdev->current->ymin) - local_clip.p.y = cdev->current->ymin; - if (local_clip.q.y > cdev->current->ymax) - local_clip.q.y = cdev->current->ymax; + if (cdev->list.transpose) { + if (local_clip.p.x < cdev->current->ymin) + local_clip.p.x = cdev->current->ymin; + if (local_clip.q.x > cdev->current->ymax) + local_clip.q.x = cdev->current->ymax; + if (local_clip.p.y < cdev->current->xmin) + local_clip.p.y = cdev->current->xmin; + if (local_clip.q.y > cdev->current->xmax) + local_clip.q.y = cdev->current->xmax; + } else { + if (local_clip.p.x < cdev->current->xmin) + local_clip.p.x = cdev->current->xmin; + if (local_clip.q.x > cdev->current->xmax) + local_clip.q.x = cdev->current->xmax; + if (local_clip.p.y < cdev->current->ymin) + local_clip.p.y = cdev->current->ymin; + if (local_clip.q.y > cdev->current->ymax) + local_clip.q.y = cdev->current->ymax; + } state->use_default = 0; ret = dev_proc(cdev->target, transform_pixel_region)(cdev->target, reason, &local_data); } else { @@ -1634,3 +1647,78 @@ clip_transform_pixel_region(gx_device *dev, transform_pixel_region_reason reason return ret; } + +static int +clip_call_fill_stroke_path(clip_callback_data_t * pccd, int xc, int yc, int xec, int yec) +{ + gx_device *tdev = pccd->tdev; + dev_proc_fill_stroke_path((*proc)); + int code; + gx_clip_path cpath_intersection; + gx_clip_path *pcpath = (gx_clip_path *)pccd->pcpath; + + /* Previously the code here tested for pcpath != NULL, but + * we can commonly (such as from clist_playback_band) be + * called with a non-NULL, but still invalid clip path. + * Detect this by the list having at least one entry in it. */ + if (pcpath != NULL && pcpath->rect_list->list.count != 0) { + gx_path rect_path; + code = gx_cpath_init_local_shared_nested(&cpath_intersection, pcpath, pccd->ppath->memory, 1); + if (code < 0) + return code; + gx_path_init_local(&rect_path, pccd->ppath->memory); + code = gx_path_add_rectangle(&rect_path, int2fixed(xc), int2fixed(yc), int2fixed(xec), int2fixed(yec)); + if (code < 0) + return code; + code = gx_cpath_intersect(&cpath_intersection, &rect_path, + gx_rule_winding_number, (gs_gstate *)(pccd->pgs)); + gx_path_free(&rect_path, "clip_call_fill_stroke_path"); + } else { + gs_fixed_rect clip_box; + clip_box.p.x = int2fixed(xc); + clip_box.p.y = int2fixed(yc); + clip_box.q.x = int2fixed(xec); + clip_box.q.y = int2fixed(yec); + gx_cpath_init_local(&cpath_intersection, pccd->ppath->memory); + code = gx_cpath_from_rectangle(&cpath_intersection, &clip_box); + } + if (code < 0) + return code; + proc = dev_proc(tdev, fill_stroke_path); + if (proc == NULL) + proc = gx_default_fill_stroke_path; + code = (*proc)(pccd->tdev, pccd->pgs, pccd->ppath, pccd->params, + pccd->pdcolor, pccd->stroke_params, pccd->pstroke_dcolor, + &cpath_intersection); + gx_cpath_free(&cpath_intersection, "clip_call_fill_stroke_path"); + return code; +} + +static int +clip_fill_stroke_path(gx_device *dev, const gs_gstate *pgs, + gx_path *ppath, + const gx_fill_params *params, + const gx_drawing_color *pdcolor, + const gx_stroke_params *stroke_params, + const gx_drawing_color *pstroke_dcolor, + const gx_clip_path *pcpath) +{ + gx_device_clip *rdev = (gx_device_clip *) dev; + clip_callback_data_t ccdata; + gs_fixed_rect box; + + ccdata.pgs = pgs; + ccdata.ppath = ppath; + ccdata.params = params; + ccdata.pdcolor = pdcolor; + ccdata.stroke_params = stroke_params; + ccdata.pstroke_dcolor = pstroke_dcolor; + ccdata.pcpath = pcpath; + clip_get_clipping_box(dev, &box); + return clip_enumerate(rdev, + fixed2int(box.p.x), + fixed2int(box.p.y), + fixed2int(box.q.x - box.p.x), + fixed2int(box.q.y - box.p.y), + clip_call_fill_stroke_path, &ccdata); +} diff --git a/base/gxclip.h b/base/gxclip.h index 61521ad1..c052200c 100644 --- a/base/gxclip.h +++ b/base/gxclip.h @@ -42,7 +42,8 @@ typedef struct clip_callback_data_s { int sourcex; /* ibid. */ uint raster; /* ibid. */ int depth; /* copy_alpha, fill_mask */ - const gx_drawing_color *pdcolor; /* fill_mask, fill_rectangle_hl_color */ + const gx_drawing_color *pdcolor; /* fill_mask, fill_rectangle_hl_color, fill_path, fill_stroke_path */ + const gx_drawing_color *pstroke_dcolor; /* fill_stroke_path */ gs_logical_operation_t lop; /* fill_mask, strip_copy_rop */ const gx_clip_path *pcpath; /* fill_mask, fill_rectangle_hl_color*/ const gx_strip_bitmap *tiles; /* strip_tile_rectangle */ @@ -51,9 +52,10 @@ typedef struct clip_callback_data_s { const gx_strip_bitmap *textures; /* ibid. */ const gx_color_index *tcolors; /* ibid. */ int plane_height; /* copy_planes, strip_copy_rop2 */ - const gs_gstate * pgs; /* fill_path, fill_rectangle_hl_color */ - gx_path * ppath; /* fill_path */ - const gx_fill_params * params; /* fill_path */ + const gs_gstate *pgs; /* fill_path, fill_stroke_path, fill_rectangle_hl_color */ + gx_path *ppath; /* fill_path, fill_stroke_path */ + const gx_fill_params *params; /* fill_path, fill_stroke_path */ + const gx_stroke_params *stroke_params; /* fill_stroke_path */ } clip_callback_data_t; /* Declare the callback procedures. */ diff --git a/base/gxclipm.c b/base/gxclipm.c index 40e503ad..0a98eb06 100644 --- a/base/gxclipm.c +++ b/base/gxclipm.c @@ -113,7 +113,8 @@ const gx_device_mask_clip gs_mask_clip_device = mask_clip_strip_tile_rect_devn, mask_clip_copy_alpha_hl_color, NULL, - gx_default_transform_pixel_region + gx_default_transform_pixel_region, + gx_forward_fill_stroke_path, } }; diff --git a/base/gxclist.c b/base/gxclist.c index 14b825cc..c5e8fead 100644 --- a/base/gxclist.c +++ b/base/gxclist.c @@ -201,7 +201,8 @@ const gx_device_procs gs_clist_device_procs = { clist_strip_tile_rect_devn, clist_copy_alpha_hl_color, clist_process_page, - gx_default_transform_pixel_region + gx_default_transform_pixel_region, + clist_fill_stroke_path, }; /*------------------- Choose the implementation ----------------------- @@ -577,6 +578,8 @@ clist_reset(gx_device * dev) cdev->cropping_level = 0; cdev->mask_id_count = cdev->mask_id = cdev->temp_mask_id = 0; cdev->icc_table = NULL; + cdev->op_fill_active = false; + cdev->op_stroke_active = false; return 0; } /* @@ -636,8 +639,7 @@ clist_open_output_file(gx_device *dev) code = clist_init(dev); if (code < 0) return code; - strcpy(fmode, "w+"); - strcat(fmode, gp_fmode_binary_suffix); + snprintf(fmode, sizeof(fmode), "w+%s", gp_fmode_binary_suffix); cdev->page_cfname[0] = 0; /* create a new file */ cdev->page_bfname[0] = 0; /* ditto */ clist_reset_page(cdev); diff --git a/base/gxclist.h b/base/gxclist.h index 43cc3d5b..e1e7ff1b 100644 --- a/base/gxclist.h +++ b/base/gxclist.h @@ -336,8 +336,7 @@ struct gx_device_clist_writer_s { const gx_clip_path *clip_path; /* current clip path, */ /* only non-transient for images */ gs_id clip_path_id; /* id of current clip path */ - clist_color_space_t color_space; /* current color space, */ - /* only used for non-mask images */ + clist_color_space_t color_space; /* only used for non-mask images */ gs_id transfer_ids[4]; /* ids of transfer maps */ gs_id black_generation_id; /* id of black generation map */ gs_id undercolor_removal_id; /* id of u.c.r. map */ @@ -366,6 +365,9 @@ struct gx_device_clist_writer_s { access to the graphic state information in those routines, this is the logical place to put this information */ + bool op_fill_active; /* Needed so we know state during clist writing */ + bool op_stroke_active; /* Needed so we know state during clist writing */ + }; /* Bits for gx_device_clist_writer.disable_mask. Bit set disables behavior */ diff --git a/base/gxclpath.c b/base/gxclpath.c index cc5a5e3e..9a57932e 100644 --- a/base/gxclpath.c +++ b/base/gxclpath.c @@ -127,14 +127,18 @@ cmd_put_drawing_color(gx_device_clist_writer * cldev, gx_clist_state * pcls, pdht->id != cldev->device_halftone_id ) { if ((code = cmd_put_halftone(cldev, pdht)) < 0) return code; - color_unset(psdc); + psdc->type = gx_dc_type_none; /* force writing */ } + if (psdc->devn_type != devn_type) { + psdc->type = gx_dc_type_none; /* force writing if fill/stroke mismatch. */ + psdc->devn_type = devn_type; + } /* * Get the device color type index and the required size. * * The complete cmd_opv_ext_put_drawing_color consists of: - * comand code (2 bytes) + * command code (2 bytes) * tile index value or non tile color (1) * device color type index (1) * length of serialized device color (enc_u_sizew(dc_size)) @@ -149,7 +153,7 @@ cmd_put_drawing_color(gx_device_clist_writer * cldev, gx_clist_state * pcls, &dc_size ); /* if the returned value is > 0, no change in the color is necessary */ - if (code > 0 && devn_type == devn_not_tile) + if (code > 0 && ((devn_type == devn_not_tile_fill) || (devn_type == devn_not_tile_stroke))) return 0; else if (code < 0 && code != gs_error_rangecheck) return code; @@ -216,8 +220,11 @@ cmd_put_drawing_color(gx_device_clist_writer * cldev, gx_clist_state * pcls, return code; dp0 = dp; switch (devn_type) { - case devn_not_tile: - dp[1] = cmd_opv_ext_put_drawing_color; + case devn_not_tile_fill: + dp[1] = cmd_opv_ext_put_fill_dcolor; + break; + case devn_not_tile_stroke: + dp[1] = cmd_opv_ext_put_stroke_dcolor; break; case devn_tile0: dp[1] = cmd_opv_ext_put_tile_devn_color0; @@ -226,7 +233,7 @@ cmd_put_drawing_color(gx_device_clist_writer * cldev, gx_clist_state * pcls, dp[1] = cmd_opv_ext_put_tile_devn_color1; break; default: - dp[1] = cmd_opv_ext_put_drawing_color; + dp[1] = cmd_opv_ext_put_fill_dcolor; } dp += 2; *dp++ = di | (offset > 0 ? 0x80 : 0); @@ -365,9 +372,9 @@ cmd_check_clip_path(gx_device_clist_writer * cldev, const gx_clip_path * pcpath) (cj_ac_sa_known | flatness_known | op_bm_tk_known | opacity_alpha_known |\ shape_alpha_known | fill_adjust_known | alpha_known | clip_path_known) static void -cmd_check_fill_known(gx_device_clist_writer *cdev, const gs_gstate *pgs, - double flatness, const gs_fixed_point *padjust, - const gx_clip_path *pcpath, uint *punknown) +cmd_check_fill_known(gx_device_clist_writer* cdev, const gs_gstate* pgs, + double flatness, const gs_fixed_point* padjust, + const gx_clip_path* pcpath, uint* punknown) { /* * stroke_adjust is not needed for fills, and none of these are needed @@ -391,14 +398,15 @@ cmd_check_fill_known(gx_device_clist_writer *cdev, const gs_gstate *pgs, * though both parameters are passed in the state as well, this usually * has no effect. */ - if (state_neq(overprint) || state_neq(effective_overprint_mode) || + if (state_neq(overprint) || state_neq(overprint_mode) || state_neq(blend_mode) || state_neq(text_knockout) || - state_neq(renderingintent)) { + state_neq(stroke_overprint) || state_neq(renderingintent)) { *punknown |= op_bm_tk_known; state_update(overprint); - state_update(effective_overprint_mode); + state_update(overprint_mode); state_update(blend_mode); state_update(text_knockout); + state_update(stroke_overprint); state_update(renderingintent); } if (state_neq(opacity.alpha)) { @@ -477,7 +485,7 @@ cmd_write_unknown(gx_device_clist_writer * cldev, gx_clist_state * pcls, sizeof(float) + /* flatness */ sizeof(float) + /* line width */ sizeof(float) + /* miter limit */ - 2 + /* op_bm_tk and rend intent */ + 3 + /* bm_tk, op, and rend intent */ sizeof(float) * 2 + /* opacity/shape alpha */ sizeof(cldev->gs_gstate.alpha) ]; @@ -513,8 +521,10 @@ cmd_write_unknown(gx_device_clist_writer * cldev, gx_clist_state * pcls, if (unknown & op_bm_tk_known) { *bp++ = ((int)cldev->gs_gstate.blend_mode << 3) + - (cldev->gs_gstate.text_knockout << 2) + - (cldev->gs_gstate.overprint_mode << 1) + + cldev->gs_gstate.text_knockout; + *bp++ = + (cldev->gs_gstate.overprint_mode << 2) + + (cldev->gs_gstate.stroke_overprint << 1) + cldev->gs_gstate.overprint; *bp++ = cldev->gs_gstate.renderingintent; } @@ -846,7 +856,7 @@ clist_fill_path(gx_device * dev, const gs_gstate * pgs, gx_path * ppath, ) return code; code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, - devn_not_tile); + devn_not_tile_fill); if (code == gs_error_unregistered) return code; if (code < 0) { @@ -869,6 +879,189 @@ clist_fill_path(gx_device * dev, const gs_gstate * pgs, gx_path * ppath, } int +clist_fill_stroke_path(gx_device * pdev, const gs_gstate * pgs, + gx_path * ppath, + const gx_fill_params * params_fill, + const gx_device_color * pdevc_fill, + const gx_stroke_params * params_stroke, + const gx_device_color * pdevc_stroke, + const gx_clip_path * pcpath) +{ + gx_device_clist_writer * const cdev = + &((gx_device_clist *)pdev)->writer; + int pattern_size = pgs->line_params.dash.pattern_size; + byte op = (byte) (params_fill->rule == gx_rule_even_odd ? + cmd_opv_eofill_stroke : cmd_opv_fill_stroke); + uint unknown = 0; + gs_fixed_rect bbox; + gs_fixed_point expansion; + int adjust_y, expansion_code; + int ry, rheight; + gs_logical_operation_t lop = pgs->log_op; + bool slow_rop = cmd_slow_rop(pdev, lop_know_S_0(lop), pdevc_fill); + cmd_rects_enum_t re; + + if (pdevc_stroke == NULL || pdevc_fill == NULL) + return_error(gs_error_unknownerror); /* shouldn't happen */ + + if ((cdev->disable_mask & (clist_disable_fill_path || clist_disable_stroke_path)) || + gs_debug_c(',') + ) { + /* Disable path-based banding. */ + return gx_default_fill_stroke_path(pdev, pgs, ppath, params_fill, pdevc_fill, + params_stroke, pdevc_stroke, pcpath); + } + /* TODO: For now punt to default if we have shaded color (pattern2) */ + if (gx_dc_is_pattern2_color(pdevc_fill) || gx_dc_is_pattern2_color(pdevc_stroke)) { + return gx_default_fill_stroke_path(pdev, pgs, ppath, params_fill, pdevc_fill, + params_stroke, pdevc_stroke, pcpath); + } + gx_path_bbox(ppath, &bbox); + /* We must use the supplied gs_gstate, not our saved one, */ + /* for computing the stroke expansion. */ + expansion_code = gx_stroke_path_expansion(pgs, ppath, &expansion); + if (expansion_code < 0) { + /* Expansion is too large: use the entire page. */ + adjust_y = 0; + ry = 0; + rheight = pdev->height; + } else { + adjust_y = fixed2int_ceiling(expansion.y) + 1; + ry = fixed2int(bbox.p.y) - adjust_y; + rheight = fixed2int_ceiling(bbox.q.y) - ry + adjust_y; + fit_fill_y(pdev, ry, rheight); + fit_fill_h(pdev, ry, rheight); + if (rheight <= 0) + return 0; + } + /* Check the dash pattern, since we bail out if */ + /* the pattern is too large. */ + if (cdev->gs_gstate.line_params.dash.pattern_size != pattern_size || + (pattern_size != 0 && + memcmp(cdev->dash_pattern, pgs->line_params.dash.pattern, + pattern_size * sizeof(float))) || + cdev->gs_gstate.line_params.dash.offset != + pgs->line_params.dash.offset || + cdev->gs_gstate.line_params.dash.adapt != + pgs->line_params.dash.adapt || + cdev->gs_gstate.line_params.dot_length != + pgs->line_params.dot_length || + cdev->gs_gstate.line_params.dot_length_absolute != + pgs->line_params.dot_length_absolute + ) { + /* Bail out if the dash pattern is too long. */ + if (pattern_size > cmd_max_dash) + return gx_default_fill_stroke_path(pdev, pgs, ppath, params_fill, pdevc_fill, + params_stroke, pdevc_stroke, pcpath); + unknown |= dash_known; + /* + * Temporarily reset the dash pattern pointer for gx_set_dash, + * but don't leave it set, since that would confuse the GC. + */ + cdev->gs_gstate.line_params.dash.pattern = cdev->dash_pattern; + gx_set_dash(&cdev->gs_gstate.line_params.dash, + pgs->line_params.dash.pattern, + pgs->line_params.dash.pattern_size, + pgs->line_params.dash.offset, NULL); + cdev->gs_gstate.line_params.dash.pattern = 0; + gx_set_dash_adapt(&cdev->gs_gstate.line_params.dash, + pgs->line_params.dash.adapt); + gx_set_dot_length(&cdev->gs_gstate.line_params, + pgs->line_params.dot_length, + pgs->line_params.dot_length_absolute); + } + + if (state_neq(line_params.start_cap) || state_neq(line_params.join) || + state_neq(line_params.end_cap) || state_neq(line_params.dash_cap)) { + unknown |= cap_join_known; + state_update(line_params.start_cap); + state_update(line_params.end_cap); + state_update(line_params.dash_cap); + state_update(line_params.join); + } + cmd_check_fill_known(cdev, pgs, params_fill->flatness, &pgs->fill_adjust, + pcpath, &unknown); + if (state_neq(line_params.half_width)) { + unknown |= line_width_known; + state_update(line_params.half_width); + } + if (state_neq(line_params.miter_limit)) { + unknown |= miter_limit_known; + gx_set_miter_limit(&cdev->gs_gstate.line_params, + pgs->line_params.miter_limit); + } + if (state_neq(ctm.xx) || state_neq(ctm.xy) || + state_neq(ctm.yx) || state_neq(ctm.yy) || + /* We don't actually need tx or ty, but we don't want to bother */ + /* tracking them separately from the other coefficients. */ + state_neq(ctm.tx) || state_neq(ctm.ty) + ) { + unknown |= ctm_known; + state_update(ctm); + } + if (unknown) + cmd_clear_known(cdev, unknown); + if (cdev->permanent_error < 0) + return (cdev->permanent_error); + /* If needed, update the trans_bbox */ + if (cdev->pdf14_needed) { + gs_int_rect trans_bbox; + int rx = fixed2int(bbox.p.x) - 1; + int rwidth = fixed2int_ceiling(bbox.q.x) - rx + 1; + unknown |= STROKE_ALL_KNOWN; + + fit_fill_w(cdev, rx, rwidth); + trans_bbox.p.x = rx; + trans_bbox.q.x = rx + rwidth - 1; + trans_bbox.p.y = ry; + trans_bbox.q.y = ry + rheight - 1; + + clist_update_trans_bbox(cdev, &trans_bbox); + } + /* If either fill or stroke uses overprint, or overprint_mode != 0, then we */ + /* need to write out the overprint drawn_comps and retain_* */ + if (((pgs->overprint_mode || pgs->overprint || pgs->stroke_overprint))) { + unknown |= op_bm_tk_known; + } + RECT_ENUM_INIT(re, ry, rheight); + do { + int code; + + RECT_STEP_INIT(re); + if ((code = cmd_do_write_unknown(cdev, re.pcls, STROKE_ALL_KNOWN | FILL_KNOWN)) < 0) + return code; + if ((code = cmd_do_enable_clip(cdev, re.pcls, pcpath != NULL)) < 0) + return code; + if ((code = cmd_update_lop(cdev, re.pcls, lop)) < 0) + return code; + /* Write the stroke first since do_fill_stroke will have locked the pattern */ + /* tile if needed, and we want it locked after reading the stroke color. */ + code = cmd_put_drawing_color(cdev, re.pcls, pdevc_stroke, &re, devn_not_tile_stroke); + if (code < 0) { + /* Something went wrong, use the default implementation. */ + return gx_default_fill_stroke_path(pdev, pgs, ppath, params_fill, pdevc_fill, + params_stroke, pdevc_stroke, pcpath); + } + code = cmd_put_drawing_color(cdev, re.pcls, pdevc_fill, &re, devn_not_tile_fill); + if (code < 0) { + /* Something went wrong, use the default implementation. */ + return gx_default_fill_stroke_path(pdev, pgs, ppath, params_fill, pdevc_fill, + params_stroke, pdevc_stroke, pcpath); + } + re.pcls->color_usage.slow_rop |= slow_rop; + + /* Don't skip segments when expansion is unknown. */ + + code = cmd_put_path(cdev, re.pcls, ppath, min_fixed, max_fixed, + op, false, (segment_notes)~0); + if (code < 0) + return code; + re.y += re.height; + } while (re.y < re.yend); + return 0; +} + +int clist_stroke_path(gx_device * dev, const gs_gstate * pgs, gx_path * ppath, const gx_stroke_params * params, const gx_drawing_color * pdcolor, const gx_clip_path * pcpath) @@ -1000,13 +1193,13 @@ clist_stroke_path(gx_device * dev, const gs_gstate * pgs, gx_path * ppath, RECT_STEP_INIT(re); CMD_CHECK_LAST_OP_BLOCK_DEFINED(cdev); - if ((code = cmd_do_write_unknown(cdev, re.pcls, stroke_all_known)) < 0 || + if ((code = cmd_do_write_unknown(cdev, re.pcls, STROKE_ALL_KNOWN)) < 0 || (code = cmd_do_enable_clip(cdev, re.pcls, pcpath != NULL)) < 0 || (code = cmd_update_lop(cdev, re.pcls, lop)) < 0 ) return code; CMD_CHECK_LAST_OP_BLOCK_DEFINED(cdev); - code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, devn_not_tile); + code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, devn_not_tile_stroke); if (code == gs_error_unregistered) return code; if (code < 0) { @@ -1102,7 +1295,7 @@ clist_put_polyfill(gx_device *dev, fixed px, fixed py, do { RECT_STEP_INIT(re); if ((code = cmd_update_lop(cdev, re.pcls, lop)) < 0 || - (code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, devn_not_tile)) < 0) + (code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, devn_not_tile_fill)) < 0) goto out; re.pcls->color_usage.slow_rop |= slow_rop; code = cmd_put_path(cdev, re.pcls, &path, diff --git a/base/gxclpath.h b/base/gxclpath.h index cda124e2..19e008c2 100644 --- a/base/gxclpath.h +++ b/base/gxclpath.h @@ -42,11 +42,12 @@ #define alpha_known (1<<9) #define misc2_all_known ((1<<10)-1) /* End of misc2 flags. */ +/* The following bits don't get passed in misc2, so are only limited by sizeof uint */ #define fill_adjust_known (1<<10) #define ctm_known (1<<11) #define dash_known (1<<12) #define clip_path_known (1<<13) -#define stroke_all_known ((1<<14)-1) +#define STROKE_ALL_KNOWN ((1<<14)-1) #define color_space_known (1<<14) /*#define all_known ((1<<15)-1) */ @@ -145,44 +146,49 @@ typedef enum { cmd_opv_fill = 0xf0, cmd_opv_rgapto = 0xf1, /* dx%, dy% */ cmd_opv_eofill = 0xf3, + cmd_opv_fill_stroke = 0xf4, + cmd_opv_eofill_stroke = 0xf5, cmd_opv_stroke = 0xf6, cmd_opv_polyfill = 0xf9, cmd_opv_fill_trapezoid = 0xfc #define cmd_path_op_name_strings\ "fill", "rgapto", "?f2?", "eofill",\ - "?f4?", "?f5", "stroke", "?f7?",\ + "fill_stroke", "eofill_stroke", "stroke", "?f7?",\ "?f8?", "polyfill", "?fa?", "?fb?",\ "fill_trapezoid", "?fd?", "?fe?", "?ff?" -/* unused cmd_op values: 0xd0, 0xf2, 0xf4, 0xf5, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfd, 0xfe, 0xff */ +/* unused cmd_op values: 0xd0, 0xf2, 0xf7, 0xf8, 0xfa, 0xfb, 0xfd, 0xfe, 0xff */ } gx_cmd_xop; /* This is usd for cmd_opv_ext_put_drawing_color so that we know if it - is assocated with a tile or not */ + is assocated with a tile or not and for fill or stroke color */ typedef enum { - devn_not_tile = 0x00, - devn_tile0 = 0x01, - devn_tile1 = 0x02 + devn_not_tile_fill = 0x00, + devn_not_tile_stroke = 0x01, + devn_tile0 = 0x02, + devn_tile1 = 0x03 } dc_devn_cl_type; /* * Further extended command set. This code always occupies a byte, which * is the second byte of a command whose first byte is cmd_opv_extend. */ typedef enum { - cmd_opv_ext_put_params = 0x00, /* serialized parameter list */ - cmd_opv_ext_create_compositor = 0x01, /* compositor id, - * serialized compositor */ - cmd_opv_ext_put_halftone = 0x02, /* length of entire halftone */ - cmd_opv_ext_put_ht_seg = 0x03, /* segment length, - * halftone segment data */ - cmd_opv_ext_put_drawing_color = 0x04, /* length, color type id, - * serialized color */ - cmd_opv_ext_tile_rect_hl = 0x05, /* Uses devn colors in tiling fill */ - cmd_opv_ext_put_tile_devn_color0 = 0x6, /* Devn color0 for tile filling */ - cmd_opv_ext_put_tile_devn_color1 = 0x7, /* Devn color1 for tile filling */ - cmd_opv_ext_set_color_is_devn = 0x8, /* Used for overload of copy_color_alpha */ - cmd_opv_ext_unset_color_is_devn = 0x9 /* Used for overload of copy_color_alpha */ + cmd_opv_ext_put_params = 0x00, /* serialized parameter list */ + cmd_opv_ext_create_compositor = 0x01, /* compositor id, + * serialized compositor */ + cmd_opv_ext_put_halftone = 0x02, /* length of entire halftone */ + cmd_opv_ext_put_ht_seg = 0x03, /* segment length, + * halftone segment data */ + cmd_opv_ext_put_fill_dcolor = 0x04, /* length, color type id, + * serialized color */ + cmd_opv_ext_put_stroke_dcolor = 0x05, /* length, color type id, + * serialized color */ + cmd_opv_ext_tile_rect_hl = 0x06, /* Uses devn colors in tiling fill */ + cmd_opv_ext_put_tile_devn_color0 = 0x07, /* Devn color0 for tile filling */ + cmd_opv_ext_put_tile_devn_color1 = 0x08, /* Devn color1 for tile filling */ + cmd_opv_ext_set_color_is_devn = 0x09, /* Used for overload of copy_color_alpha */ + cmd_opv_ext_unset_color_is_devn = 0x0a /* Used for overload of copy_color_alpha */ } gx_cmd_ext_op; #define cmd_segment_op_num_operands_values\ @@ -210,6 +216,7 @@ typedef enum { /* In gxclpath.c */ dev_proc_fill_path(clist_fill_path); dev_proc_stroke_path(clist_stroke_path); +dev_proc_fill_stroke_path(clist_fill_stroke_path); dev_proc_fill_parallelogram(clist_fill_parallelogram); dev_proc_fill_triangle(clist_fill_triangle); diff --git a/base/gxclrast.c b/base/gxclrast.c index 30c7e367..61982fff 100644 --- a/base/gxclrast.c +++ b/base/gxclrast.c @@ -250,8 +250,7 @@ static int read_set_bits(command_buf_t *pcb, tile_slot *bits, static int read_set_misc2(command_buf_t *pcb, gs_gstate *pgs, segment_notes *pnotes); static int read_set_color_space(command_buf_t *pcb, gs_gstate *pgs, - gs_color_space **ppcs, gx_device_clist_reader *cdev, - gs_memory_t *mem); + gx_device_clist_reader *cdev, gs_memory_t *mem); static int read_begin_image(command_buf_t *pcb, gs_image_common_t *pic, gs_color_space *pcs); static int read_put_params(command_buf_t *pcb, gs_gstate *pgs, @@ -507,10 +506,12 @@ clist_playback_band(clist_playback_action playback_action, struct _cas { bool lop_enabled; gx_device_color dcolor; + gs_fixed_point fa_save; } clip_save; bool in_clip = false; gs_gstate gs_gstate; - gx_device_color dev_color; + gx_device_color fill_color; + gx_device_color stroke_color; float dash_pattern[cmd_max_dash]; gx_fill_params fill_params; gx_stroke_params stroke_params; @@ -608,8 +609,22 @@ in: /* Initialize for a new page. */ } if (target != 0) (*dev_proc(target, get_clipping_box))(target, &target_box); + memset(&gs_gstate, 0, sizeof(gs_gstate)); GS_STATE_INIT_VALUES_CLIST((&gs_gstate)); code = gs_gstate_initialize(&gs_gstate, mem); + gs_gstate.device = tdev; + gs_gstate.view_clip = NULL; /* Avoid issues in pdf14 fill stroke */ + gs_gstate.clip_path = &clip_path; + pcs = gs_cspace_new_DeviceGray(mem); + if (pcs == NULL) { + code = gs_note_error(gs_error_VMerror); + goto out; + } + pcs->type->install_cspace(pcs, &gs_gstate); + gs_gstate.color[0].color_space = pcs; + rc_increment_cs(pcs); + gs_gstate.color[1].color_space = pcs; + rc_increment_cs(pcs); /* Remove the ICC link cache and replace with the device link cache so that we share the cache across bands */ rc_decrement(gs_gstate.icc_link_cache,"clist_playback_band"); @@ -629,13 +644,8 @@ in: /* Initialize for a new page. */ #ifdef DEBUG halftone_type = ht_type_none; #endif - pcs = gs_cspace_new_DeviceGray(mem); - if (pcs == NULL) { - code = gs_note_error(gs_error_VMerror); - goto out; - } - dev_color.ccolor_valid = false; - color_unset(&dev_color); + fill_color.ccolor_valid = false; + color_unset(&fill_color); data_bits = gs_alloc_bytes(mem, data_bits_size, "clist_playback_band(data_bits)"); if (data_bits == 0) { @@ -1289,9 +1299,15 @@ set_phase: /* &target_box); tdev = (gx_device *)&clip_accum; clip_save.lop_enabled = state.lop_enabled; - clip_save.dcolor = dev_color; + clip_save.dcolor = fill_color; + clip_save.fa_save.x = gs_gstate.fill_adjust.x; + clip_save.fa_save.y = gs_gstate.fill_adjust.y; + /* clip_path should match fill_path, i.e., with fill_adjust applied */ + /* If we get here with the fill_adjust = [0, 0], set it to [0.5, 0.5]i */ + if (clip_save.fa_save.x == 0 || clip_save.fa_save.y == 0) + gs_gstate.fill_adjust.x = gs_gstate.fill_adjust.y = fixed_half; /* temporarily set a solid color */ - color_set_pure(&dev_color, (gx_color_index)1); + color_set_pure(&fill_color, (gx_color_index)1); state.lop_enabled = false; gs_gstate.log_op = lop_default; break; @@ -1324,13 +1340,16 @@ set_phase: /* gs_gstate.log_op = (state.lop_enabled ? state.lop : lop_default); - dev_color = clip_save.dcolor; + fill_color = clip_save.dcolor; + /* restore the fill_adjust if it was changed by begin_clip */ + gs_gstate.fill_adjust.x = clip_save.fa_save.x; + gs_gstate.fill_adjust.y = clip_save.fa_save.y; in_clip = false; break; case cmd_opv_set_color_space: cbuf.ptr = cbp; - code = read_set_color_space(&cbuf, &gs_gstate, - &pcs, cdev, mem); + code = read_set_color_space(&cbuf, &gs_gstate, cdev, mem); + pcs = gs_gstate.color[0].color_space; cbp = cbuf.ptr; if (code < 0) { if (code == gs_error_rangecheck) @@ -1343,7 +1362,7 @@ set_phase: /* gs_fixed_rect rect_hl; cbp = cmd_read_rect(op & 0xf0, &state.rect, cbp); - if (dev_color.type != gx_dc_type_devn) { + if (fill_color.type != gx_dc_type_devn) { if_debug0m('L', mem, "hl rect fill without devn color\n"); code = gs_note_error(gs_error_typecheck); goto out; @@ -1357,7 +1376,7 @@ set_phase: /* rect_hl.q.y = int2fixed(state.rect.height) + rect_hl.p.y; code = dev_proc(tdev, fill_rectangle_hl_color) (tdev, &rect_hl, NULL, - &dev_color, NULL); + &fill_color, NULL); } continue; case cmd_opv_begin_image_rect: @@ -1396,10 +1415,11 @@ ibegin: if_debug0m('L', mem, "\n"); { /* Processing an image operation */ dev_proc(tdev, set_graphics_type_tag)(tdev, GS_IMAGE_TAG);/* FIXME: what about text bitmaps? */ + image.i4.override_in_smask = 0; code = (*dev_proc(tdev, begin_typed_image)) (tdev, &gs_gstate, NULL, (const gs_image_common_t *)&image, - &image_rect, &dev_color, pcpath, mem, + &image_rect, &fill_color, pcpath, mem, &image_info); } if (code < 0) @@ -1784,14 +1804,17 @@ idata: data_size = 0; &(state.tile_color_devn[1]), tile_phase.x, tile_phase.y); break; + case cmd_opv_ext_put_fill_dcolor: + pdcolor = &fill_color; + goto load_dcolor; + case cmd_opv_ext_put_stroke_dcolor: + pdcolor = &stroke_color; + goto load_dcolor; case cmd_opv_ext_put_tile_devn_color0: pdcolor = &set_dev_colors[0]; goto load_dcolor; case cmd_opv_ext_put_tile_devn_color1: pdcolor = &set_dev_colors[1]; - goto load_dcolor; - case cmd_opv_ext_put_drawing_color: - pdcolor = &dev_color; load_dcolor:{ uint color_size; int left, offset, l; @@ -1951,10 +1974,38 @@ idata: data_size = 0; fill: fill_params.adjust = gs_gstate.fill_adjust; fill_params.flatness = gs_gstate.flatness; - code = gx_fill_path_only(ppath, tdev, - &gs_gstate, - &fill_params, - &dev_color, pcpath); + code = (*dev_proc(tdev, fill_path))(tdev, &gs_gstate, ppath, + &fill_params, &fill_color, pcpath); + break; + case cmd_opv_fill_stroke: + fill_params.rule = gx_rule_winding_number; + goto fill_stroke; + case cmd_opv_eofill_stroke: + fill_params.rule = gx_rule_even_odd; + fill_stroke: + fill_params.adjust = gs_gstate.fill_adjust; + fill_params.flatness = gs_gstate.flatness; + stroke_params.flatness = gs_gstate.flatness; + stroke_params.traditional = false; + code = (*dev_proc(tdev, fill_stroke_path))(tdev, &gs_gstate, ppath, + &fill_params, &fill_color, + &stroke_params, &stroke_color, pcpath); + /* if the color is a pattern, it may have had the "is_locked" flag set */ + /* clear those now (see do_fill_stroke). */ + if (gx_dc_is_pattern1_color(&stroke_color)) { + gs_id id = stroke_color.colors.pattern.p_tile->id; + + code = gx_pattern_cache_entry_set_lock(&gs_gstate, id, false); + if (code < 0) + return code; /* unlock failed -- should not happen */ + } + if (gx_dc_is_pattern1_color(&fill_color)) { + gs_id id = fill_color.colors.pattern.p_tile->id; + + code = gx_pattern_cache_entry_set_lock(&gs_gstate, id, false); + if (code < 0) + return code; /* unlock failed -- should not happen */ + } break; case cmd_opv_stroke: stroke_params.flatness = gs_gstate.flatness; @@ -1962,10 +2013,10 @@ idata: data_size = 0; code = (*dev_proc(tdev, stroke_path)) (tdev, &gs_gstate, ppath, &stroke_params, - &dev_color, pcpath); + &stroke_color, pcpath); break; case cmd_opv_polyfill: - code = clist_do_polyfill(tdev, ppath, &dev_color, + code = clist_do_polyfill(tdev, ppath, &fill_color, gs_gstate.log_op); break; case cmd_opv_fill_trapezoid: @@ -2108,7 +2159,7 @@ idata: data_size = 0; code = gx_default_fill_trapezoid(ttdev, &left, &right, max(ybot - y0f, fixed_half), min(ytop - y0f, int2fixed(wh)), swap_axes, - &dev_color, gs_gstate.log_op); + &fill_color, gs_gstate.log_op); } break; default: @@ -2154,7 +2205,7 @@ idata: data_size = 0; * is open pending a proper fix. */ code = (dev_proc(tdev, fillpage) == NULL ? 0 : (*dev_proc(tdev, fillpage))(tdev, &gs_gstate, - &dev_color)); + &fill_color)); break; } case cmd_op_fill_rect_short >> 4: @@ -2200,7 +2251,7 @@ idata: data_size = 0; case cmd_op_tile_rect >> 4: if (state.rect.width == 0 && state.rect.height == 0 && state.rect.x == 0 && state.rect.y == 0) { - code = (*dev_proc(tdev, fillpage))(tdev, &gs_gstate, &dev_color); + code = (*dev_proc(tdev, fillpage))(tdev, &gs_gstate, &fill_color); break; } case cmd_op_tile_rect_short >> 4: @@ -2227,7 +2278,7 @@ idata: data_size = 0; (tdev, source, data_x, raster, gx_no_bitmap_id, state.rect.x - x0, state.rect.y - y0, state.rect.width - data_x, state.rect.height, - &dev_color, 1, gs_gstate.log_op, pcpath); + &fill_color, 1, gs_gstate.log_op, pcpath); } else { if (plane_height == 0) { code = (*dev_proc(tdev, copy_mono)) @@ -2255,7 +2306,7 @@ idata: data_size = 0; (tdev, source, data_x, raster, gx_no_bitmap_id, state.rect.x - x0, state.rect.y - y0, state.rect.width - data_x, state.rect.height, - &dev_color, depth); + &fill_color, depth); } else { code = (*dev_proc(tdev, copy_alpha)) (tdev, source, data_x, raster, gx_no_bitmap_id, @@ -2296,7 +2347,6 @@ idata: data_size = 0; if (code == 0) code = code1; } - rc_decrement_cs(pcs, "clist_playback_band"); gx_cpath_free(&clip_path, "clist_render_band exit"); gx_path_free(&path, "clist_render_band exit"); if (gs_gstate.pattern_cache != NULL) { @@ -2341,6 +2391,7 @@ idata: data_size = 0; goto in; if (pfs.dev != NULL) term_patch_fill_state(&pfs); + gs_free_object(mem, pcs, "clist_playback_band(pcs)"); gs_free_object(mem, cbuf_storage, "clist_playback_band(cbuf_storage)"); gx_cpath_free(&clip_path, "clist_playback_band"); if (pcpath != &clip_path) @@ -2681,16 +2732,17 @@ read_set_misc2(command_buf_t *pcb, gs_gstate *pgs, segment_notes *pnotes) if (mask & op_bm_tk_known) { cb = *cbp++; pgs->blend_mode = cb >> 3; - pgs->text_knockout = (cb & 4) != 0; + pgs->text_knockout = cb & 1; /* the following usually have no effect; see gxclpath.c */ - pgs->overprint_mode = (cb >> 1) & 1; - pgs->effective_overprint_mode = pgs->overprint_mode; + cb = *cbp++; + pgs->overprint_mode = (cb >> 2) & 1; + pgs->stroke_overprint = (cb >> 1) & 1; pgs->overprint = cb & 1; cb = *cbp++; pgs->renderingintent = cb; - if_debug5m('L', pgs->memory, " BM=%d TK=%d OPM=%d OP=%d RI=%d\n", + if_debug6m('L', pgs->memory, " BM=%d TK=%d OPM=%d OP=%d op=%d RI=%d\n", pgs->blend_mode, pgs->text_knockout, pgs->overprint_mode, - pgs->overprint, pgs->renderingintent); + pgs->stroke_overprint, pgs->overprint, pgs->renderingintent); } if (mask & segment_notes_known) { cb = *cbp++; @@ -2715,8 +2767,7 @@ read_set_misc2(command_buf_t *pcb, gs_gstate *pgs, segment_notes *pnotes) static int read_set_color_space(command_buf_t *pcb, gs_gstate *pgs, - gs_color_space **ppcs, gx_device_clist_reader *cdev, - gs_memory_t *mem) + gx_device_clist_reader *cdev, gs_memory_t *mem) { const byte *cbp = pcb->ptr; byte b = *cbp++; @@ -2831,8 +2882,9 @@ read_set_color_space(command_buf_t *pcb, gs_gstate *pgs, } /* Release reference to old color space before installing new one. */ - rc_decrement_only_cs(*ppcs, "read_set_color_space"); - *ppcs = pcs; + if (pgs->color[0].color_space != NULL) + rc_decrement_only_cs(pgs->color[0].color_space, "read_set_color_space"); + pgs->color[0].color_space = pcs; out: pcb->ptr = cbp; return code; diff --git a/base/gxclrect.c b/base/gxclrect.c index 1eaa3915..00f01ba2 100644 --- a/base/gxclrect.c +++ b/base/gxclrect.c @@ -314,13 +314,14 @@ clist_fillpage(gx_device * dev, gs_gstate *pgs, gx_drawing_color *pdcolor) int code; /* flush previous contents */ - if ((code = clist_close_writer_and_init_reader(cldev) < 0) || - (code = clist_finish_page(dev, true)) < 0) + if ((code = clist_close_writer_and_init_reader(cldev) < 0)) + return code;; + if ((code = clist_finish_page(dev, true)) < 0) return code;; pcls = cdev->states; /* Use any. */ - code = cmd_put_drawing_color(cdev, pcls, pdcolor, NULL, devn_not_tile); + code = cmd_put_drawing_color(cdev, pcls, pdcolor, NULL, devn_not_tile_fill); if (code >= 0) code = cmd_write_page_rect_cmd(cdev, cmd_op_fill_rect); return code; @@ -413,7 +414,7 @@ clist_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect *rect, re.pcls->color_usage.or |= color_usage; code = cmd_disable_lop(cdev, re.pcls); code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, - devn_not_tile); + devn_not_tile_fill); if (code >= 0) { code = cmd_write_rect_hl_cmd(cdev, re.pcls, cmd_op_fill_rect_hl, rx, re.y, rwidth, re.height, false); @@ -491,7 +492,7 @@ clist_write_fill_trapezoid(gx_device * dev, RECT_STEP_INIT(re); if (pdcolor != NULL) { code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, - devn_not_tile); + devn_not_tile_fill); if (code == gs_error_unregistered) return code; if (code < 0) { @@ -617,6 +618,10 @@ clist_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data, int size) ibox->q.y = cwdev->cropping_max; return 0; } + if (dev_spec_op == gxdso_overprint_active) { + gx_device_clist_writer* cwdev = &((gx_device_clist*)pdev)->writer; + return cwdev->op_fill_active || cwdev->op_stroke_active; + } /* forward to the appropriate super class */ if (cdev->is_printer) return gdev_prn_forwarding_dev_spec_op(pdev, dev_spec_op, data, size); @@ -1215,7 +1220,7 @@ clist_copy_alpha_hl_color(gx_device * dev, const byte * data, int data_x, re.pcls->color_is_alpha = 1; } /* Set the color */ - code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, devn_not_tile); + code = cmd_put_drawing_color(cdev, re.pcls, pdcolor, &re, devn_not_tile_fill); copy:{ gx_cmd_rect rect; int rsize; diff --git a/base/gxclthrd.c b/base/gxclthrd.c index 833f9a5e..6792673c 100644 --- a/base/gxclthrd.c +++ b/base/gxclthrd.c @@ -102,7 +102,47 @@ setup_device_and_mem_for_thread(gs_memory_t *chunk_base_mem, gx_device *dev, boo ndev->pad = dev->pad; ndev->log2_align_mod = dev->log2_align_mod; ndev->is_planar = dev->is_planar; - if (gscms_is_threadsafe()) { + ndev->icc_struct = NULL; + + /* If the device ICC profile (or proof) is OI_PROFILE, then that was not handled + * by put/get params, and we cannot share the profiles between the 'parent' output device + * and the devices created for each thread. Thus we also cannot share the icc_struct. + * In this case we need to create a new icc_struct and clone the profiles. The clone + * operation also initializes some of the required data + * We need to do this *before* the gs_getdeviceparams/gs_putdeviceparams so gs_putdeviceparams + * will spot the same profile being used, and treat it as a no-op. Otherwise it will try to find + * a profile with the 'special' name "OI_PROFILE" and throw an error. + */ + if (!gscms_is_threadsafe() || (dev->icc_struct != NULL && + ((dev->icc_struct->device_profile[0] != NULL && + strncmp(dev->icc_struct->device_profile[0]->name, OI_PROFILE, strlen(OI_PROFILE)) == 0) + || (dev->icc_struct->proof_profile != NULL && + strncmp(dev->icc_struct->proof_profile->name, OI_PROFILE, strlen(OI_PROFILE)) == 0)))) { + ndev->icc_struct = gsicc_new_device_profile_array(ndev->memory); + if (!ndev->icc_struct) { + emprintf1(ndev->memory, + "Error setting up device profile array, code=%d. Rendering threads not started.\n", + code); + goto out_cleanup; + } + if ((code = gsicc_clone_profile(dev->icc_struct->device_profile[0], + &(ndev->icc_struct->device_profile[0]), ndev->memory)) < 0) { + emprintf1(dev->memory, + "Error setting up device profile, code=%d. Rendering threads not started.\n", + code); + goto out_cleanup; + } + if (dev->icc_struct->proof_profile && + (code = gsicc_clone_profile(dev->icc_struct->proof_profile, + &ndev->icc_struct->proof_profile, ndev->memory)) < 0) { + emprintf1(dev->memory, + "Error setting up proof profile, code=%d. Rendering threads not started.\n", + code); + goto out_cleanup; + + } + } + else { /* safe to share the icc_struct among threads */ ndev->icc_struct = dev->icc_struct; /* Set before put params */ rc_increment(ndev->icc_struct); @@ -120,29 +160,6 @@ setup_device_and_mem_for_thread(gs_memory_t *chunk_base_mem, gx_device *dev, boo goto out_cleanup; gs_c_param_list_release(¶mlist); - /* If the device ICC profile (or proof) is OI_PROFILE, then that was not handled - * by put/get params. In this case we need to clone the profiles. The clone - * operation also initializes some of the required data */ - if (dev->icc_struct != NULL && dev->icc_struct->device_profile[0] != NULL && - strncmp(dev->icc_struct->device_profile[0]->name, OI_PROFILE, strlen(OI_PROFILE)) == 0) { - if ((code = gsicc_clone_profile(dev->icc_struct->device_profile[0], - &(ndev->icc_struct->device_profile[0]), ndev->memory)) < 0) { - emprintf1(dev->memory, - "Error setting up device profile, code=%d. Rendering threads not started.\n", - code); - goto out_cleanup; - } - } - if (dev->icc_struct != NULL && dev->icc_struct->proof_profile != NULL && - strncmp(dev->icc_struct->proof_profile->name, OI_PROFILE, strlen(OI_PROFILE)) == 0) { - if ((code = gsicc_clone_profile(dev->icc_struct->proof_profile, - &ndev->icc_struct->proof_profile, ndev->memory)) < 0) { - emprintf1(dev->memory, - "Error setting up proof profile, code=%d. Rendering threads not started.\n", - code); - goto out_cleanup; - } - } /* In the case of a separation device, we need to make sure we get the devn params copied over */ pclist_devn_params = dev_proc(dev, ret_devn_params)(dev); @@ -219,7 +236,7 @@ setup_device_and_mem_for_thread(gs_memory_t *chunk_base_mem, gx_device *dev, boo /* The threads are maintained until clist_finish_page. At which point, the threads are torn down, the master clist reader device is changed to writer, and the icc_table and the icc_cache_cl freed */ - if (gscms_is_threadsafe()) { + if (dev->icc_struct == ndev->icc_struct) { /* safe to share the link cache */ ncdev->icc_cache_cl = cdev->icc_cache_cl; rc_increment(cdev->icc_cache_cl); /* FIXME: needs to be incdemented safely */ @@ -416,7 +433,7 @@ clist_setup_render_threads(gx_device *dev, int y, gx_process_page_options_t *opt if ((code = gdev_create_buf_device(cdev->buf_procs.create_buf_device, &(thread->bdev), ndev, band*crdev->page_band_height, NULL, - thread->memory, &(crdev->color_usage_array[0])) < 0)) + thread->memory, &(crdev->color_usage_array[0]))) < 0) break; if ((thread->sema_this = gx_semaphore_label(gx_semaphore_alloc(thread->memory), "Band")) == NULL || (thread->sema_group = gx_semaphore_label(gx_semaphore_alloc(thread->memory), "Group")) == NULL) { diff --git a/base/gxcmap.c b/base/gxcmap.c index 417a2ea0..68d3a0bf 100644 --- a/base/gxcmap.c +++ b/base/gxcmap.c @@ -570,9 +570,6 @@ gx_remap_color(gs_gstate * pgs) pcs, gs_currentdevicecolor_inline(pgs), (gs_gstate *) pgs, pgs->device, gs_color_select_texture); - /* if overprint mode is in effect, update the overprint information */ - if (code >= 0 && pgs->overprint) - code = gs_do_set_overprint(pgs); return code; } diff --git a/base/gxcpath.c b/base/gxcpath.c index ecdfe095..4c3d3478 100644 --- a/base/gxcpath.c +++ b/base/gxcpath.c @@ -325,8 +325,10 @@ gx_cpath_assign_preserve(gx_clip_path * pcpto, gx_clip_path * pcpfrom) int code = cpath_alloc_list(&tolist, tolist->rc.memory, "gx_cpath_assign"); - if (code < 0) + if (code < 0) { + rc_decrement(pcpto->path.segments, "gx_path_assign"); return code; + } rc_decrement(pcpto->rect_list, "gx_cpath_assign"); } else { /* Use pcpto's list object. */ @@ -354,7 +356,7 @@ gx_cpath_assign_free(gx_clip_path * pcpto, gx_clip_path * pcpfrom) int code = gx_cpath_assign_preserve(pcpto, pcpfrom); if (code < 0) - return 0; + return code; gx_cpath_free(pcpfrom, "gx_cpath_assign_free"); return 0; } diff --git a/base/gxdevcli.h b/base/gxdevcli.h index 5524ff81..30d0eda0 100644 --- a/base/gxdevcli.h +++ b/base/gxdevcli.h @@ -1035,6 +1035,19 @@ typedef enum FILTER_FLAGS { #define dev_proc_stroke_path(proc)\ dev_t_proc_stroke_path(proc, gx_device) + /* Added in release 9.22 */ + +#define dev_t_proc_fill_stroke_path(proc, dev_t)\ + int proc(dev_t *dev,\ + const gs_gstate *pgs, gx_path *ppath,\ + const gx_fill_params *fill_params,\ + const gx_drawing_color *pdcolor_fill,\ + const gx_stroke_params *stroke_params,\ + const gx_drawing_color *pdcolor_stroke,\ + const gx_clip_path *pcpath) +#define dev_proc_fill_stroke_path(proc)\ + dev_t_proc_fill_stroke_path(proc, gx_device) + /* Added in release 3.60 */ #define dev_t_proc_fill_mask(proc, dev_t)\ @@ -1642,6 +1655,7 @@ typedef struct { dev_t_proc_copy_alpha_hl_color((*copy_alpha_hl_color), dev_t);\ dev_t_proc_process_page((*process_page), dev_t);\ dev_t_proc_transform_pixel_region((*transform_pixel_region), dev_t);\ + dev_t_proc_fill_stroke_path((*fill_stroke_path), dev_t);\ } /* diff --git a/base/gxdevice.h b/base/gxdevice.h index be6fd8a9..c7fd7454 100644 --- a/base/gxdevice.h +++ b/base/gxdevice.h @@ -52,8 +52,8 @@ #define DEFAULT_WIDTH_10THS_US_LETTER 85 #define DEFAULT_HEIGHT_10THS_US_LETTER 110 /* A4 paper (210mm x 297mm), we use 595pt x 842pt. */ -#define DEFAULT_WIDTH_10THS_A4 82.6389 -#define DEFAULT_HEIGHT_10THS_A4 116.9444 +#define DEFAULT_WIDTH_10THS_A4 82.6389f +#define DEFAULT_HEIGHT_10THS_A4 116.9444f /* Choose a default. A4 may be set in the makefile. */ #ifdef A4 # define DEFAULT_WIDTH_10THS DEFAULT_WIDTH_10THS_A4 @@ -314,6 +314,7 @@ dev_proc_strip_tile_rect_devn(gx_default_strip_tile_rect_devn); dev_proc_copy_alpha_hl_color(gx_default_copy_alpha_hl_color); dev_proc_process_page(gx_default_process_page); dev_proc_transform_pixel_region(gx_default_transform_pixel_region); +dev_proc_fill_stroke_path(gx_default_fill_stroke_path); dev_proc_begin_transparency_group(gx_default_begin_transparency_group); dev_proc_end_transparency_group(gx_default_end_transparency_group); dev_proc_begin_transparency_mask(gx_default_begin_transparency_mask); @@ -418,6 +419,7 @@ dev_proc_strip_copy_rop2(gx_forward_strip_copy_rop2); dev_proc_strip_tile_rect_devn(gx_forward_strip_tile_rect_devn); dev_proc_copy_alpha_hl_color(gx_forward_copy_alpha_hl_color); dev_proc_transform_pixel_region(gx_forward_transform_pixel_region); +dev_proc_fill_stroke_path(gx_forward_fill_stroke_path); /* ---------------- Implementation utilities ---------------- */ int gx_default_get_param(gx_device *dev, char *Param, void *list); diff --git a/base/gxdevsop.h b/base/gxdevsop.h index 2d4d1a97..27ea0cb6 100644 --- a/base/gxdevsop.h +++ b/base/gxdevsop.h @@ -352,6 +352,20 @@ enum { * the PDF font may not match the widths of the glyphs in the font. */ gxdso_event_info, + /* gxdso_overprint_active: + * data = NULL + * size = 0 + * Returns 1 if the overprint device is active, + * 0 otherwise. + */ + gxdso_overprint_active, + /* gxdso_in_smask: + * data = NULL + * size = 0 + * Returns 1 if we are within an smask (either construction or usage), + * 0 otherwise. + */ + gxdso_in_smask, /* Debug only dsos follow here */ #ifdef DEBUG diff --git a/base/gxdownscale.c b/base/gxdownscale.c index e2e83eae..8721d1db 100644 --- a/base/gxdownscale.c +++ b/base/gxdownscale.c @@ -19,7 +19,12 @@ #include "string_.h" #include "gdevprn.h" #include "assert_.h" + +#ifdef WITH_CAL +#include "cal_ets.h" +#else #include "ets.h" +#endif /* Nasty inline declaration, as gxht_thresh.h requires penum */ void gx_ht_threshold_row_bit_sub(byte *contone, byte *threshold_strip, @@ -1799,6 +1804,57 @@ static int check_trapping(gs_memory_t *memory, int trap_w, int trap_h, return 0; } +static void +find_aspect_ratio(float *res, int *a, int *b) +{ + float xres = res[0]; + float yres = res[1]; + float f; + + if (xres == yres) { + *a = *b = 1; + return; + } + else if (xres > yres) + { + xres /= yres; + f = xres - (int)xres; + if (f >= 0.2 && f < 0.3) + xres *= 4, yres = 4; + else if (f >= 0.3 && f < 0.4) + xres *= 3, yres = 3; + else if (f >= 0.4 && f < 0.6) + xres *= 2, yres = 2; + else if (f >= 0.6 && f < 0.7) + xres *= 3, yres = 3; + else if (f >= 0.7 && f < 0.8) + xres *= 4, yres = 4; + else + yres = 1; + *a = (int)(xres + 0.5); + *b = (int)yres; + } + else + { + yres /= xres; + f = yres - (int)yres; + if (f >= 0.2 && f < 0.3) + yres *= 4, xres = 4; + else if (f >= 0.3 && f < 0.4) + yres *= 3, xres = 3; + else if (f >= 0.4 && f < 0.6) + yres *= 2, xres = 2; + else if (f >= 0.6 && f < 0.7) + yres *= 3, xres = 3; + else if (f >= 0.7 && f < 0.8) + yres *= 4, xres = 4; + else + xres = 1; + *a = (int)xres; + *b = (int)(yres + 0.5); + } +} + static int init_ets(gx_downscaler_t *ds, int num_planes, gx_downscale_core *downscale_core) { ETS_Params params = { 0 }; @@ -1831,13 +1887,15 @@ static int init_ets(gx_downscaler_t *ds, int num_planes, gx_downscale_core *down for (i = 0; i < num_planes; i++) rs_luts[i] = rs_lut; +#ifdef WITH_CAL + params.context = ds->dev->memory->gs_lib_ctx->core->cal_ctx; +#endif params.width = ds->width; params.n_planes = num_planes; params.levels = 2; params.luts = luts; params.distscale = 0; - params.aspect_x = 1; - params.aspect_y = 1; + find_aspect_ratio(ds->dev->HWResolution, ¶ms.aspect_x, ¶ms.aspect_y); params.strengths = strengths; params.rand_scale = 0; params.c1_scale = c1_scale; diff --git a/base/gxdtfill.h b/base/gxdtfill.h index f5eece33..5c1d3da6 100644 --- a/base/gxdtfill.h +++ b/base/gxdtfill.h @@ -182,7 +182,11 @@ GX_FILL_TRAPEZOID (gx_device * dev, const EDGE_TYPE * left, if_debug2m('z', dev->memory, "[z]y=[%d,%d]\n", iy, iy1); l.h = left->end.y - left->start.y; + if (l.h == 0) + return 0; r.h = right->end.y - right->start.y; + if (r.h == 0) + return 0; l.x = x0l + (fixed_half - fixed_epsilon); r.x = x0r + (fixed_half - fixed_epsilon); #if !LINEAR_COLOR diff --git a/base/gxfapiu.h b/base/gxfapiu.h index 5903909b..10ea80c0 100644 --- a/base/gxfapiu.h +++ b/base/gxfapiu.h @@ -20,6 +20,7 @@ #define gxfapiu_INCLUDED #include "gp.h" +#include "ufstport.h" /* Set UFST callbacks. */ /* Warning : the language switch project doesn't guarantee diff --git a/base/gxfill.c b/base/gxfill.c index ab86769e..68bcdafc 100644 --- a/base/gxfill.c +++ b/base/gxfill.c @@ -469,7 +469,7 @@ gx_general_fill_path(gx_device * pdev, const gs_gstate * pgs, fo.fixed_flat, params->rule, pdevc, - (!fill_by_trapezoids && fo.fill_direct) ? -1 : (int)pgs->log_op); + (!fill_by_trapezoids && fo.fill_direct) ? -1 : (int)pgs->log_op); if (ppath == &ffpath) gx_path_free(ppath, "gx_general_fill_path"); return code; @@ -663,6 +663,30 @@ gx_default_fill_path(gx_device * pdev, const gs_gstate * pgs, return code; } +/* + * Fill/Stroke a path. This is the default implementation of the driver + * fill_path procedure. + */ +int +gx_default_fill_stroke_path(gx_device * pdev, const gs_gstate * pgs, + gx_path * ppath, + const gx_fill_params * params_fill, + const gx_device_color * pdevc_fill, + const gx_stroke_params * params_stroke, + const gx_device_color * pdevc_stroke, + const gx_clip_path * pcpath) +{ + int code = dev_proc(pdev, fill_path)(pdev, pgs, ppath, params_fill, pdevc_fill, pcpath); + + if (code < 0) + return code; + /* Swap colors to make sure the pgs colorspace is correct for stroke */ + gs_swapcolors_quick(pgs); + code = dev_proc(pdev, stroke_path)(pdev, pgs, ppath, params_stroke, pdevc_stroke, pcpath); + gs_swapcolors_quick(pgs); + return code; +} + /* Free the line list. */ static void free_line_list(line_list *ll) diff --git a/base/gxgstate.h b/base/gxgstate.h index 4f243165..e6dd92f7 100644 --- a/base/gxgstate.h +++ b/base/gxgstate.h @@ -127,6 +127,7 @@ typedef struct gs_gstate_color_s { gs_color_space *color_space; /* after substitution */ gs_client_color *ccolor; gx_device_color *dev_color; + bool effective_opm; } gs_gstate_color; /* @@ -201,6 +202,7 @@ typedef struct gs_xstate_trans_flags { #define gs_currentcolor_inline(pgs) ((pgs)->color[0].ccolor) #define gs_currentcolorspace_inline(pgs) ((pgs)->color[0].color_space) #define gs_altdevicecolor_inline(pgs) ((pgs)->color[1].dev_color) +#define gs_currentcolor_eopm(pgs) ((pgs)->color[0].effective_opm) #define char_tm_only(pgs) *(gs_matrix *)&(pgs)->char_tm @@ -249,7 +251,6 @@ struct gs_gstate_s { gx_device *trans_device; /* trans device has all mappings to group color space */ bool overprint; int overprint_mode; - int effective_overprint_mode; bool stroke_overprint; float flatness; gs_fixed_point fill_adjust; /* A path expansion for fill; -1 = dropout prevention*/ @@ -303,7 +304,7 @@ struct gs_gstate_s { gs_matrix textmatrix; /* Current colors (non-stroking, and stroking) */ gs_gstate_color color[2]; - + int is_fill_color; /* Font: */ gs_font *font; gs_font *root_font; @@ -325,7 +326,7 @@ struct gs_gstate_s { { (float)(scale), 0.0, 0.0, (float)(-(scale)), 0.0, 0.0 },\ false, {0, 0}, {0, 0}, false, \ lop_default, gx_max_color_value, BLEND_MODE_Compatible,\ -{ 1.0 }, { 1.0 }, {0, 0}, 0, 0/*false*/, 0, 0/*false*/, 0, 0/*false*/, 0, 0, 0/*false*/, 1.0, \ +{ 1.0 }, { 1.0 }, {0, 0}, 0, 0/*false*/, 0, 0/*false*/, 0, 0/*false*/, 0, 0/*false*/, 1.0, \ { fixed_half, fixed_half }, 0/*false*/, 1/*true*/, 0/*false*/, 1.0,\ 1, 1/* bpt true */, 0, 0, 0, INIT_CUSTOM_COLOR_PTR /* 'Custom color' callback pointer */ \ gx_default_get_cmap_procs @@ -355,7 +356,6 @@ struct gs_gstate_s { s->trans_device = __state_init.trans_device; \ s->overprint = __state_init.overprint; \ s->overprint_mode = __state_init.overprint_mode; \ - s->effective_overprint_mode = __state_init.effective_overprint_mode; \ s->stroke_overprint = __state_init.stroke_overprint; \ s->flatness = __state_init.flatness; \ s->fill_adjust = __state_init.fill_adjust; \ @@ -370,6 +370,7 @@ struct gs_gstate_s { s->icc_profile_cache = __state_init.icc_profile_cache; \ s->get_cmap_procs = __state_init.get_cmap_procs; \ s->show_gstate = NULL; \ + s->is_fill_color = 1; \ } while (0) struct_proc_finalize(gs_gstate_finalize); @@ -437,8 +438,15 @@ int gs_currentscreenphase_pgs(const gs_gstate *, gs_int_point *, gs_color_select (pgs)->current_point.x = xx;\ (pgs)->current_point.y = yy; -int gs_swapcolors(gs_gstate *); -void gs_swapcolors_quick(gs_gstate *); +/* The const is a lie. The swapcolors stuff is a bit of a hack; a late + * addition to the graphics library, which has to be used in many places + * where the device interface only has a const gs_gstate available to it + * rather than a non-const one. In all these cases, we flip the colors + * during a call to a function, then swap it back again before we leave, + * so the net effect of the call remains that the gstate is not changed. + * Rather than breaking const at every single callsite, we move the const + * breaking into the function itself. */ +void gs_swapcolors_quick(const gs_gstate *); /* Set the graphics_type_tag iff the requested tag bit is not set in the dev_color and */ /* unset the dev_color so that gx_set_dev_color will remap (encode) with the new tag. */ diff --git a/base/gxhintn.c b/base/gxhintn.c index 1e3e429f..dc28c00d 100644 --- a/base/gxhintn.c +++ b/base/gxhintn.c @@ -467,8 +467,9 @@ static void t1_hinter__compute_rat_transform_coef(t1_hinter * self) } static inline void t1_hinter__adjust_matrix_precision(t1_hinter * self, fixed xx, fixed yy) -{ fixed x = any_abs(xx), y = any_abs(yy); - fixed c = (x > y ? x : y); +{ + ufixed x = any_abs(xx), y = any_abs(yy); + ufixed c = (x > y ? x : y); while (c >= self->max_import_coord) { /* Reduce the precision of ctmf to allow products to fit into 32 bits : */ diff --git a/base/gxicolor.c b/base/gxicolor.c index 6425f525..3bee9814 100644 --- a/base/gxicolor.c +++ b/base/gxicolor.c @@ -62,8 +62,18 @@ static irender_proc(image_render_color_icc_tpr); #ifndef WITH_CAL static irender_proc(image_render_color_thresh); #else + +#include "cal.h" + static irender_proc(image_render_color_ht_cal); +static int +image_render_color_ht_cal_skip_line(gx_image_enum *penum, + gx_device *dev) +{ + return !cal_halftone_next_line_required(penum->cal_ht); +} + static void color_halftone_callback(cal_halftone_data_t *ht, void *arg) { @@ -85,11 +95,6 @@ color_halftone_callback(cal_halftone_data_t *ht, void *arg) static cal_halftone* color_halftone_init(gx_image_enum *penum) { - void *callback; - void *args; - int ox; - int dd_curr_y; - int dev_width; cal_halftone *cal_ht = NULL; gx_dda_fixed dda_ht; cal_context *ctx = penum->memory->gs_lib_ctx->core->cal_ctx; @@ -108,9 +113,6 @@ color_halftone_init(gx_image_enum *penum) dda_ht = penum->dda.pixel0.x; if (penum->dxx > 0) dda_translate(dda_ht, -fixed_epsilon); - ox = dda_current(dda_ht); - dd_curr_y = dda_current(penum->dda.pixel0.y); - dev_width = gxht_dda_length(&dda_ht, penum->rect.w); matrix.xx = penum->matrix.xx; matrix.xy = penum->matrix.xy; matrix.yx = penum->matrix.yx; @@ -164,7 +166,6 @@ static int image_skip_color_icc_tpr(gx_image_enum *penum, gx_device *dev); int gs_image_class_4_color(gx_image_enum * penum, irender_proc_t *render_fn) { - bool std_cmap_procs; int code = 0; #if USE_FAST_HT_CODE bool use_fast_thresh = true; @@ -213,12 +214,10 @@ gs_image_class_4_color(gx_image_enum * penum, irender_proc_t *render_fn) then we will need to use those and go through pixel by pixel instead of blasting through buffers. This is true for example with many of the color spaces for CUPs */ - std_cmap_procs = gx_device_uses_std_cmap_procs(penum->dev, penum->pgs); if ( (gs_color_space_get_index(penum->pcs) == gs_color_space_index_DeviceN && - penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color || - !std_cmap_procs) { + penum->pcs->cmm_icc_profile_data == NULL) || penum->use_mask_color) { *render_fn = &image_render_color_DeviceN; - return code; + return 0; } /* Set up the link now */ @@ -271,6 +270,10 @@ gs_image_class_4_color(gx_image_enum * penum, irender_proc_t *render_fn) penum->use_cie_range = (get_cie_range(penum->pcs) != NULL); } } + if (!gx_device_uses_std_cmap_procs(penum->dev, penum->pgs)) { + *render_fn = &image_render_color_DeviceN; + return code; + } if (gx_device_must_halftone(penum->dev) && use_fast_thresh && (penum->posture == image_portrait || penum->posture == image_landscape) && penum->image_parent_type == gs_image_type1) { @@ -292,7 +295,8 @@ gs_image_class_4_color(gx_image_enum * penum, irender_proc_t *render_fn) penum->cal_ht = color_halftone_init(penum); if (penum->cal_ht != NULL) { - penum->skip_render = image_render_color_ht_cal; + penum->skip_next_line = image_render_color_ht_cal_skip_line; + *render_fn = &image_render_color_ht_cal; return code; } #else @@ -441,14 +445,14 @@ decode_row(const gx_image_enum *penum, const byte *psrc, int spp, byte *pdes, static int image_color_icc_prep(gx_image_enum *penum_orig, const byte *psrc, uint w, gx_device *dev, int *spp_cm_out, byte **psrc_cm, - byte **psrc_cm_start, byte **bufend, bool planar_out) + byte **psrc_cm_start, byte **bufend, int *pspan, bool planar_out) { const gx_image_enum *const penum = penum_orig; /* const within proc */ const gs_gstate *pgs = penum->pgs; bool need_decode = penum->icc_setup.need_decode; gsicc_bufferdesc_t input_buff_desc; gsicc_bufferdesc_t output_buff_desc; - int num_pixels, spp_cm; + int spp_cm; int spp = penum->spp; bool force_planar = false; int num_des_comps; @@ -458,7 +462,6 @@ image_color_icc_prep(gx_image_enum *penum_orig, const byte *psrc, uint w, const byte *planar_src; byte *planar_des; int j, k; - int width; code = dev_proc(dev, get_profile)(dev, &dev_profile); if (code < 0) return code; @@ -466,6 +469,8 @@ image_color_icc_prep(gx_image_enum *penum_orig, const byte *psrc, uint w, if (penum->icc_link == NULL) { return gs_rethrow(-1, "ICC Link not created during image render color"); } + if (pspan) + *pspan = w; /* If the link is the identity, then we don't need to do any color conversions except for potentially a decode. Planar out is a special case. For now we let the CMM do the reorg into planar. We will want @@ -481,14 +486,18 @@ image_color_icc_prep(gx_image_enum *penum_orig, const byte *psrc, uint w, *bufend = *psrc_cm + w; *psrc_cm_start = NULL; } else { + int width = w/spp; + int span = (width+31)&~31; spp_cm = num_des_comps; - /* Put the buffer on a 32 byte memory alignment for SSE/AVX. Also - extra space for 32 byte overrun */ - *psrc_cm_start = gs_alloc_bytes(pgs->memory, w * spp_cm/spp + 64, - "image_color_icc_prep"); + if (pspan) + *pspan = span; + /* Put the buffer on a 32 byte memory alignment for SSE/AVX for every + * line. Also extra space for 32 byte overrun. */ + *psrc_cm_start = gs_alloc_bytes(pgs->memory, span * spp_cm + 64, + "image_color_icc_prep"); *psrc_cm = *psrc_cm_start + ((32 - (intptr_t)(*psrc_cm_start)) & 31); - *bufend = *psrc_cm + w * spp_cm/spp; + *bufend = *psrc_cm + span * spp_cm; if (penum->icc_link->is_identity) { if (!force_planar) { /* decode only. no CM. This is slow but does not happen that often */ @@ -514,11 +523,10 @@ image_color_icc_prep(gx_image_enum *penum_orig, const byte *psrc, uint w, planar_src = psrc; } /* Now to planar */ - width = w/spp; planar_des = *psrc_cm; for (k = 0; k < width; k++) { for (j = 0; j < spp; j++) { - *(planar_des + j * width) = *planar_src++; + *(planar_des + j * span) = *planar_src++; } planar_des++; } @@ -530,18 +538,17 @@ image_color_icc_prep(gx_image_enum *penum_orig, const byte *psrc, uint w, } } else { /* Set up the buffer descriptors. planar out always ends up here */ - num_pixels = w/spp; gsicc_init_buffer(&input_buff_desc, spp, 1, false, false, false, 0, w, - 1, num_pixels); + 1, width); if (!force_planar) { gsicc_init_buffer(&output_buff_desc, spp_cm, 1, - false, false, false, 0, num_pixels * spp_cm, - 1, num_pixels); + false, false, false, 0, width * spp_cm, + 1, width); } else { gsicc_init_buffer(&output_buff_desc, spp_cm, 1, - false, false, true, w/spp, w/spp, - 1, num_pixels); + false, false, true, span, span, + 1, width); } /* For now, just blast it all through the link. If we had a significant reduction we will want to repack the data first and then do this. That will be @@ -590,18 +597,23 @@ image_render_color_ht_cal(gx_image_enum *penum, const byte *buffer, int data_x, byte *psrc_cm = NULL, *psrc_cm_start = NULL; byte *bufend = NULL; byte *input[GX_DEVICE_COLOR_MAX_COMPONENTS]; /* to ensure 128 bit boundary */ + int i; + int planestride; - if (h == 0 || penum->line_size == 0) /* line_size == 0, nothing to do */ + if (h == 0) return 0; /* Get the buffer into the device color space */ code = image_color_icc_prep(penum, psrc, w, dev, &spp_cm, &psrc_cm, - &psrc_cm_start, &bufend, true); + &psrc_cm_start, &bufend, &planestride, true); if (code < 0) return code; + for (i = 0; i < spp_cm; i++) + input[i] = psrc_cm + w*i; + code = cal_halftone_process_planar(penum->cal_ht, penum->memory->non_gc_memory, - input, halftone_callback, dev); + (const byte * const *)input, color_halftone_callback, dev); /* Free cm buffer, if it was used */ if (psrc_cm_start != NULL) { @@ -646,7 +658,7 @@ image_render_color_thresh(gx_image_enum *penum_orig, const byte *buffer, int dat if (h != 0 && penum->line_size != 0) { /* line_size == 0, nothing to do */ /* Get the buffer into the device color space */ code = image_color_icc_prep(penum, psrc, w, dev, &spp_cm, &psrc_cm, - &psrc_cm_start, &bufend, true); + &psrc_cm_start, &bufend, &psrc_planestride, true); if (code < 0) return code; } else { @@ -786,16 +798,16 @@ image_render_color_thresh(gx_image_enum *penum_orig, const byte *buffer, int dat *(devc_contone_gray+1) = *psrc_temp; } } else { - /* Mono case, forward */ - psrc_temp = psrc_cm; - for (k=0; k<src_size; k++) { - dda_next(dda_ht); - xn = fixed2int_var_rounded(dda_current(dda_ht)); - while (xr < xn) { - *devc_contone_gray++ = *psrc_temp; - xr++; - } /* at loop exit xn will be >= xr */ - psrc_temp++; + /* Mono case, forward */ + psrc_temp = psrc_cm; + for (k=0; k<src_size; k++) { + dda_next(dda_ht); + xn = fixed2int_var_rounded(dda_current(dda_ht)); + while (xr < xn) { + *devc_contone_gray++ = *psrc_temp; + xr++; + } /* at loop exit xn will be >= xr */ + psrc_temp++; } } } else { @@ -810,7 +822,7 @@ image_render_color_thresh(gx_image_enum *penum_orig, const byte *buffer, int dat xr--; } /* at loop exit xn will be >= xr */ psrc_temp++; - } + } } break; /* Monochrome landscape */ @@ -953,10 +965,9 @@ image_render_color_thresh(gx_image_enum *penum_orig, const byte *buffer, int dat dda_next(dda_ht); xn = fixed2int_var_rounded(dda_current(dda_ht)); while (xr > xn) { - for (j = 0; j < spp_out; j++) { + for (j = 0; j < spp_out; j++) *(devc_contone[j] + position) = (psrc_plane[j])[i]; - position -= LAND_BITS; - } + position -= LAND_BITS; xr--; } /* at loop exit xn will be <= xr */ i++; @@ -967,9 +978,8 @@ image_render_color_thresh(gx_image_enum *penum_orig, const byte *buffer, int dat and 2x scaling which we will run into in 300 and 600dpi devices and content */ /* Apply initial offset */ - for (k = 0; k < spp_out; k++) { + for (k = 0; k < spp_out; k++) devc_contone[k] = devc_contone[k] + position; - } if (src_size == dest_height) { for (k = 0; k < data_length; k++) { /* Is it better to unwind this? We know it is 4 */ @@ -995,10 +1005,9 @@ image_render_color_thresh(gx_image_enum *penum_orig, const byte *buffer, int dat dda_next(dda_ht); xn = fixed2int_var_rounded(dda_current(dda_ht)); while (xr > xn) { - for (j = 0; j < spp_out; j++) { + for (j = 0; j < spp_out; j++) *(devc_contone[j] + position) = (psrc_plane[j])[i]; - position -= LAND_BITS; - } + position -= LAND_BITS; xr--; } /* at loop exit xn will be <= xr */ i++; @@ -1066,7 +1075,7 @@ image_render_color_icc_tpr(gx_image_enum *penum_orig, const byte *buffer, int da if (h == 0) return 0; code = image_color_icc_prep(penum_orig, psrc, w, dev, &spp_cm, &psrc_cm, - &psrc_cm_start, &bufend, false); + &psrc_cm_start, &bufend, NULL, false); if (code < 0) return code; psrc_cm_initial = psrc_cm; gx_get_cmapper(&cmapper, pgs, dev, has_transfer, must_halftone, gs_color_select_source); @@ -1203,8 +1212,12 @@ image_render_color_DeviceN(gx_image_enum *penum_orig, const byte *buffer, int da dmputs(dev->memory, "\n"); } #endif - mcode = remap_color(&cc, pcs, pdevc_next, pgs, dev, - gs_color_select_source); + if (lab_case || penum->icc_link == NULL || pcs->cmm_icc_profile_data == NULL) + mcode = remap_color(&cc, pcs, pdevc_next, pgs, dev, gs_color_select_source); + else + mcode = gx_remap_ICC_with_link(&cc, pcs, pdevc_next, pgs, dev, + gs_color_select_source, penum->icc_link); + mapped: if (mcode < 0) goto fill; if (sizeof(pdevc_next->colors.binary.color[0]) <= sizeof(ulong)) diff --git a/base/gxidata.c b/base/gxidata.c index 3dc0d312..f29fca27 100644 --- a/base/gxidata.c +++ b/base/gxidata.c @@ -208,6 +208,7 @@ gx_image1_plane_data(gx_image_enum_common_t * info, dmprintf1(dev->memory, "[b]image1 y=%d\n", y); if (gs_debug_c('B')) { int i, n = width_spp; + byte *buftemp = (buffer == NULL) ? penum->buffer : buffer; if (penum->bps > 8) n *= 2; @@ -215,7 +216,7 @@ gx_image1_plane_data(gx_image_enum_common_t * info, n = (n + 7) / 8; dmlputs(dev->memory, "[B]row:"); for (i = 0; i < n; i++) - dmprintf1(dev->memory, " %02x", buffer[i]); + dmprintf1(dev->memory, " %02x", buftemp[i]); dmputs(dev->memory, "\n"); } #endif diff --git a/base/gximage.c b/base/gximage.c index 01fe9852..9df48630 100644 --- a/base/gximage.c +++ b/base/gximage.c @@ -70,6 +70,7 @@ gs_pixel_image_t_init(gs_pixel_image_t * pim, pim->format = gs_image_format_chunky; pim->ColorSpace = color_space; pim->CombineWithColor = false; + pim->override_in_smask = 0; } /* Initialize the common part of an image-processing enumerator. */ diff --git a/base/gximage3.c b/base/gximage3.c index 06fd7cdc..37693578 100644 --- a/base/gximage3.c +++ b/base/gximage3.c @@ -27,6 +27,7 @@ #include "gxclipm.h" #include "gximage3.h" #include "gxgstate.h" +#include "gxdevsop.h" #include <limits.h> /* For INT_MAX etc */ /* Forward references */ @@ -404,6 +405,7 @@ gx_begin_image3_generic(gx_device * dev, m_mat = *pmat; m_mat.tx -= origin.x; m_mat.ty -= origin.y; + i_mask.override_in_smask = (dev_proc(dev, dev_spec_op)(dev, gxdso_in_smask, NULL, 0)) > 0; /* * Note that pgs = NULL here, since we don't want to have to * create another gs_gstate with default log_op, etc. diff --git a/base/gximono.c b/base/gximono.c index b46a3761..ee2c69b4 100644 --- a/base/gximono.c +++ b/base/gximono.c @@ -1002,7 +1002,7 @@ image_render_mono_ht_cal(gx_image_enum * penum, const byte * buffer, int data_x, return 0; return cal_halftone_process_planar(penum->cal_ht, penum->memory->non_gc_memory, - &input, halftone_callback, dev); + (const byte * const *)&input, halftone_callback, dev); } #else /* diff --git a/base/gxipixel.c b/base/gxipixel.c index 7534f81c..9aad6c8a 100644 --- a/base/gxipixel.c +++ b/base/gxipixel.c @@ -282,7 +282,8 @@ gx_image_enum_begin(gx_device * dev, const gs_gstate * pgs, bool device_color = true; gs_fixed_rect obox, cbox; bool gridfitimages = 0; - bool in_pattern_accumulator = 0; + bool in_pattern_accumulator; + bool in_smask; int orthogonal; int force_interpolation = 0; @@ -332,9 +333,11 @@ gx_image_enum_begin(gx_device * dev, const gs_gstate * pgs, /* If we are in a pattern accumulator, we choose to always grid fit * orthogonal images. We do this by asking the device whether we * should grid fit. This allows us to avoid nasty blank lines around - * the edges of cells. + * the edges of cells. Similarly, for smasks. */ - gridfitimages = in_pattern_accumulator && orthogonal; + in_smask = (pim->override_in_smask || + (dev_proc(dev, dev_spec_op)(dev, gxdso_in_smask, NULL, 0)) > 0); + gridfitimages = (in_smask || in_pattern_accumulator) && orthogonal; if (pgs != NULL && pgs->show_gstate != NULL) { /* If we're a graphics state, and we're in a text object, then we @@ -970,7 +973,7 @@ gx_image_enum_begin(gx_device * dev, const gs_gstate * pgs, code = gx_alloc_rop_texture_device(&rtdev, mem, "image RasterOp"); if (code < 0) - return code; + goto fail; /* The 'target' must not be NULL for gx_make_rop_texture_device */ if (!penum->clip_dev && !dev) return_error(gs_error_undefined); @@ -1036,6 +1039,7 @@ gx_image_enum_begin(gx_device * dev, const gs_gstate * pgs, fail: gs_free_object(mem, buffer, "image buffer"); gs_free_object(mem, penum->clues, "gx_image_enum_begin"); + gs_free_object(mem, penum->clip_dev, "image clipper"); gs_free_object(mem, penum, "gx_begin_image1"); return code; } diff --git a/base/gxiscale.c b/base/gxiscale.c index 72e32572..3eec2f7d 100644 --- a/base/gxiscale.c +++ b/base/gxiscale.c @@ -1204,6 +1204,7 @@ image_render_interpolate(gx_image_enum * penum, const byte * buffer, int scaled_x_prev = 0; gx_dda_fixed save_x_dda = pss->params.scale_dda.x; + devc.type = gx_dc_type_none; /* Needed for coverity, in call to color_is_pure() if color_handler is NULL. */ stream_w.limit = out + pss->params.WidthOut * max(spp_decode * sizeofPixelOut, ARCH_SIZEOF_COLOR_INDEX) - 1; stream_w.ptr = stream_w.limit - width * spp_decode * sizeofPixelOut; diff --git a/base/gxmclip.c b/base/gxmclip.c index bad2c369..dcefa823 100644 --- a/base/gxmclip.c +++ b/base/gxmclip.c @@ -89,7 +89,9 @@ gx_mask_clip_initialize(gx_device_mask_clip * cdev, for (;;) { ulong bitmap_size = max_ulong; - if (buffer_height <= 0) { + /* Bug 702124: Allow for the case when size.y == 0 - then + * buffer_height will be zero, and it's not a VMerror. */ + if (bits->size.y > 0 && buffer_height <= 0) { /* * The tile is too wide to buffer even one scan line. * We could do copy_mono in chunks, but for now, we punt. diff --git a/base/gxpaint.c b/base/gxpaint.c index 9ea236eb..19e56b43 100644 --- a/base/gxpaint.c +++ b/base/gxpaint.c @@ -73,6 +73,30 @@ gx_stroke_fill(gx_path * ppath, gs_gstate * pgs) } int +gx_fill_stroke_path(gs_gstate * pgs, int rule) +{ + gx_device *dev = gs_currentdevice_inline(pgs); + gx_clip_path *pcpath; + int code = gx_effective_clip_path(pgs, &pcpath); + gx_stroke_params stroke_params; + gx_fill_params fill_params; + + if (code < 0) + return code; + fill_params.rule = rule; + fill_params.adjust.x = pgs->fill_adjust.x; + fill_params.adjust.y = pgs->fill_adjust.y; + fill_params.flatness = (caching_an_outline_font(pgs) ? 0.0 : pgs->flatness); + stroke_params.flatness = (caching_an_outline_font(pgs) ? 0.0 : pgs->flatness); + stroke_params.traditional = false; + return (*dev_proc(dev, fill_stroke_path)) + (dev, (const gs_gstate *)pgs, pgs->path, + &fill_params, gs_currentdevicecolor_inline(pgs), + &stroke_params, gs_altdevicecolor_inline(pgs), + pcpath); +} + +int gx_stroke_add(gx_path * ppath, gx_path * to_path, const gs_gstate * pgs, bool traditional) { diff --git a/base/gxpaint.h b/base/gxpaint.h index e3e56e66..558e3978 100644 --- a/base/gxpaint.h +++ b/base/gxpaint.h @@ -36,6 +36,8 @@ int gx_fill_path(gx_path * ppath, gx_device_color * pdevc, gs_gstate * pgs, int rule, fixed adjust_x, fixed adjust_y); int gx_stroke_fill(gx_path * ppath, gs_gstate * pgs); int gx_stroke_add(gx_path *ppath, gx_path *to_path, const gs_gstate * pgs, bool traditional); +int gx_fill_stroke_path(gs_gstate *pgs, int rule); + /* * gx_gstate_stroke_add needs a device for the sake of absolute-length * dots (and for no other reason). diff --git a/base/gxpath.h b/base/gxpath.h index 505353a8..3c8d4124 100644 --- a/base/gxpath.h +++ b/base/gxpath.h @@ -309,6 +309,7 @@ int gx_clip_to_rectangle(gs_gstate *, gs_fixed_rect *); int gx_clip_to_path(gs_gstate *); int gx_default_clip_box(const gs_gstate *, gs_fixed_rect *); int gx_effective_clip_path(gs_gstate *, gx_clip_path **); +int gx_curr_fixed_bbox(gs_gstate * pgs, gs_fixed_rect *bbox, gs_bbox_comp_t comp_type); int gx_curr_bbox(gs_gstate * pgs, gs_rect *bbox, gs_bbox_comp_t comp_type); diff --git a/base/gxpath2.c b/base/gxpath2.c index 49cad4d7..ed795ca5 100644 --- a/base/gxpath2.c +++ b/base/gxpath2.c @@ -58,6 +58,9 @@ gx_path_subpath_start_point(const gx_path * ppath, gs_fixed_point * ppt) int gx_path_bbox(gx_path * ppath, gs_fixed_rect * pbox) { + if (ppath == NULL) { + return_error(gs_error_unknownerror) ; + } if (ppath->bbox_accurate) { /* The bounding box was set by setbbox. */ *pbox = ppath->bbox; diff --git a/base/gxpcmap.c b/base/gxpcmap.c index ea81fb00..ebd1de22 100644 --- a/base/gxpcmap.c +++ b/base/gxpcmap.c @@ -180,7 +180,8 @@ static const gx_device_pattern_accum gs_pattern_accum_device = gx_default_strip_tile_rect_devn, NULL, /* alpha_hl_color */ NULL, /* process_page */ - gx_default_transform_pixel_region /* NOT the default forwarding one */ + gx_default_transform_pixel_region, /* NOT the default forwarding one */ + gx_default_fill_stroke_path, }, 0, /* target */ 0, 0, 0, 0 /* bitmap_memory, bits, mask, instance */ @@ -341,6 +342,23 @@ gx_pattern_accum_alloc(gs_memory_t * mem, gs_memory_t * storage_memory, return fdev; } +gx_pattern_trans_t* +new_pattern_trans_buff(gs_memory_t *mem) +{ + gx_pattern_trans_t *result; + + /* Allocate structure that we will use for the trans pattern */ + result = gs_alloc_struct(mem, gx_pattern_trans_t, &st_pattern_trans, "new_pattern_trans_buff"); + result->transbytes = NULL; + result->pdev14 = NULL; + result->mem = NULL; + result->fill_trans_buffer = NULL; + result->buf = NULL; + result->n_chan = 0; + + return(result); +} + /* * Initialize a pattern accumulator. * Client must already have set instance and bitmap_memory. @@ -392,14 +410,9 @@ pattern_accum_open(gx_device * dev) do this since the transparency code all */ if (pinst->templat.uses_transparency) { /* Allocate structure that we will use for the trans pattern */ - padev->transbuff = gs_alloc_struct(mem,gx_pattern_trans_t,&st_pattern_trans,"pattern_accum_open(trans)"); - padev->transbuff->transbytes = NULL; - padev->transbuff->mem = NULL; - padev->transbuff->pdev14 = NULL; - padev->transbuff->fill_trans_buffer = NULL; - /* n_chan = 0 => padev->transbuff isn't inited. */ - padev->transbuff->n_chan = 0; - padev->transbuff->buf = NULL; + padev->transbuff = new_pattern_trans_buff(mem); + if (padev->transbuff == NULL) + return_error(gs_error_VMerror); } else { padev->transbuff = NULL; } @@ -496,21 +509,6 @@ pattern_accum_open(gx_device * dev) return code; } -gx_pattern_trans_t* -new_pattern_trans_buff(gs_memory_t *mem) -{ - gx_pattern_trans_t *result; - - /* Allocate structure that we will use for the trans pattern */ - result = gs_alloc_struct(mem, gx_pattern_trans_t, &st_pattern_trans, "new_pattern_trans_buff"); - result->transbytes = NULL; - result->pdev14 = NULL; - result->mem = NULL; - result->fill_trans_buffer = NULL; - - return(result); -} - /* Close an accumulator and free the bits. */ static int pattern_accum_close(gx_device * dev) @@ -907,12 +905,14 @@ gstate_set_pattern_cache(gs_gstate * pgs, gx_pattern_cache * pcache) } /* Free a Pattern cache entry. */ +/* This will not free a pattern if it is 'locked' which should only be for */ +/* a stroke pattern during fill_stroke_path. */ static void gx_pattern_cache_free_entry(gx_pattern_cache * pcache, gx_color_tile * ctile) { gx_device *temp_device; - if ((ctile->id != gx_no_bitmap_id) && !ctile->is_dummy) { + if ((ctile->id != gx_no_bitmap_id) && !ctile->is_dummy && !ctile->is_locked) { gs_memory_t *mem = pcache->memory; /* @@ -991,18 +991,25 @@ gx_pattern_cache_ensure_space(gs_gstate * pgs, int needed) { int code = ensure_pattern_cache(pgs); gx_pattern_cache *pcache; + int start_free_id; if (code < 0) return; /* no cache -- just exit */ pcache = pgs->pattern_cache; - + start_free_id = pcache->next; /* for scan wrap check */ /* If too large then start freeing entries */ - /* By starting at 'next', we attempt to first free the oldest entries */ + /* By starting just after 'next', we attempt to first free the oldest entries */ while (pcache->bits_used + needed > pcache->max_bits && pcache->bits_used != 0) { pcache->next = (pcache->next + 1) % pcache->num_tiles; gx_pattern_cache_free_entry(pcache, &pcache->tiles[pcache->next]); + /* since a pattern may be temporarily locked (stroke pattern for fill_stroke_path) */ + /* we may not have freed all entries even though we've scanned the entire cache. */ + /* The following check for wrapping prevents infinite loop if stroke pattern was */ + /* larger than pcache->max_bits, */ + if (pcache->next == start_free_id) + break; /* we wrapped -- cache may not be empty */ } } @@ -1025,7 +1032,7 @@ gx_pattern_cache_update_used(gs_gstate *pgs, ulong used) static void make_bitmap(gx_strip_bitmap *, const gx_device_memory *, gx_bitmap_id, const gs_memory_t *); int gx_pattern_cache_add_entry(gs_gstate * pgs, - gx_device_forward * fdev, gx_color_tile ** pctile) + gx_device_forward * fdev, gx_color_tile ** pctile, gs_gstate* saved) { gx_pattern_cache *pcache; const gs_pattern1_instance_t *pinst; @@ -1070,8 +1077,8 @@ gx_pattern_cache_add_entry(gs_gstate * pgs, * being 0. */ if (mmask != 0 && - fabsf(pinst->step_matrix.tx) <= pinst->size.x && - fabsf(pinst->step_matrix.ty) <= pinst->size.y && + fabsf(pinst->step_matrix.xx) <= pinst->size.x && + fabsf(pinst->step_matrix.yy) <= pinst->size.y && pinst->step_matrix.xy == 0 && pinst->step_matrix.yx == 0) { int y; @@ -1133,10 +1140,14 @@ gx_pattern_cache_add_entry(gs_gstate * pgs, ctile->is_simple = pinst->is_simple; ctile->has_overlap = pinst->has_overlap; ctile->is_dummy = false; - if (pinst->templat.uses_transparency) - ctile->blending_mode = ((pdf14_device *)(pgs->device))->blend_mode; + ctile->is_locked = false; + if (pinst->templat.uses_transparency) { + /* to work with pdfi get the blend mode out of the saved pgs device */ + ctile->blending_mode = ((pdf14_device*)(saved->device))->blend_mode; + } else ctile->blending_mode = 0; + ctile->trans_group_popped = false; if (dev_proc(fdev, open_device) != pattern_clist_open_device) { if (mbits != 0) { make_bitmap(&ctile->tbits, mbits, gs_next_ids(pgs->memory, 1), pgs->memory); @@ -1181,6 +1192,26 @@ gx_pattern_cache_add_entry(gs_gstate * pgs, return 0; } +/* set or clear the 'is_locked' flag for a tile in the cache. Used by */ +/* fill_stroke_path to make sure a large stroke pattern stays in the */ +/* cache even if the fill is also a pattern. */ +int +gx_pattern_cache_entry_set_lock(gs_gstate *pgs, gs_id id, bool new_lock_value) +{ + gx_pattern_cache *pcache; + gx_color_tile *ctile; + int code = ensure_pattern_cache(pgs); + + if (code < 0) + return code; + pcache = pgs->pattern_cache; + ctile = &pcache->tiles[id % pcache->num_tiles]; + if (ctile->id != id) + return_error(gs_error_undefined); + ctile->is_locked = new_lock_value; + return 0; +} + /* Get entry for reading a pattern from clist. */ int gx_pattern_cache_get_entry(gs_gstate * pgs, gs_id id, gx_color_tile ** pctile) @@ -1230,6 +1261,7 @@ gx_pattern_cache_add_dummy_entry(gs_gstate *pgs, ctile->is_simple = pinst->is_simple; ctile->has_overlap = pinst->has_overlap; ctile->is_dummy = true; + ctile->is_locked = false; memset(&ctile->tbits, 0 , sizeof(ctile->tbits)); ctile->tbits.size = pinst->size; ctile->tbits.id = gs_no_bitmap_id; @@ -1366,6 +1398,7 @@ gx_pattern_cache_winnow(gx_pattern_cache * pcache, for (i = 0; i < pcache->num_tiles; ++i) { gx_color_tile *ctile = &pcache->tiles[i]; + ctile->is_locked = false; /* force freeing */ if (ctile->id != gx_no_bitmap_id && (*proc) (ctile, proc_data)) gx_pattern_cache_free_entry(pcache, ctile); } @@ -1501,6 +1534,7 @@ gx_pattern_load(gx_device_color * pdc, const gs_gstate * pgs, gs_free_object(((gx_device_pattern_accum *)adev)->bitmap_memory, ((gx_device_pattern_accum *)adev)->transbuff, "gx_pattern_load"); + ((gx_device_pattern_accum *)adev)->transbuff = NULL; } dev_proc(adev, close_device)((gx_device *)adev); /* adev was the target of the pdf14 device, so also is no longer retained */ @@ -1537,7 +1571,7 @@ gx_pattern_load(gx_device_color * pdc, const gs_gstate * pgs, } /* We REALLY don't like the following cast.... */ code = gx_pattern_cache_add_entry((gs_gstate *)pgs, - adev, &ctile); + adev, &ctile, saved); if (code >= 0) { if (!gx_pattern_cache_lookup(pdc, pgs, dev, select)) { mlprintf(mem, "Pattern cache lookup failed after insertion!\n"); diff --git a/base/gxpcolor.h b/base/gxpcolor.h index c12fa31a..38cd625b 100644 --- a/base/gxpcolor.h +++ b/base/gxpcolor.h @@ -214,17 +214,17 @@ struct gx_color_tile_s { byte has_overlap; /* true if step size is smaller than bounding box */ byte is_dummy; /* if true, the device manages the pattern, and the content of the tile is empty. */ - byte pad[2]; /* structure members alignment. */ - /* The following is neither key nor value. */ - uint index; /* the index of the tile within */ - bool trans_group_popped; /* Used to avoid multiple group pops in image mask fills */ - bool is_planar; /* Has to be stored here due to the device + byte trans_group_popped; /* Used to avoid multiple group pops in image mask fills */ + byte is_planar; /* Has to be stored here due to the device change that can occur when the tile is created and when it is written in the clist when we are writing to a transparency device which, is not planar but the target is */ - /* the cache (for GC) */ + byte is_locked; /* stroke patterns cannot be freed during fill_stroke_path */ + byte pad[2]; /* structure members alignment. */ + /* The following is neither key nor value. */ + uint index; /* the index of the tile within the cache (for GC) */ }; #define private_st_color_tile() /* in gxpcmap.c */\ @@ -306,12 +306,15 @@ void gx_pattern_cache_update_space(gs_gstate * pgs, int64_t used); /* device, but it may zero out the bitmap_memory pointers to prevent */ /* the accumulated bitmaps from being freed when the device is closed. */ int gx_pattern_cache_add_entry(gs_gstate *, gx_device_forward *, - gx_color_tile **); + gx_color_tile **, gs_gstate*); /* Add a dummy Pattern cache entry. Stubs a pattern tile for interpreter when device handles high level patterns. */ int gx_pattern_cache_add_dummy_entry(gs_gstate *pgs, gs_pattern1_instance_t *pinst, int depth); +/* set or clear the lock for a tile in the cache. Returns error if tile not in cache */ +int gx_pattern_cache_entry_set_lock(gs_gstate * pgs, gs_id id, bool new_lock_value); + /* Get entry for reading a pattern from clist. */ int gx_pattern_cache_get_entry(gs_gstate * pgs, gs_id id, gx_color_tile ** pctile); diff --git a/base/gxscanc.c b/base/gxscanc.c index f754624a..1a4bb23c 100644 --- a/base/gxscanc.c +++ b/base/gxscanc.c @@ -3449,7 +3449,7 @@ static void mark_line_tr_app(cursor_tr * gs_restrict cr, fixed sx, fixed sy, fix int64_t y = (int64_t)ey - (int64_t)sy; fixed new_sy = int2fixed(cr->base); int64_t dy = (int64_t)new_sy - (int64_t)sy; - sx += (int)((((int64_t)(ex-sx))*dy + y/2)/y); + sx += (int)(((((int64_t)ex-sx))*dy + y/2)/y); sy = new_sy; cursor_null_tr(cr); cr->y = sy; @@ -3463,7 +3463,7 @@ static void mark_line_tr_app(cursor_tr * gs_restrict cr, fixed sx, fixed sy, fix int64_t dy = (int64_t)ey - (int64_t)new_ey; saved_ex = ex; saved_ey = ey; - ex -= (int)((((int64_t)(ex-sx))*dy + y/2)/y); + ex -= (int)(((((int64_t)ex-sx))*dy + y/2)/y); ey = new_ey; iey = cr->scanlines; } @@ -3489,7 +3489,7 @@ static void mark_line_tr_app(cursor_tr * gs_restrict cr, fixed sx, fixed sy, fix int64_t y = (int64_t)ey - (int64_t)sy; fixed new_ey = int2fixed(cr->base); int64_t dy = (int64_t)ey - (int64_t)new_ey; - ex -= (int)((((int64_t)(ex-sx))*dy + y/2)/y); + ex -= (int)(((((int64_t)ex-sx))*dy + y/2)/y); ey = new_ey; iey = 0; } @@ -3498,7 +3498,7 @@ static void mark_line_tr_app(cursor_tr * gs_restrict cr, fixed sx, fixed sy, fix int64_t y = (int64_t)ey - (int64_t)sy; fixed new_sy = int2fixed(cr->base + cr->scanlines); int64_t dy = (int64_t)new_sy - (int64_t)sy; - sx += (int)((((int64_t)(ex-sx))*dy + y/2)/y); + sx += (int)(((((int64_t)ex-sx))*dy + y/2)/y); sy = new_sy; cursor_null_tr(cr); cr->y = sy; diff --git a/base/gxstroke.c b/base/gxstroke.c index a15a22c9..52c15437 100644 --- a/base/gxstroke.c +++ b/base/gxstroke.c @@ -105,13 +105,18 @@ int gx_stroke_path_expansion(const gs_gstate * pgs, const gx_path * ppath, gs_fixed_point * ppt) { - const subpath *psub = ppath->first_subpath; + const subpath *psub; const segment *pseg; double cx = fabs(pgs->ctm.xx) + fabs(pgs->ctm.yx); double cy = fabs(pgs->ctm.xy) + fabs(pgs->ctm.yy); double expand = pgs->line_params.half_width; int result = 1; + if (ppath == NULL) { + ppt->x = ppt->y = 0; + return 0; /* no expansion */ + } + psub = ppath->first_subpath; /* Adjust the expansion (E) for square caps, if needed */ if (pgs->line_params.start_cap == gs_cap_square || pgs->line_params.end_cap == gs_cap_square) @@ -1053,9 +1058,9 @@ gx_stroke_path_only_aux(gx_path * ppath, gx_path * to_path, gx_device * pdev, gx_path_free(&stroke_path_body, "gx_stroke_path_only error"); /* (only needed if error) */ if (to_path_reverse == &stroke_path_reverse) gx_path_free(&stroke_path_reverse, "gx_stroke_path_only error"); + exf: if (dash_count) gx_path_free(&dpath, "gx_stroke_path exit(dash path)"); - exf: if (ppath->curve_count) gx_path_free(&fpath, "gx_stroke_path exit(flattened path)"); return code; diff --git a/base/jbig2.mak b/base/jbig2.mak index eba11f52..c3d275b9 100644 --- a/base/jbig2.mak +++ b/base/jbig2.mak @@ -43,39 +43,40 @@ JBIG2OBJ=$(JBIG2OBJDIR)$(D) libjbig2_OBJS1=\ $(JBIG2OBJ)jbig2.$(OBJ) \ $(JBIG2OBJ)jbig2_arith.$(OBJ) \ - $(JBIG2OBJ)jbig2_arith_iaid.$(OBJ) \ - $(JBIG2OBJ)jbig2_arith_int.$(OBJ) \ - $(JBIG2OBJ)jbig2_generic.$(OBJ) \ - $(JBIG2OBJ)jbig2_refinement.$(OBJ) \ - $(JBIG2OBJ)jbig2_huffman.$(OBJ) \ - $(JBIG2OBJ)jbig2_image.$(OBJ) \ - $(JBIG2OBJ)jbig2_mmr.$(OBJ) + $(JBIG2OBJ)jbig2_arith_iaid.$(OBJ) \ + $(JBIG2OBJ)jbig2_arith_int.$(OBJ) \ + $(JBIG2OBJ)jbig2_generic.$(OBJ) \ + $(JBIG2OBJ)jbig2_refinement.$(OBJ) \ + $(JBIG2OBJ)jbig2_huffman.$(OBJ) \ + $(JBIG2OBJ)jbig2_hufftab.$(OBJ) \ + $(JBIG2OBJ)jbig2_image.$(OBJ) \ + $(JBIG2OBJ)jbig2_mmr.$(OBJ) libjbig2_OBJS2=\ $(JBIG2OBJ)jbig2_page.$(OBJ) \ - $(JBIG2OBJ)jbig2_segment.$(OBJ) \ - $(JBIG2OBJ)jbig2_symbol_dict.$(OBJ) \ - $(JBIG2OBJ)jbig2_text.$(OBJ) \ - $(JBIG2OBJ)jbig2_halftone.$(OBJ) \ - $(JBIG2_EXTRA_OBJS) + $(JBIG2OBJ)jbig2_segment.$(OBJ) \ + $(JBIG2OBJ)jbig2_symbol_dict.$(OBJ) \ + $(JBIG2OBJ)jbig2_text.$(OBJ) \ + $(JBIG2OBJ)jbig2_halftone.$(OBJ) \ + $(JBIG2_EXTRA_OBJS) libjbig2_OBJS=$(libjbig2_OBJS1) $(libjbig2_OBJS2) libjbig2_HDRS=\ - $(JBIG2SRC)jbig2.h \ - $(JBIG2SRC)jbig2_arith.h \ - $(JBIG2SRC)jbig2_arith_iaid.h \ - $(JBIG2SRC)jbig2_arith_int.h \ - $(JBIG2SRC)jbig2_generic.h \ - $(JBIG2SRC)jbig2_huffman.h \ - $(JBIG2SRC)jbig2_hufftab.h \ - $(JBIG2SRC)jbig2_image.h \ - $(JBIG2SRC)jbig2_mmr.h \ - $(JBIG2SRC)jbig2_priv.h \ - $(JBIG2SRC)jbig2_symbol_dict.h \ - $(JBIG2SRC)jbig2_text.h \ - $(JBIG2SRC)jbig2_halftone.h \ - $(JBIG2SRC)config_win32.h + $(JBIG2SRC)jbig2.h \ + $(JBIG2SRC)jbig2_arith.h \ + $(JBIG2SRC)jbig2_arith_iaid.h \ + $(JBIG2SRC)jbig2_arith_int.h \ + $(JBIG2SRC)jbig2_generic.h \ + $(JBIG2SRC)jbig2_huffman.h \ + $(JBIG2SRC)jbig2_hufftab.h \ + $(JBIG2SRC)jbig2_image.h \ + $(JBIG2SRC)jbig2_mmr.h \ + $(JBIG2SRC)jbig2_priv.h \ + $(JBIG2SRC)jbig2_symbol_dict.h \ + $(JBIG2SRC)jbig2_text.h \ + $(JBIG2SRC)jbig2_halftone.h \ + $(JBIG2SRC)config_win32.h jbig2dec_OBJS=$(JBIG2OBJ)getopt.$(OBJ) $(JBIG2OBJ)getopt1.$(OBJ) $(JBIG2OBJ)sha1.$(OBJ) jbig2dec_HDRS=$(JBIG2OBJ)getopt.h $(JBIG2OBJ)sha1.h @@ -140,6 +141,9 @@ $(JBIG2OBJ)jbig2_refinement.$(OBJ) : $(JBIG2SRC)jbig2_refinement.c $(libjbig2_HD $(JBIG2OBJ)jbig2_huffman.$(OBJ) : $(JBIG2SRC)jbig2_huffman.c $(libjbig2_HDRS) $(JBIG2DEP) $(JBIG2_MAK) $(MAKEDIRS) $(JBIG2_CC) $(JBIG2O_)jbig2_huffman.$(OBJ) $(C_) $(JBIG2SRC)jbig2_huffman.c +$(JBIG2OBJ)jbig2_hufftab.$(OBJ) : $(JBIG2SRC)jbig2_hufftab.c $(libjbig2_HDRS) $(JBIG2DEP) $(JBIG2_MAK) $(MAKEDIRS) + $(JBIG2_CC) $(JBIG2O_)jbig2_hufftab.$(OBJ) $(C_) $(JBIG2SRC)jbig2_hufftab.c + $(JBIG2OBJ)jbig2_image.$(OBJ) : $(JBIG2SRC)jbig2_image.c $(libjbig2_HDRS) $(JBIG2DEP) $(JBIG2_MAK) $(MAKEDIRS) $(JBIG2_CC) $(JBIG2O_)jbig2_image.$(OBJ) $(C_) $(JBIG2SRC)jbig2_image.c diff --git a/base/lcupsi.mak b/base/lcupsi.mak index 0cfe2044..33f78124 100644 --- a/base/lcupsi.mak +++ b/base/lcupsi.mak @@ -40,7 +40,7 @@ LCUPSI_MAK=$(GLSRC)lcupsi.mak $(TOP_MAKEFILES) LIBCUPSI_OBJS =\ $(LIBCUPSIOBJ)error.$(OBJ) \ $(LIBCUPSIOBJ)interpret.$(OBJ) \ - $(LIBCUPSIOBJ)raster.$(OBJ) + $(LIBCUPSIOBJ)cupsraster.$(OBJ) LIBCUPSI_DEPS = \ $(LIBCUPSISRC)common.h $(LCUPSI_MAK) \ @@ -120,6 +120,6 @@ $(LIBCUPSIOBJ)error.$(OBJ) : $(LIBCUPSISRC)error.c $(LIBCUPSI_DEPS) $(LIBCUPSIOBJ)interpret.$(OBJ) : $(LIBCUPSISRC)interpret.c $(LIBCUPSI_DEPS) $(LCUPSI_CC) $(LCUPSIO_)interpret.$(OBJ) $(C_) $(LIBCUPSISRC)interpret.c -$(LIBCUPSIOBJ)raster.$(OBJ) : $(LIBCUPSISRC)raster.c $(LIBCUPSI_DEPS) - $(LCUPSI_CC) $(LCUPSIO_)raster.$(OBJ) $(C_) $(LIBCUPSISRC)raster.c +$(LIBCUPSIOBJ)cupsraster.$(OBJ) : $(LIBCUPSISRC)cupsraster.c $(LIBCUPSI_DEPS) + $(LCUPSI_CC) $(LCUPSIO_)cupsraster.$(OBJ) $(C_) $(LIBCUPSISRC)cupsraster.c diff --git a/base/lib.mak b/base/lib.mak index 5772b8d9..ac5eae19 100644 --- a/base/lib.mak +++ b/base/lib.mak @@ -153,6 +153,15 @@ jpeglib__h=$(GLGEN)jpeglib_.h cal_h=$(CALSRCDIR)$(D)cal.h +# The following would logically be better in freetype.mak +# but we need it for fapi_ft.c below +FTCONFH=gsftopts.h +GENFTCONFH=$(FTGENDIR)$(D)$(FTCONFH) +BASEFTCONFH=$(GLSRC)$(FTCONFH) + +$(GENFTCONFH) : $(BASEFTCONFH) $(MAKEDIRS) + $(CP_) $(BASEFTCONFH) $(GENFTCONFH) + # Miscellaneous gsio_h=$(GLSRC)gsio.h @@ -374,16 +383,16 @@ $(GLOBJ)gsserial.$(OBJ) : $(GLSRC)gsserial.c $(stdpre_h) $(gstypes_h)\ $(GLOBJ)gsutil.$(OBJ) : $(GLSRC)gsutil.c $(AK) $(memory__h)\ $(string__h) $(gstypes_h) $(gserrors_h) $(gsmemory_h)\ - $(gsrect_h) $(gsuid_h) $(gsutil_h) $(gzstate_h) $(gxdcolor_h) $(LIB_MAK) $(MAKEDIRS) + $(gsrect_h) $(gsuid_h) $(gsutil_h) $(LIB_MAK) $(MAKEDIRS) $(GLCC) $(GLO_)gsutil.$(OBJ) $(C_) $(GLSRC)gsutil.c $(AUX)gsutil.$(OBJ) : $(GLSRC)gsutil.c $(AK) $(memory__h) $(string__h)\ $(gstypes_h) $(gserrors_h) $(gsmemory_h)\ - $(gsrect_h) $(gsuid_h) $(gsutil_h) $(gzstate_h) $(gxdcolor_h) $(LIB_MAK) $(MAKEDIRS) + $(gsrect_h) $(gsuid_h) $(gsutil_h) $(LIB_MAK) $(MAKEDIRS) $(GLCCAUX) $(C_) $(AUXO_)gsutil.$(OBJ) $(GLSRC)gsutil.c -$(GLOBJ)gssprintf.$(OBJ) : $(GLSRC)gssprintf.c $(gssprintf_h) $(stdio__h) \ - $(stdint__h) $(string__h) $(math__h) +$(GLOBJ)gssprintf.$(OBJ) : $(GLSRC)gssprintf.c $(gssprintf_h) $(unistd__h) \ + $(gp_h) $(stdio__h) $(stdint__h) $(string__h) $(math__h) $(GLCC) $(GLO_)gssprintf.$(OBJ) $(C_) $(GLSRC)gssprintf.c $(GLOBJ)gsstrtok.$(OBJ) : $(GLSRC)gsstrtok.c $(gsstrtok_h) $(string__h) @@ -595,6 +604,7 @@ spprint_h=$(GLSRC)spprint.h spsdf_h=$(GLSRC)spsdf.h srlx_h=$(GLSRC)srlx.h spwgx_h=$(GLSRC)spwgx.h +surfx_h=$(SURFX_H) sstring_h=$(GLSRC)sstring.h strimpl_h=$(GLSRC)strimpl.h szlibx_h=$(GLSRC)szlibx.h @@ -951,8 +961,9 @@ $(GLOBJ)gscicach.$(OBJ) : $(GLSRC)gscicach.c $(AK) $(gx_h)\ $(GLCC) $(GLO_)gscicach.$(OBJ) $(C_) $(GLSRC)gscicach.c $(GLOBJ)gsovrc.$(OBJ) : $(GLSRC)gsovrc.c $(AK) $(gx_h) $(gserrors_h)\ - $(memory__h) $(gsutil_h) $(gxcomp_h) $(gxdevice_h) $(gsdevice_h) $(gxgetbit_h)\ - $(gsovrc_h) $(gxdcolor_h) $(gxoprect_h) $(gsbitops_h) $(gxgstate_h) $(LIB_MAK) $(MAKEDIRS) + $(assert__h) $(memory__h) $(gsutil_h) $(gxcomp_h) $(gxdevice_h) $(gsdevice_h)\ + $(gxgetbit_h) $(gsovrc_h) $(gxdcolor_h) $(gxoprect_h) $(gsbitops_h) $(gxgstate_h)\ + $(gxdevsop_h) $(gxcldev_h) $(LIB_MAK) $(MAKEDIRS) $(GLCC) $(GLO_)gsovrc.$(OBJ) $(C_) $(GLSRC)gsovrc.c $(GLOBJ)gxoprect.$(OBJ) : $(GLSRC)gxoprect.c $(AK) $(gx_h)\ @@ -1050,7 +1061,7 @@ $(GLOBJ)gspaint.$(OBJ) : $(GLSRC)gspaint.c $(AK) $(gx_h) $(gserrors_h)\ $(math__h) $(gpcheck_h) $(gsropt_h) $(gxfixed_h) $(gxmatrix_h) $(gspaint_h)\ $(gspath_h) $(gzpath_h) $(gxpaint_h) $(gzstate_h) $(gxdevice_h) $(gxdevmem_h)\ $(gzcpath_h) $(gxhldevc_h) $(gsutil_h) $(gxdevsop_h) $(gsicc_cms_h)\ - $(gdevepo_h) $(gxscanc_h) $(LIB_MAK) $(MAKEDIRS) + $(gdevepo_h) $(gxscanc_h) $(gxpcolor_h) $(LIB_MAK) $(MAKEDIRS) $(GLCC) $(GLO_)gspaint.$(OBJ) $(C_) $(GLSRC)gspaint.c $(GLOBJ)gsparam.$(OBJ) : $(GLSRC)gsparam.c $(AK) $(gx_h) $(gserrors_h)\ @@ -1089,7 +1100,7 @@ $(GLOBJ)gsstate.$(OBJ) : $(GLSRC)gsstate.c $(AK) $(gx_h) $(gserrors_h)\ $(GLOBJ)gstext.$(OBJ) : $(GLSRC)gstext.c $(AK) $(memory__h) $(gdebug_h)\ $(gserrors_h) $(gsmemory_h) $(gsstruct_h) $(gstypes_h)\ $(gxfcache_h) $(gxdevcli_h) $(gxdcolor_h) $(gxfont_h) $(gxpath_h)\ - $(gxtext_h) $(gzstate_h) $(gsutil_h) $(LIB_MAK) $(MAKEDIRS) + $(gxtext_h) $(gzstate_h) $(gsutil_h) $(gxdevsop_h) $(LIB_MAK) $(MAKEDIRS) $(GLCC) $(GLO_)gstext.$(OBJ) $(C_) $(GLSRC)gstext.c # We make gsiodevs a separate module so the PS interpreter can replace it. @@ -1308,12 +1319,22 @@ $(GLD)fapif1.dev : $(INT_MAK) $(ECHOGS_XE) $(GLOBJ)fapi_ft.$(OBJ) \ $(ADDMOD) $(GLD)fapif1 -include $(GLD)freetype $(ADDMOD) $(GLD)fapif1 -fapi fapi_ft -$(GLOBJ)fapi_ft.$(OBJ) : $(GLSRC)fapi_ft.c $(AK)\ +$(GLOBJ)fapi_ft_0.$(OBJ) : $(GLSRC)fapi_ft.c $(AK)\ + $(stdio__h) $(malloc__h) $(write_t1_h) $(write_t2_h) $(math__h) $(gserrors_h)\ + $(gsmemory_h) $(gsmalloc_h) $(gxfixed_h) $(gdebug_h) $(gxbitmap_h)\ + $(gsmchunk_h) $(stream_h) $(gxiodev_h) $(gsfname_h) $(gxfapi_h) $(gxfont1_h)\ + $(gxfont_h) $(BASEFTCONFH) $(LIB_MAK) $(MAKEDIRS) + $(GLCC) $(FT_CFLAGS) $(D_)FT_CONFIG_OPTIONS_H=\"$(FTCONFH)\"$(_D) $(GLO_)fapi_ft_0.$(OBJ) $(C_) $(GLSRC)fapi_ft.c + +$(GLOBJ)fapi_ft_1.$(OBJ) : $(GLSRC)fapi_ft.c $(AK)\ $(stdio__h) $(malloc__h) $(write_t1_h) $(write_t2_h) $(math__h) $(gserrors_h)\ $(gsmemory_h) $(gsmalloc_h) $(gxfixed_h) $(gdebug_h) $(gxbitmap_h)\ $(gsmchunk_h) $(stream_h) $(gxiodev_h) $(gsfname_h) $(gxfapi_h) $(gxfont1_h)\ - $(gxfont_h) $(LIB_MAK) $(MAKEDIRS) - $(GLCC) $(FT_CFLAGS) $(GLO_)fapi_ft.$(OBJ) $(C_) $(GLSRC)fapi_ft.c + $(gxfont_h) $(BASEFTCONFH) $(LIB_MAK) $(MAKEDIRS) + $(GLCC) $(FT_CFLAGS) $(GLO_)fapi_ft_1.$(OBJ) $(C_) $(GLSRC)fapi_ft.c + +$(GLOBJ)fapi_ft.$(OBJ) : $(GLOBJ)fapi_ft_$(SHARE_FT).$(OBJ) + $(CP_) $(GLOBJ)fapi_ft_$(SHARE_FT).$(OBJ) $(GLOBJ)fapi_ft.$(OBJ) # stub for FreeType bridge : @@ -1363,18 +1384,29 @@ ets_h=$(GLSRC)ets.h ets_tm_h=$(GLSRC)ets_tm.h ets=$(GLOBJ)ets.$(OBJ) -$(GLOBJ)ets.$(OBJ) : $(GLSRC)ets.c $(AK) \ +$(GLOBJ)ets_0.$(OBJ) : $(GLSRC)ets.c $(AK) \ $(ets_h) $(ets_tm_h) $(LIB_MAK) $(MAKEDIRS) - $(GLCC) $(GLO_)ets.$(OBJ) $(C_) $(GLSRC)ets.c + $(GLCC) $(GLO_)ets_0.$(OBJ) $(C_) $(GLSRC)ets.c + +$(GLOBJ)ets.$(OBJ) : $(GLOBJ)ets_$(WITH_CAL).$(OBJ) $(AK) $(gp_h) + $(CP_) $(GLOBJ)ets_$(WITH_CAL).$(OBJ) $(GLOBJ)ets.$(OBJ) # ----------- Downsampling routines ------------ # gxdownscale_h=$(GLSRC)gxdownscale.h downscale_=$(GLOBJ)gxdownscale.$(OBJ) $(claptrap) $(ets) -$(GLOBJ)gxdownscale.$(OBJ) : $(GLSRC)gxdownscale.c $(AK) $(string__h)\ +$(GLOBJ)gxdownscale_0.$(OBJ) : $(GLSRC)gxdownscale.c $(AK) $(string__h)\ $(gxdownscale_h) $(gserrors_h) $(gdevprn_h) $(assert__h) $(ets_h)\ $(LIB_MAK) $(MAKEDIRS) - $(GLCC) $(GLO_)gxdownscale.$(OBJ) $(C_) $(GLSRC)gxdownscale.c + $(GLCC) $(GLO_)gxdownscale_0.$(OBJ) $(C_) $(GLSRC)gxdownscale.c + +$(GLOBJ)gxdownscale_1.$(OBJ) : $(GLSRC)gxdownscale.c $(AK) $(string__h)\ + $(gxdownscale_h) $(gserrors_h) $(gdevprn_h) $(assert__h) $(ets_h)\ + $(LIB_MAK) $(MAKEDIRS) + $(GLCC) $(D_)WITH_CAL$(_D) $(I_)$(CALSRCDIR)$(_I) $(GLO_)gxdownscale_1.$(OBJ) $(C_) $(GLSRC)gxdownscale.c + +$(GLOBJ)gxdownscale.$(OBJ) : $(GLOBJ)gxdownscale_$(WITH_CAL).$(OBJ) $(AK) $(gp_h) + $(CP_) $(GLOBJ)gxdownscale_$(WITH_CAL).$(OBJ) $(GLOBJ)gxdownscale.$(OBJ) ###### Create a pseudo-"feature" for the entire graphics library. @@ -1931,6 +1963,16 @@ $(GLOBJ)spwgd.$(OBJ) : $(GLSRC)spwgd.c $(AK) $(stdio__h) $(memory__h)\ $(spwgx_h) $(strimpl_h) $(LIB_MAK) $(MAKEDIRS) $(GLCC) $(GLO_)spwgd.$(OBJ) $(C_) $(GLSRC)spwgd.c +# ---------------- URF RunLength decode filter ---------------- # + +urfd_=$(GLOBJ)surfd.$(OBJ) +$(GLD)urfd.dev : $(LIB_MAK) $(ECHOGS_XE) $(urfd_) $(LIB_MAK) $(MAKEDIRS) + $(SETMOD) $(GLD)urfd $(urfd_) + +$(GLOBJ)surfd.$(OBJ) : $(URFSRCDIR)$(D)surfd.c $(AK) $(stdio__h) $(memory__h)\ + $(surfx_h) $(strimpl_h) $(LIB_MAK) $(MAKEDIRS) + $(GLCC) $(GLO_)surfd.$(OBJ) $(C_) $(URFSRCDIR)$(D)surfd.c + # ---------------- String encoding/decoding filters ---------------- # # These are used by the PostScript and PDF writers, and also by the # PostScript interpreter. @@ -2722,7 +2764,7 @@ $(GLD)colimlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(colimlib_) $(LIB_MAK) $(MAKEDIRS) $(SETMOD) $(GLD)colimlib $(colimlib_) $(ADDMOD) $(GLD)colimlib -imageclass 4_color -$(GLOBJ)gxicolor.$(OBJ) : $(GLSRC)gxicolor.c $(AK) $(gx_h)\ +$(GLOBJ)gxicolor_0.$(OBJ) : $(GLSRC)gxicolor.c $(AK) $(gx_h)\ $(gserrors_h) $(memory__h) $(gpcheck_h) $(gxarith_h)\ $(gxfixed_h) $(gxfrac_h) $(gxmatrix_h)\ $(gsccolor_h) $(gspaint_h) $(gzstate_h)\ @@ -2730,7 +2772,20 @@ $(GLOBJ)gxicolor.$(OBJ) : $(GLSRC)gxicolor.c $(AK) $(gx_h)\ $(gxgstate_h) $(gxdevmem_h) $(gxcpath_h) $(gximage_h)\ $(gsicc_h) $(gsicc_cache_h) $(gsicc_cms_h) $(gxcie_h)\ $(gscie_h) $(gzht_h) $(gxht_thresh_h) $(gxdevsop_h) $(LIB_MAK) $(MAKEDIRS) - $(GLCC) $(GLO_)gxicolor.$(OBJ) $(C_) $(GLSRC)gxicolor.c + $(GLCC) $(GLO_)gxicolor_0.$(OBJ) $(C_) $(GLSRC)gxicolor.c + +$(GLOBJ)gxicolor_1.$(OBJ) : $(GLSRC)gxicolor.c $(AK) $(gx_h)\ + $(gserrors_h) $(memory__h) $(gpcheck_h) $(gxarith_h)\ + $(gxfixed_h) $(gxfrac_h) $(gxmatrix_h)\ + $(gsccolor_h) $(gspaint_h) $(gzstate_h)\ + $(gxdevice_h) $(gxcmap_h) $(gxdcconv_h) $(gxdcolor_h)\ + $(gxgstate_h) $(gxdevmem_h) $(gxcpath_h) $(gximage_h)\ + $(gsicc_h) $(gsicc_cache_h) $(gsicc_cms_h) $(gxcie_h)\ + $(gscie_h) $(gzht_h) $(gxht_thresh_h) $(gxdevsop_h) $(LIB_MAK) $(MAKEDIRS) + $(GLCC) $(D_)WITH_CAL$(_D) $(I_)$(CALSRCDIR)$(_I) $(GLO_)gxicolor_1.$(OBJ) $(C_) $(GLSRC)gxicolor.c + +$(GLOBJ)gxicolor.$(OBJ) : $(GLOBJ)gxicolor_$(WITH_CAL).$(OBJ) + $(CP_) $(GLOBJ)gxicolor_$(WITH_CAL).$(OBJ) $(GLOBJ)gxicolor.$(OBJ) # ---- Level 1 path miscellany (arcs, pathbbox, path enumeration) ---- # @@ -3162,9 +3217,9 @@ $(GLOBJ)gdevp14_0.$(OBJ) : $(GLSRC)gdevp14.c $(AK) $(gx_h) $(gserrors_h)\ $(math__h) $(memory__h) $(gscdefs_h) $(gxdevice_h) $(gsdevice_h)\ $(gsstruct_h) $(gscoord_h) $(gxgstate_h) $(gxdcolor_h) $(gxiparam_h)\ $(gstparam_h) $(gxblend_h) $(gxtext_h) $(gsimage_h)\ - $(gsrect_h) $(gzstate_h) $(gdevdevn_h) $(gdevp14_h) $(gdevprn_h) $(gsovrc_h) $(gxcmap_h)\ - $(gscolor1_h) $(gstrans_h) $(gsutil_h) $(gxcldev_h) $(gxclpath_h)\ - $(gxdcconv_h) $(gsptype2_h) $(gxpcolor_h)\ + $(gsrect_h) $(gzstate_h) $(gdevdevn_h) $(gdevp14_h) $(gdevprn_h) $(gdevppla_h) $(gdevdevnprn_h)\ + $(gsovrc_h) $(gxcmap_h) $(gscolor1_h) $(gstrans_h) $(gsutil_h) $(gxcldev_h) $(gxclpath_h)\ + $(gxdcconv_h) $(gsptype2_h) $(gxpcolor_h) $(gscdevn_h)\ $(gsptype1_h) $(gzcpath_h) $(gxpaint_h) $(gsicc_manage_h) $(gxclist_h)\ $(gxiclass_h) $(gximage_h) $(gsmatrix_h) $(gsicc_cache_h) $(gxdevsop_h)\ $(gsicc_h) $(gscms_h) $(gdevmem_h) $(LIB_MAK) $(MAKEDIRS) @@ -3174,9 +3229,9 @@ $(GLOBJ)gdevp14_1.$(OBJ) : $(GLSRC)gdevp14.c $(AK) $(gx_h) $(gserrors_h)\ $(math__h) $(memory__h) $(gscdefs_h) $(gxdevice_h) $(gsdevice_h)\ $(gsstruct_h) $(gscoord_h) $(gxgstate_h) $(gxdcolor_h) $(gxiparam_h)\ $(gstparam_h) $(gxblend_h) $(gxtext_h) $(gsimage_h)\ - $(gsrect_h) $(gzstate_h) $(gdevdevn_h) $(gdevp14_h) $(gdevprn_h) $(gsovrc_h) $(gxcmap_h)\ - $(gscolor1_h) $(gstrans_h) $(gsutil_h) $(gxcldev_h) $(gxclpath_h)\ - $(gxdcconv_h) $(gsptype2_h) $(gxpcolor_h)\ + $(gsrect_h) $(gzstate_h) $(gdevdevn_h) $(gdevp14_h) $(gdevprn_h) $(gdevppla_h) $(gdevdevnprn_h)\ + $(gsovrc_h) $(gxcmap_h) $(gscolor1_h) $(gstrans_h) $(gsutil_h) $(gxcldev_h) $(gxclpath_h)\ + $(gxdcconv_h) $(gsptype2_h) $(gxpcolor_h) $(gscdevn_h)\ $(gsptype1_h) $(gzcpath_h) $(gxpaint_h) $(gsicc_manage_h) $(gxclist_h)\ $(gxiclass_h) $(gximage_h) $(gsmatrix_h) $(gsicc_cache_h) $(gxdevsop_h)\ $(gsicc_h) $(gscms_h) $(gdevmem_h) $(LIB_MAK) $(MAKEDIRS) @@ -3190,10 +3245,10 @@ translib_=$(GLOBJ)gstrans.$(OBJ) $(GLOBJ)gximag3x.$(OBJ)\ $(GLOBJ)gsequivc.$(OBJ) $(GLOBJ)gdevdcrd.$(OBJ) $(GLD)translib.dev : $(LIB_MAK) $(ECHOGS_XE) $(translib_)\ - $(GLD)cspixlib.dev $(GLD)bboxutil.dev $(GLD)cielib.dev $(LIB_MAK) $(MAKEDIRS) + $(GLD)cspixlib.dev $(GLD)bboxutil.dev $(GLD)cielib.dev $(GLD)page.dev $(LIB_MAK) $(MAKEDIRS) $(SETMOD) $(GLD)translib $(translib_) $(ADDMOD) $(GLD)translib -imagetype 3x - $(ADDMOD) $(GLD)translib -include $(GLD)cspixlib $(GLD)bboxutil + $(ADDMOD) $(GLD)translib -include $(GLD)cspixlib $(GLD)bboxutil $(GLD)page $(ADDMOD) $(GLD)translib -include $(GLD)cielib.dev # ---------------- Smooth shading ---------------- # @@ -3284,12 +3339,12 @@ $(GLD)romfs0.dev : $(LIB_MAK) $(ECHOGS_XE) $(LIB_MAK) $(MAKEDIRS) # psi $(GLGEN)gsromfs1_.c : $(MKROMFS_XE) $(PS_ROMFS_DEPS) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)gsromfs1_.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(PS_ROMFS_ARGS) $(PS_FONT_ROMFS_ARGS) $(GL_ROMFS_ARGS) $(GLGEN)gsromfs1_1.c : $(MKROMFS_XE) $(PS_ROMFS_DEPS) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)gsromfs1_1.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(UFST_ROMFS_ARGS) $(PS_ROMFS_ARGS) $(GL_ROMFS_ARGS) $(GLGEN)gsromfs1.c : $(GLGEN)gsromfs1_$(UFST_BRIDGE).c $(LIB_MAK) $(MAKEDIRS) @@ -3298,13 +3353,13 @@ $(GLGEN)gsromfs1.c : $(GLGEN)gsromfs1_$(UFST_BRIDGE).c $(LIB_MAK) $(MAKEDIRS) # pcl $(GLGEN)pclromfs1_.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)pclromfs1_.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(PCLXL_FONT_ROMFS_ARGS) $(PCLXL_ROMFS_ARGS) $(PJL_ROMFS_ARGS) \ $(PJL_ROMFS_ARGS) $(GL_ROMFS_ARGS) $(GLGEN)pclromfs1_1.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)pclromfs1_1.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(UFST_ROMFS_ARGS) $(PCLXL_ROMFS_ARGS) $(PJL_ROMFS_ARGS) \ $(GL_ROMFS_ARGS) @@ -3313,12 +3368,12 @@ $(GLGEN)pclromfs1.c : $(GLGEN)pclromfs1_$(UFST_BRIDGE).c $(LIB_MAK) $(MAKEDIRS) $(GLGEN)pclromfs0_.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)pclromfs0_.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(GL_ROMFS_ARGS) $(GLGEN)pclromfs0_1.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)pclromfs0_1.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(GL_ROMFS_ARGS) $(GLGEN)pclromfs0.c : $(GLGEN)pclromfs0_$(UFST_BRIDGE).c $(LIB_MAK) $(MAKEDIRS) @@ -3327,12 +3382,12 @@ $(GLGEN)pclromfs0.c : $(GLGEN)pclromfs0_$(UFST_BRIDGE).c $(LIB_MAK) $(MAKEDIRS) # xps $(GLGEN)xpsromfs1_.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)xpsromfs1_.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(XPS_ROMFS_ARGS) $(XPS_FONT_ROMFS_ARGS) $(GL_ROMFS_ARGS) $(GLGEN)xpsromfs1_1.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)xpsromfs1_1.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(XPS_ROMFS_ARGS) $(GL_ROMFS_ARGS) $(GLGEN)xpsromfs1.c : $(GLGEN)xpsromfs1_$(UFST_BRIDGE).c $(LIB_MAK) $(MAKEDIRS) @@ -3340,12 +3395,12 @@ $(GLGEN)xpsromfs1.c : $(GLGEN)xpsromfs1_$(UFST_BRIDGE).c $(LIB_MAK) $(MAKEDIRS) $(GLGEN)xpsromfs0_.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)xpsromfs0_.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(GL_ROMFS_ARGS) $(GLGEN)xpsromfs0_1.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)xpsromfs0_1.c \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(GL_ROMFS_ARGS) $(GLGEN)xpsromfs0.c : $(GLGEN)xpsromfs0_$(UFST_BRIDGE).c $(LIB_MAK) $(MAKEDIRS) @@ -3369,7 +3424,7 @@ $(GLGEN)pdlromfs1_c3.c : $(GLGEN)pdlromfs1_.c $(GLGEN)pdlromfs1_.c: $(MKROMFS_XE) $(PS_ROMFS_DEPS) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)pdlromfs1_.c -s 4 \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(PCLXL_ROMFS_ARGS) $(PCLXL_FONT_ROMFS_ARGS) $(PJL_ROMFS_ARGS) \ $(XPS_ROMFS_ARGS) $(XPS_FONT_ROMFS_ARGS) \ $(PS_ROMFS_ARGS) $(PS_FONT_ROMFS_ARGS) $(GL_ROMFS_ARGS) @@ -3389,7 +3444,7 @@ $(GLGEN)pdlromfs1_1c3.c : $(GLGEN)pdlromfs1_1.c $(GLGEN)pdlromfs1_1.c: $(MKROMFS_XE) $(PS_ROMFS_DEPS) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)pdlromfs1_1.c -s 4 \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(UFST_ROMFS_ARGS) $(PCLXL_ROMFS_ARGS) $(PJL_ROMFS_ARGS) $(XPS_ROMFS_ARGS) \ $(PS_ROMFS_ARGS) $(GL_ROMFS_ARGS) @@ -3424,7 +3479,7 @@ $(GLGEN)pdlromfs0_c3.c : $(GLGEN)pdlromfs0_.c $(GLGEN)pdlromfs0_.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)pdlromfs0_.c -s 4 \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(GL_ROMFS_ARGS) # Non COMPILE_INITS + UFST variant @@ -3442,7 +3497,7 @@ $(GLGEN)pdlromfs0_1c3.c : $(GLGEN)pdlromfs0_1.c $(GLGEN)pdlromfs0_1.c : $(MKROMFS_XE) $(LIB_MAK) $(MAKEDIRS) $(EXP)$(MKROMFS_XE) -o $(GLGEN)pdlromfs0_1.c -s 4 \ - -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ + $(MKROMFS_FLAGS) -X .svn -X CVS -P $(GLSRCDIR)$(D)..$(D) iccprofiles$(D)* \ $(GL_ROMFS_ARGS) # Rules to fold Non COMPILE_INITS +/- UFST into 1 set of targets @@ -3707,139 +3762,141 @@ $(GLOBJ)gslib.$(OBJ) : $(GLSRC)gslib.c $(AK)\ $(GLSRC)gdevdcrd.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevdcrd.h:$(GLSRC)gxtext.h $(GLSRC)gdevdcrd.h:$(GLSRC)gstext.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevdcrd.h:$(GLSRC)gstparam.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxcspace.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsropt.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevdcrd.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsuid.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsimage.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxdda.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsfont.h $(GLSRC)gdevdcrd.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxpath.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gspenum.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsimage.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxftype.h $(GLSRC)gdevdcrd.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxdda.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gslparam.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsrect.h $(GLSRC)gdevdcrd.h:$(GLSRC)gscms.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxftype.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsdevice.h $(GLSRC)gdevdcrd.h:$(GLSRC)gscspace.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsuid.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxpath.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsdevice.h $(GLSRC)gdevdcrd.h:$(GLSRC)gxarith.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gspenum.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsrect.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gslparam.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gscpm.h $(GLSRC)gdevdcrd.h:$(GLSRC)gxfixed.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gscpm.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gp.h -$(GLSRC)gdevdcrd.h:$(GLSRC)memento.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsparam.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevdcrd.h:$(GLSRC)srdline.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gp.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gsccolor.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsstruct.h $(GLSRC)gdevdcrd.h:$(GLSRC)gxsync.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gscsel.h +$(GLSRC)gdevdcrd.h:$(GLSRC)srdline.h $(GLSRC)gdevdcrd.h:$(GLSRC)scommon.h +$(GLSRC)gdevdcrd.h:$(GLSRC)memento.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gscsel.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gsccolor.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsstype.h +$(GLSRC)gdevdcrd.h:$(GLSRC)stat_.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gxtmap.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsmemory.h $(GLSRC)gdevdcrd.h:$(GLSRC)gpsync.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevdcrd.h:$(GLSRC)memory_.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevdcrd.h:$(GLSRC)gslibctx.h $(GLSRC)gdevdcrd.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevdcrd.h:$(GLSRC)stdio_.h $(GLSRC)gdevdcrd.h:$(GLSRC)gscompt.h $(GLSRC)gdevdcrd.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevdcrd.h:$(GLSRC)stdint_.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevdcrd.h:$(GLSRC)stdint_.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gssprintf.h $(GLSRC)gdevdcrd.h:$(GLSRC)gsccode.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevdcrd.h:$(GLSRC)stdio_.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gstypes.h $(GLSRC)gdevdcrd.h:$(GLSRC)std.h +$(GLSRC)gdevdcrd.h:$(GLSRC)gstypes.h $(GLSRC)gdevdcrd.h:$(GLSRC)stdpre.h $(GLSRC)gdevdcrd.h:$(GLGEN)arch.h -$(GLSRC)gdevdcrd.h:$(GLSRC)gssprintf.h $(GLSRC)gdevpccm.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevpccm.h:$(GLSRC)gxtext.h $(GLSRC)gdevpccm.h:$(GLSRC)gstext.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevpccm.h:$(GLSRC)gstparam.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxcspace.h $(GLSRC)gdevpccm.h:$(GLSRC)gsropt.h $(GLSRC)gdevpccm.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevpccm.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsuid.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsimage.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxdda.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevpccm.h:$(GLSRC)gsfont.h $(GLSRC)gdevpccm.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxpath.h -$(GLSRC)gdevpccm.h:$(GLSRC)gspenum.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsimage.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxftype.h $(GLSRC)gdevpccm.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxdda.h -$(GLSRC)gdevpccm.h:$(GLSRC)gslparam.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsrect.h $(GLSRC)gdevpccm.h:$(GLSRC)gscms.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxftype.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsdevice.h $(GLSRC)gdevpccm.h:$(GLSRC)gscspace.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsuid.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxpath.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsdevice.h $(GLSRC)gdevpccm.h:$(GLSRC)gxarith.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevpccm.h:$(GLSRC)gspenum.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsrect.h +$(GLSRC)gdevpccm.h:$(GLSRC)gslparam.h $(GLSRC)gdevpccm.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevpccm.h:$(GLSRC)gscpm.h $(GLSRC)gdevpccm.h:$(GLSRC)gxfixed.h $(GLSRC)gdevpccm.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevpccm.h:$(GLSRC)gscpm.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevpccm.h:$(GLSRC)gp.h -$(GLSRC)gdevpccm.h:$(GLSRC)memento.h $(GLSRC)gdevpccm.h:$(GLSRC)gsparam.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevpccm.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevpccm.h:$(GLSRC)srdline.h +$(GLSRC)gdevpccm.h:$(GLSRC)gp.h +$(GLSRC)gdevpccm.h:$(GLSRC)gsccolor.h $(GLSRC)gdevpccm.h:$(GLSRC)gsstruct.h $(GLSRC)gdevpccm.h:$(GLSRC)gxsync.h -$(GLSRC)gdevpccm.h:$(GLSRC)gscsel.h +$(GLSRC)gdevpccm.h:$(GLSRC)srdline.h $(GLSRC)gdevpccm.h:$(GLSRC)scommon.h +$(GLSRC)gdevpccm.h:$(GLSRC)memento.h +$(GLSRC)gdevpccm.h:$(GLSRC)gscsel.h $(GLSRC)gdevpccm.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevpccm.h:$(GLSRC)gsccolor.h $(GLSRC)gdevpccm.h:$(GLSRC)gsstype.h +$(GLSRC)gdevpccm.h:$(GLSRC)stat_.h +$(GLSRC)gdevpccm.h:$(GLSRC)gxtmap.h $(GLSRC)gdevpccm.h:$(GLSRC)gsmemory.h $(GLSRC)gdevpccm.h:$(GLSRC)gpsync.h -$(GLSRC)gdevpccm.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevpccm.h:$(GLSRC)memory_.h +$(GLSRC)gdevpccm.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevpccm.h:$(GLSRC)gslibctx.h $(GLSRC)gdevpccm.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevpccm.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevpccm.h:$(GLSRC)stdio_.h $(GLSRC)gdevpccm.h:$(GLSRC)gscompt.h $(GLSRC)gdevpccm.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevpccm.h:$(GLSRC)stdint_.h $(GLSRC)gdevpccm.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevpccm.h:$(GLSRC)stdint_.h +$(GLSRC)gdevpccm.h:$(GLSRC)gssprintf.h $(GLSRC)gdevpccm.h:$(GLSRC)gsccode.h -$(GLSRC)gdevpccm.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevpccm.h:$(GLSRC)stdio_.h -$(GLSRC)gdevpccm.h:$(GLSRC)gstypes.h $(GLSRC)gdevpccm.h:$(GLSRC)std.h +$(GLSRC)gdevpccm.h:$(GLSRC)gstypes.h $(GLSRC)gdevpccm.h:$(GLSRC)stdpre.h $(GLSRC)gdevpccm.h:$(GLGEN)arch.h -$(GLSRC)gdevpccm.h:$(GLSRC)gssprintf.h $(GLSRC)stdint_.h:$(GLSRC)std.h $(GLSRC)stdint_.h:$(GLSRC)stdpre.h $(GLSRC)stdint_.h:$(GLGEN)arch.h @@ -3848,48 +3905,49 @@ $(GLSRC)srdline.h:$(GLSRC)scommon.h $(GLSRC)srdline.h:$(GLSRC)gsstype.h $(GLSRC)srdline.h:$(GLSRC)gsmemory.h $(GLSRC)srdline.h:$(GLSRC)gslibctx.h -$(GLSRC)srdline.h:$(GLSRC)stdint_.h $(GLSRC)srdline.h:$(GLSRC)gs_dll_call.h $(GLSRC)srdline.h:$(GLSRC)stdio_.h -$(GLSRC)srdline.h:$(GLSRC)gstypes.h +$(GLSRC)srdline.h:$(GLSRC)stdint_.h +$(GLSRC)srdline.h:$(GLSRC)gssprintf.h $(GLSRC)srdline.h:$(GLSRC)std.h +$(GLSRC)srdline.h:$(GLSRC)gstypes.h $(GLSRC)srdline.h:$(GLSRC)stdpre.h $(GLSRC)srdline.h:$(GLGEN)arch.h -$(GLSRC)srdline.h:$(GLSRC)gssprintf.h $(GLSRC)gpmisc.h:$(GLSRC)gp.h $(GLSRC)gpmisc.h:$(GLSRC)srdline.h $(GLSRC)gpmisc.h:$(GLSRC)scommon.h $(GLSRC)gpmisc.h:$(GLSRC)gsstype.h +$(GLSRC)gpmisc.h:$(GLSRC)stat_.h $(GLSRC)gpmisc.h:$(GLSRC)gsmemory.h -$(GLSRC)gpmisc.h:$(GLSRC)gpgetenv.h $(GLSRC)gpmisc.h:$(GLSRC)memory_.h +$(GLSRC)gpmisc.h:$(GLSRC)gpgetenv.h $(GLSRC)gpmisc.h:$(GLSRC)gslibctx.h $(GLSRC)gpmisc.h:$(GLSRC)gscdefs.h -$(GLSRC)gpmisc.h:$(GLSRC)stdint_.h $(GLSRC)gpmisc.h:$(GLSRC)gs_dll_call.h $(GLSRC)gpmisc.h:$(GLSRC)stdio_.h -$(GLSRC)gpmisc.h:$(GLSRC)gstypes.h +$(GLSRC)gpmisc.h:$(GLSRC)stdint_.h +$(GLSRC)gpmisc.h:$(GLSRC)gssprintf.h $(GLSRC)gpmisc.h:$(GLSRC)std.h +$(GLSRC)gpmisc.h:$(GLSRC)gstypes.h $(GLSRC)gpmisc.h:$(GLSRC)stdpre.h $(GLSRC)gpmisc.h:$(GLGEN)arch.h -$(GLSRC)gpmisc.h:$(GLSRC)gssprintf.h -$(GLSRC)gp.h:$(GLSRC)stat_.h $(GLSRC)gp.h:$(GLSRC)srdline.h $(GLSRC)gp.h:$(GLSRC)scommon.h $(GLSRC)gp.h:$(GLSRC)gsstype.h +$(GLSRC)gp.h:$(GLSRC)stat_.h $(GLSRC)gp.h:$(GLSRC)gsmemory.h -$(GLSRC)gp.h:$(GLSRC)gpgetenv.h $(GLSRC)gp.h:$(GLSRC)memory_.h +$(GLSRC)gp.h:$(GLSRC)gpgetenv.h $(GLSRC)gp.h:$(GLSRC)gslibctx.h $(GLSRC)gp.h:$(GLSRC)gscdefs.h -$(GLSRC)gp.h:$(GLSRC)stdint_.h $(GLSRC)gp.h:$(GLSRC)gs_dll_call.h $(GLSRC)gp.h:$(GLSRC)stdio_.h -$(GLSRC)gp.h:$(GLSRC)gstypes.h +$(GLSRC)gp.h:$(GLSRC)stdint_.h +$(GLSRC)gp.h:$(GLSRC)gssprintf.h $(GLSRC)gp.h:$(GLSRC)std.h +$(GLSRC)gp.h:$(GLSRC)gstypes.h $(GLSRC)gp.h:$(GLSRC)stdpre.h $(GLSRC)gp.h:$(GLGEN)arch.h -$(GLSRC)gp.h:$(GLSRC)gssprintf.h $(GLSRC)gpcheck.h:$(GLSRC)std.h $(GLSRC)gpcheck.h:$(GLSRC)stdpre.h $(GLSRC)gpcheck.h:$(GLGEN)arch.h @@ -3932,31 +3990,35 @@ $(GLSRC)memory_.h:$(GLGEN)arch.h $(GLSRC)stat_.h:$(GLSRC)std.h $(GLSRC)stat_.h:$(GLSRC)stdpre.h $(GLSRC)stat_.h:$(GLGEN)arch.h +$(GLSRC)stdio_.h:$(GLSRC)gssprintf.h $(GLSRC)stdio_.h:$(GLSRC)std.h $(GLSRC)stdio_.h:$(GLSRC)stdpre.h $(GLSRC)stdio_.h:$(GLGEN)arch.h -$(GLSRC)stdio_.h:$(GLSRC)gssprintf.h $(GLSRC)string_.h:$(GLSRC)gsstrtok.h $(GLSRC)string_.h:$(GLSRC)gsstrl.h $(GLSRC)string_.h:$(GLSRC)std.h $(GLSRC)string_.h:$(GLSRC)stdpre.h $(GLSRC)string_.h:$(GLGEN)arch.h +$(GLSRC)time_.h:$(GLGEN)gconfig_.h +$(GLSRC)time_.h:$(GLSRC)std.h +$(GLSRC)time_.h:$(GLSRC)stdpre.h +$(GLSRC)time_.h:$(GLGEN)arch.h $(GLSRC)unistd_.h:$(GLSRC)std.h $(GLSRC)unistd_.h:$(GLSRC)stdpre.h $(GLSRC)unistd_.h:$(GLGEN)arch.h $(GLSRC)pipe_.h:$(GLSRC)stdio_.h +$(GLSRC)pipe_.h:$(GLSRC)gssprintf.h $(GLSRC)pipe_.h:$(GLSRC)std.h $(GLSRC)pipe_.h:$(GLSRC)stdpre.h $(GLSRC)pipe_.h:$(GLGEN)arch.h -$(GLSRC)pipe_.h:$(GLSRC)gssprintf.h $(GLSRC)jerror_.h:$(JSRCDIR)$(D)jerror.h $(GLSRC)gxstdio.h:$(GLSRC)gsio.h $(GLSRC)gslibctx.h:$(GLSRC)gs_dll_call.h $(GLSRC)gslibctx.h:$(GLSRC)stdio_.h +$(GLSRC)gslibctx.h:$(GLSRC)gssprintf.h $(GLSRC)gslibctx.h:$(GLSRC)std.h $(GLSRC)gslibctx.h:$(GLSRC)stdpre.h $(GLSRC)gslibctx.h:$(GLGEN)arch.h -$(GLSRC)gslibctx.h:$(GLSRC)gssprintf.h $(GLSRC)gdebug.h:$(GLSRC)gdbflags.h $(GLSRC)gdebug.h:$(GLSRC)std.h $(GLSRC)gdebug.h:$(GLSRC)stdpre.h @@ -3978,14 +4040,14 @@ $(GLSRC)gsmalloc.h:$(GLSRC)gxsync.h $(GLSRC)gsmalloc.h:$(GLSRC)gsmemory.h $(GLSRC)gsmalloc.h:$(GLSRC)gpsync.h $(GLSRC)gsmalloc.h:$(GLSRC)gslibctx.h -$(GLSRC)gsmalloc.h:$(GLSRC)stdint_.h $(GLSRC)gsmalloc.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsmalloc.h:$(GLSRC)stdio_.h -$(GLSRC)gsmalloc.h:$(GLSRC)gstypes.h +$(GLSRC)gsmalloc.h:$(GLSRC)stdint_.h +$(GLSRC)gsmalloc.h:$(GLSRC)gssprintf.h $(GLSRC)gsmalloc.h:$(GLSRC)std.h +$(GLSRC)gsmalloc.h:$(GLSRC)gstypes.h $(GLSRC)gsmalloc.h:$(GLSRC)stdpre.h $(GLSRC)gsmalloc.h:$(GLGEN)arch.h -$(GLSRC)gsmalloc.h:$(GLSRC)gssprintf.h $(GLSRC)gsmchunk.h:$(GLSRC)std.h $(GLSRC)gsmchunk.h:$(GLSRC)stdpre.h $(GLSRC)gsmchunk.h:$(GLGEN)arch.h @@ -3995,20 +4057,20 @@ $(GLSRC)gsmdebug.h:$(GLSRC)stdpre.h $(GLSRC)gsmemory.h:$(GLSRC)gslibctx.h $(GLSRC)gsmemory.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsmemory.h:$(GLSRC)stdio_.h -$(GLSRC)gsmemory.h:$(GLSRC)gstypes.h +$(GLSRC)gsmemory.h:$(GLSRC)gssprintf.h $(GLSRC)gsmemory.h:$(GLSRC)std.h +$(GLSRC)gsmemory.h:$(GLSRC)gstypes.h $(GLSRC)gsmemory.h:$(GLSRC)stdpre.h $(GLSRC)gsmemory.h:$(GLGEN)arch.h -$(GLSRC)gsmemory.h:$(GLSRC)gssprintf.h $(GLSRC)gsmemret.h:$(GLSRC)gsmemory.h $(GLSRC)gsmemret.h:$(GLSRC)gslibctx.h $(GLSRC)gsmemret.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsmemret.h:$(GLSRC)stdio_.h -$(GLSRC)gsmemret.h:$(GLSRC)gstypes.h +$(GLSRC)gsmemret.h:$(GLSRC)gssprintf.h $(GLSRC)gsmemret.h:$(GLSRC)std.h +$(GLSRC)gsmemret.h:$(GLSRC)gstypes.h $(GLSRC)gsmemret.h:$(GLSRC)stdpre.h $(GLSRC)gsmemret.h:$(GLGEN)arch.h -$(GLSRC)gsmemret.h:$(GLSRC)gssprintf.h $(GLSRC)gsnogc.h:$(GLSRC)gsgc.h $(GLSRC)gsnogc.h:$(GLSRC)gsalloc.h $(GLSRC)gsnogc.h:$(GLSRC)std.h @@ -4023,465 +4085,470 @@ $(GLSRC)gsstype.h:$(GLSRC)gsmemory.h $(GLSRC)gsstype.h:$(GLSRC)gslibctx.h $(GLSRC)gsstype.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsstype.h:$(GLSRC)stdio_.h -$(GLSRC)gsstype.h:$(GLSRC)gstypes.h +$(GLSRC)gsstype.h:$(GLSRC)gssprintf.h $(GLSRC)gsstype.h:$(GLSRC)std.h +$(GLSRC)gsstype.h:$(GLSRC)gstypes.h $(GLSRC)gsstype.h:$(GLSRC)stdpre.h $(GLSRC)gsstype.h:$(GLGEN)arch.h -$(GLSRC)gsstype.h:$(GLSRC)gssprintf.h $(GLSRC)gx.h:$(GLSRC)gdebug.h $(GLSRC)gx.h:$(GLSRC)gsio.h $(GLSRC)gx.h:$(GLSRC)gdbflags.h $(GLSRC)gx.h:$(GLSRC)gserrors.h $(GLSRC)gx.h:$(GLSRC)gsmemory.h $(GLSRC)gx.h:$(GLSRC)gslibctx.h -$(GLSRC)gx.h:$(GLSRC)gsgstate.h $(GLSRC)gx.h:$(GLSRC)gs_dll_call.h $(GLSRC)gx.h:$(GLSRC)stdio_.h -$(GLSRC)gx.h:$(GLSRC)gstypes.h +$(GLSRC)gx.h:$(GLSRC)gsgstate.h +$(GLSRC)gx.h:$(GLSRC)gssprintf.h $(GLSRC)gx.h:$(GLSRC)std.h +$(GLSRC)gx.h:$(GLSRC)gstypes.h $(GLSRC)gx.h:$(GLSRC)stdpre.h $(GLSRC)gx.h:$(GLGEN)arch.h -$(GLSRC)gx.h:$(GLSRC)gssprintf.h $(GLSRC)gxsync.h:$(GLSRC)gsmemory.h $(GLSRC)gxsync.h:$(GLSRC)gpsync.h $(GLSRC)gxsync.h:$(GLSRC)gslibctx.h -$(GLSRC)gxsync.h:$(GLSRC)stdint_.h $(GLSRC)gxsync.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxsync.h:$(GLSRC)stdio_.h -$(GLSRC)gxsync.h:$(GLSRC)gstypes.h +$(GLSRC)gxsync.h:$(GLSRC)stdint_.h +$(GLSRC)gxsync.h:$(GLSRC)gssprintf.h $(GLSRC)gxsync.h:$(GLSRC)std.h +$(GLSRC)gxsync.h:$(GLSRC)gstypes.h $(GLSRC)gxsync.h:$(GLSRC)stdpre.h $(GLSRC)gxsync.h:$(GLGEN)arch.h -$(GLSRC)gxsync.h:$(GLSRC)gssprintf.h $(GLSRC)gxclthrd.h:$(GLSRC)gxclist.h $(GLSRC)gxclthrd.h:$(GLSRC)gxgstate.h -$(GLSRC)gxclthrd.h:$(GLSRC)gstrans.h $(GLSRC)gxclthrd.h:$(GLSRC)gxline.h +$(GLSRC)gxclthrd.h:$(GLSRC)gstrans.h $(GLSRC)gxclthrd.h:$(GLSRC)gsht1.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxcomp.h $(GLSRC)gxclthrd.h:$(GLSRC)math_.h $(GLSRC)gxclthrd.h:$(GLSRC)gdevp14.h $(GLSRC)gxclthrd.h:$(GLSRC)gxcolor2.h $(GLSRC)gxclthrd.h:$(GLSRC)gxpcolor.h $(GLSRC)gxclthrd.h:$(GLSRC)gdevdevn.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsequivc.h $(GLSRC)gxclthrd.h:$(GLSRC)gxblend.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxclipsr.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxcomp.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxdcolor.h $(GLSRC)gxclthrd.h:$(GLSRC)gxmatrix.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxbitfmt.h $(GLSRC)gxclthrd.h:$(GLSRC)gxdevbuf.h $(GLSRC)gxclthrd.h:$(GLSRC)gxband.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsequivc.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxclipsr.h $(GLSRC)gxclthrd.h:$(GLSRC)gscolor2.h +$(GLSRC)gxclthrd.h:$(GLSRC)gscindex.h $(GLSRC)gxclthrd.h:$(GLSRC)gxdevice.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxcpath.h $(GLSRC)gxclthrd.h:$(GLSRC)gsht.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxcpath.h $(GLSRC)gxclthrd.h:$(GLSRC)gxdevmem.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclthrd.h:$(GLSRC)gxpcache.h -$(GLSRC)gxclthrd.h:$(GLSRC)gscindex.h $(GLSRC)gxclthrd.h:$(GLSRC)gsptype1.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclthrd.h:$(GLSRC)gxtext.h -$(GLSRC)gxclthrd.h:$(GLSRC)gspcolor.h +$(GLSRC)gxclthrd.h:$(GLSRC)gscie.h $(GLSRC)gxclthrd.h:$(GLSRC)gstext.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxdcolor.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclthrd.h:$(GLSRC)gstparam.h -$(GLSRC)gxclthrd.h:$(GLSRC)gscie.h $(GLSRC)gxclthrd.h:$(GLSRC)gxstate.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxcmap.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxclthrd.h:$(GLSRC)gspcolor.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxcspace.h $(GLSRC)gxclthrd.h:$(GLSRC)gsropt.h $(GLSRC)gxclthrd.h:$(GLSRC)gsfunc.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxctable.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsmalloc.h $(GLSRC)gxclthrd.h:$(GLSRC)gxrplane.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxcspace.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxiclass.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxclio.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxctable.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsuid.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxcmap.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsimage.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxdda.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxcvalue.h $(GLSRC)gxclthrd.h:$(GLSRC)gsfont.h $(GLSRC)gxclthrd.h:$(GLSRC)gxfmap.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxpath.h -$(GLSRC)gxclthrd.h:$(GLSRC)gspenum.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxtmap.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsimage.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxiclass.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxftype.h $(GLSRC)gxclthrd.h:$(GLSRC)gxfrac.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxdda.h -$(GLSRC)gxclthrd.h:$(GLSRC)gslparam.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxbcache.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsrect.h $(GLSRC)gxclthrd.h:$(GLSRC)gscms.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxftype.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsdevice.h $(GLSRC)gxclthrd.h:$(GLSRC)gscspace.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsuid.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxpath.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxbcache.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsdevice.h $(GLSRC)gxclthrd.h:$(GLSRC)gxarith.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsdsrc.h $(GLSRC)gxclthrd.h:$(GLSRC)gxstdio.h +$(GLSRC)gxclthrd.h:$(GLSRC)gspenum.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsrect.h +$(GLSRC)gxclthrd.h:$(GLSRC)gslparam.h $(GLSRC)gxclthrd.h:$(GLSRC)gsxfont.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxfixed.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsrefct.h -$(GLSRC)gxclthrd.h:$(GLSRC)gscpm.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxclio.h $(GLSRC)gxclthrd.h:$(GLSRC)gsiparam.h -$(GLSRC)gxclthrd.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsdsrc.h $(GLSRC)gxclthrd.h:$(GLSRC)gsio.h -$(GLSRC)gxclthrd.h:$(GLSRC)gp.h -$(GLSRC)gxclthrd.h:$(GLSRC)memento.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsparam.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsmatrix.h $(GLSRC)gxclthrd.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxclthrd.h:$(GLSRC)srdline.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxclthrd.h:$(GLSRC)gscpm.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxfixed.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsrefct.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsparam.h +$(GLSRC)gxclthrd.h:$(GLSRC)gp.h +$(GLSRC)gxclthrd.h:$(GLSRC)gsccolor.h $(GLSRC)gxclthrd.h:$(GLSRC)gsstruct.h $(GLSRC)gxclthrd.h:$(GLSRC)gxsync.h +$(GLSRC)gxclthrd.h:$(GLSRC)srdline.h +$(GLSRC)gxclthrd.h:$(GLSRC)scommon.h +$(GLSRC)gxclthrd.h:$(GLSRC)memento.h $(GLSRC)gxclthrd.h:$(GLSRC)vmsmath.h $(GLSRC)gxclthrd.h:$(GLSRC)gscsel.h -$(GLSRC)gxclthrd.h:$(GLSRC)scommon.h $(GLSRC)gxclthrd.h:$(GLSRC)gsbitmap.h $(GLSRC)gxclthrd.h:$(GLSRC)gsfname.h -$(GLSRC)gxclthrd.h:$(GLSRC)gsccolor.h $(GLSRC)gxclthrd.h:$(GLSRC)gsstype.h +$(GLSRC)gxclthrd.h:$(GLSRC)stat_.h +$(GLSRC)gxclthrd.h:$(GLSRC)gxtmap.h $(GLSRC)gxclthrd.h:$(GLSRC)gsmemory.h $(GLSRC)gxclthrd.h:$(GLSRC)gpsync.h -$(GLSRC)gxclthrd.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclthrd.h:$(GLSRC)memory_.h +$(GLSRC)gxclthrd.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclthrd.h:$(GLSRC)gslibctx.h $(GLSRC)gxclthrd.h:$(GLSRC)gscdefs.h +$(GLSRC)gxclthrd.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxclthrd.h:$(GLSRC)stdio_.h $(GLSRC)gxclthrd.h:$(GLSRC)gscompt.h $(GLSRC)gxclthrd.h:$(GLSRC)gxcindex.h -$(GLSRC)gxclthrd.h:$(GLSRC)stdint_.h $(GLSRC)gxclthrd.h:$(GLSRC)gsgstate.h +$(GLSRC)gxclthrd.h:$(GLSRC)stdint_.h +$(GLSRC)gxclthrd.h:$(GLSRC)gssprintf.h $(GLSRC)gxclthrd.h:$(GLSRC)gsccode.h -$(GLSRC)gxclthrd.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxclthrd.h:$(GLSRC)stdio_.h -$(GLSRC)gxclthrd.h:$(GLSRC)gstypes.h $(GLSRC)gxclthrd.h:$(GLSRC)std.h +$(GLSRC)gxclthrd.h:$(GLSRC)gstypes.h $(GLSRC)gxclthrd.h:$(GLSRC)stdpre.h $(GLSRC)gxclthrd.h:$(GLGEN)arch.h -$(GLSRC)gxclthrd.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevsop.h:$(GLSRC)gxdevcli.h $(GLSRC)gxdevsop.h:$(GLSRC)gxtext.h $(GLSRC)gxdevsop.h:$(GLSRC)gstext.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevsop.h:$(GLSRC)gstparam.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxcspace.h $(GLSRC)gxdevsop.h:$(GLSRC)gsropt.h $(GLSRC)gxdevsop.h:$(GLSRC)gsfunc.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevsop.h:$(GLSRC)gxrplane.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxcspace.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxdda.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxcvalue.h $(GLSRC)gxdevsop.h:$(GLSRC)gsfont.h $(GLSRC)gxdevsop.h:$(GLSRC)gxfmap.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxpath.h -$(GLSRC)gxdevsop.h:$(GLSRC)gspenum.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxtmap.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxftype.h $(GLSRC)gxdevsop.h:$(GLSRC)gxfrac.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxdda.h -$(GLSRC)gxdevsop.h:$(GLSRC)gslparam.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxbcache.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsrect.h $(GLSRC)gxdevsop.h:$(GLSRC)gscms.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxftype.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevsop.h:$(GLSRC)gscspace.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxpath.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxbcache.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevsop.h:$(GLSRC)gxarith.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevsop.h:$(GLSRC)gspenum.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxhttile.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsrect.h +$(GLSRC)gxdevsop.h:$(GLSRC)gslparam.h $(GLSRC)gxdevsop.h:$(GLSRC)gsxfont.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsiparam.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdevsop.h:$(GLSRC)gscpm.h $(GLSRC)gxdevsop.h:$(GLSRC)gxfixed.h $(GLSRC)gxdevsop.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdevsop.h:$(GLSRC)gscpm.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsiparam.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdevsop.h:$(GLSRC)gp.h -$(GLSRC)gxdevsop.h:$(GLSRC)memento.h $(GLSRC)gxdevsop.h:$(GLSRC)gsparam.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxdevsop.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxdevsop.h:$(GLSRC)srdline.h +$(GLSRC)gxdevsop.h:$(GLSRC)gp.h +$(GLSRC)gxdevsop.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevsop.h:$(GLSRC)gsstruct.h $(GLSRC)gxdevsop.h:$(GLSRC)gxsync.h -$(GLSRC)gxdevsop.h:$(GLSRC)gscsel.h +$(GLSRC)gxdevsop.h:$(GLSRC)srdline.h $(GLSRC)gxdevsop.h:$(GLSRC)scommon.h +$(GLSRC)gxdevsop.h:$(GLSRC)memento.h +$(GLSRC)gxdevsop.h:$(GLSRC)gscsel.h $(GLSRC)gxdevsop.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdevsop.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevsop.h:$(GLSRC)gsstype.h +$(GLSRC)gxdevsop.h:$(GLSRC)stat_.h +$(GLSRC)gxdevsop.h:$(GLSRC)gxtmap.h $(GLSRC)gxdevsop.h:$(GLSRC)gsmemory.h $(GLSRC)gxdevsop.h:$(GLSRC)gpsync.h -$(GLSRC)gxdevsop.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevsop.h:$(GLSRC)memory_.h +$(GLSRC)gxdevsop.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevsop.h:$(GLSRC)gslibctx.h $(GLSRC)gxdevsop.h:$(GLSRC)gscdefs.h +$(GLSRC)gxdevsop.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxdevsop.h:$(GLSRC)stdio_.h $(GLSRC)gxdevsop.h:$(GLSRC)gscompt.h $(GLSRC)gxdevsop.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdevsop.h:$(GLSRC)stdint_.h $(GLSRC)gxdevsop.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdevsop.h:$(GLSRC)stdint_.h +$(GLSRC)gxdevsop.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevsop.h:$(GLSRC)gsccode.h -$(GLSRC)gxdevsop.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxdevsop.h:$(GLSRC)stdio_.h -$(GLSRC)gxdevsop.h:$(GLSRC)gstypes.h $(GLSRC)gxdevsop.h:$(GLSRC)std.h +$(GLSRC)gxdevsop.h:$(GLSRC)gstypes.h $(GLSRC)gxdevsop.h:$(GLSRC)stdpre.h $(GLSRC)gxdevsop.h:$(GLGEN)arch.h -$(GLSRC)gxdevsop.h:$(GLSRC)gssprintf.h $(GLSRC)gdevflp.h:$(GLSRC)gxdevice.h $(GLSRC)gdevflp.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevflp.h:$(GLSRC)gxtext.h $(GLSRC)gdevflp.h:$(GLSRC)gstext.h +$(GLSRC)gdevflp.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevflp.h:$(GLSRC)gstparam.h -$(GLSRC)gdevflp.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevflp.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevflp.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevflp.h:$(GLSRC)gxcspace.h $(GLSRC)gdevflp.h:$(GLSRC)gsropt.h $(GLSRC)gdevflp.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevflp.h:$(GLSRC)gsnamecl.h +$(GLSRC)gdevflp.h:$(GLSRC)gsmalloc.h $(GLSRC)gdevflp.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevflp.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevflp.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevflp.h:$(GLSRC)gsuid.h +$(GLSRC)gdevflp.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevflp.h:$(GLSRC)gsimage.h +$(GLSRC)gdevflp.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevflp.h:$(GLSRC)gxdda.h +$(GLSRC)gdevflp.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevflp.h:$(GLSRC)gsfont.h $(GLSRC)gdevflp.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevflp.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevflp.h:$(GLSRC)gxpath.h -$(GLSRC)gdevflp.h:$(GLSRC)gspenum.h -$(GLSRC)gdevflp.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevflp.h:$(GLSRC)gsimage.h +$(GLSRC)gdevflp.h:$(GLSRC)gxftype.h $(GLSRC)gdevflp.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevflp.h:$(GLSRC)gxdda.h -$(GLSRC)gdevflp.h:$(GLSRC)gslparam.h -$(GLSRC)gdevflp.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevflp.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevflp.h:$(GLSRC)gsrect.h $(GLSRC)gdevflp.h:$(GLSRC)gscms.h -$(GLSRC)gdevflp.h:$(GLSRC)gxftype.h -$(GLSRC)gdevflp.h:$(GLSRC)gsdevice.h $(GLSRC)gdevflp.h:$(GLSRC)gscspace.h -$(GLSRC)gdevflp.h:$(GLSRC)gsuid.h +$(GLSRC)gdevflp.h:$(GLSRC)gxpath.h +$(GLSRC)gdevflp.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevflp.h:$(GLSRC)gsdevice.h $(GLSRC)gdevflp.h:$(GLSRC)gxarith.h -$(GLSRC)gdevflp.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevflp.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevflp.h:$(GLSRC)gspenum.h +$(GLSRC)gdevflp.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevflp.h:$(GLSRC)gsrect.h +$(GLSRC)gdevflp.h:$(GLSRC)gslparam.h $(GLSRC)gdevflp.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevflp.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevflp.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevflp.h:$(GLSRC)gscpm.h $(GLSRC)gdevflp.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevflp.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevflp.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevflp.h:$(GLSRC)gsio.h -$(GLSRC)gdevflp.h:$(GLSRC)gp.h -$(GLSRC)gdevflp.h:$(GLSRC)memento.h -$(GLSRC)gdevflp.h:$(GLSRC)gsparam.h -$(GLSRC)gdevflp.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevflp.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevflp.h:$(GLSRC)srdline.h +$(GLSRC)gdevflp.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevflp.h:$(GLSRC)gscpm.h +$(GLSRC)gdevflp.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevflp.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevflp.h:$(GLSRC)gsparam.h +$(GLSRC)gdevflp.h:$(GLSRC)gp.h +$(GLSRC)gdevflp.h:$(GLSRC)gsccolor.h $(GLSRC)gdevflp.h:$(GLSRC)gsstruct.h $(GLSRC)gdevflp.h:$(GLSRC)gxsync.h -$(GLSRC)gdevflp.h:$(GLSRC)gscsel.h +$(GLSRC)gdevflp.h:$(GLSRC)srdline.h $(GLSRC)gdevflp.h:$(GLSRC)scommon.h +$(GLSRC)gdevflp.h:$(GLSRC)memento.h +$(GLSRC)gdevflp.h:$(GLSRC)gscsel.h $(GLSRC)gdevflp.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevflp.h:$(GLSRC)gsfname.h -$(GLSRC)gdevflp.h:$(GLSRC)gsccolor.h $(GLSRC)gdevflp.h:$(GLSRC)gsstype.h +$(GLSRC)gdevflp.h:$(GLSRC)stat_.h +$(GLSRC)gdevflp.h:$(GLSRC)gxtmap.h $(GLSRC)gdevflp.h:$(GLSRC)gsmemory.h $(GLSRC)gdevflp.h:$(GLSRC)gpsync.h -$(GLSRC)gdevflp.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevflp.h:$(GLSRC)memory_.h +$(GLSRC)gdevflp.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevflp.h:$(GLSRC)gslibctx.h $(GLSRC)gdevflp.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevflp.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevflp.h:$(GLSRC)stdio_.h $(GLSRC)gdevflp.h:$(GLSRC)gscompt.h $(GLSRC)gdevflp.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevflp.h:$(GLSRC)stdint_.h $(GLSRC)gdevflp.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevflp.h:$(GLSRC)stdint_.h +$(GLSRC)gdevflp.h:$(GLSRC)gssprintf.h $(GLSRC)gdevflp.h:$(GLSRC)gsccode.h -$(GLSRC)gdevflp.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevflp.h:$(GLSRC)stdio_.h -$(GLSRC)gdevflp.h:$(GLSRC)gstypes.h $(GLSRC)gdevflp.h:$(GLSRC)std.h +$(GLSRC)gdevflp.h:$(GLSRC)gstypes.h $(GLSRC)gdevflp.h:$(GLSRC)stdpre.h $(GLSRC)gdevflp.h:$(GLGEN)arch.h -$(GLSRC)gdevflp.h:$(GLSRC)gssprintf.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gdevflp.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gdevoflt.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxdevice.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxtext.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gstext.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gstparam.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxcspace.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsropt.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsnamecl.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsmalloc.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsuid.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsimage.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxdda.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsfont.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxpath.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gspenum.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsimage.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxftype.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxdda.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gslparam.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsrect.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gscms.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxftype.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsdevice.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gscspace.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsuid.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxpath.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsdevice.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxarith.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gspenum.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsrect.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gslparam.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gscpm.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsio.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gp.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)memento.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsparam.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)srdline.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gscpm.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsparam.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gp.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsccolor.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsstruct.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxsync.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gscsel.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)srdline.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)scommon.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)memento.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gscsel.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsfname.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsccolor.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsstype.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)stat_.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxtmap.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsmemory.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gpsync.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)memory_.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gslibctx.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)stdio_.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gscompt.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)stdint_.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)stdint_.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gssprintf.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)gsccode.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)stdio_.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gstypes.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)std.h +$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gstypes.h $(GLSRC)gdevkrnlsclass.h:$(GLSRC)stdpre.h $(GLSRC)gdevkrnlsclass.h:$(GLGEN)arch.h -$(GLSRC)gdevkrnlsclass.h:$(GLSRC)gssprintf.h $(GLSRC)gdevsclass.h:$(GLSRC)gxdevice.h $(GLSRC)gdevsclass.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevsclass.h:$(GLSRC)gxtext.h $(GLSRC)gdevsclass.h:$(GLSRC)gstext.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevsclass.h:$(GLSRC)gstparam.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxcspace.h $(GLSRC)gdevsclass.h:$(GLSRC)gsropt.h $(GLSRC)gdevsclass.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsnamecl.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsmalloc.h $(GLSRC)gdevsclass.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsuid.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsimage.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxdda.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevsclass.h:$(GLSRC)gsfont.h $(GLSRC)gdevsclass.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxpath.h -$(GLSRC)gdevsclass.h:$(GLSRC)gspenum.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsimage.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxftype.h $(GLSRC)gdevsclass.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxdda.h -$(GLSRC)gdevsclass.h:$(GLSRC)gslparam.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsrect.h $(GLSRC)gdevsclass.h:$(GLSRC)gscms.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxftype.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsdevice.h $(GLSRC)gdevsclass.h:$(GLSRC)gscspace.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsuid.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxpath.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsdevice.h $(GLSRC)gdevsclass.h:$(GLSRC)gxarith.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevsclass.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevsclass.h:$(GLSRC)gspenum.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsrect.h +$(GLSRC)gdevsclass.h:$(GLSRC)gslparam.h $(GLSRC)gdevsclass.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevsclass.h:$(GLSRC)gscpm.h $(GLSRC)gdevsclass.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevsclass.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevsclass.h:$(GLSRC)gsio.h -$(GLSRC)gdevsclass.h:$(GLSRC)gp.h -$(GLSRC)gdevsclass.h:$(GLSRC)memento.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsparam.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevsclass.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevsclass.h:$(GLSRC)srdline.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevsclass.h:$(GLSRC)gscpm.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsparam.h +$(GLSRC)gdevsclass.h:$(GLSRC)gp.h +$(GLSRC)gdevsclass.h:$(GLSRC)gsccolor.h $(GLSRC)gdevsclass.h:$(GLSRC)gsstruct.h $(GLSRC)gdevsclass.h:$(GLSRC)gxsync.h -$(GLSRC)gdevsclass.h:$(GLSRC)gscsel.h +$(GLSRC)gdevsclass.h:$(GLSRC)srdline.h $(GLSRC)gdevsclass.h:$(GLSRC)scommon.h +$(GLSRC)gdevsclass.h:$(GLSRC)memento.h +$(GLSRC)gdevsclass.h:$(GLSRC)gscsel.h $(GLSRC)gdevsclass.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevsclass.h:$(GLSRC)gsfname.h -$(GLSRC)gdevsclass.h:$(GLSRC)gsccolor.h $(GLSRC)gdevsclass.h:$(GLSRC)gsstype.h +$(GLSRC)gdevsclass.h:$(GLSRC)stat_.h +$(GLSRC)gdevsclass.h:$(GLSRC)gxtmap.h $(GLSRC)gdevsclass.h:$(GLSRC)gsmemory.h $(GLSRC)gdevsclass.h:$(GLSRC)gpsync.h -$(GLSRC)gdevsclass.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevsclass.h:$(GLSRC)memory_.h +$(GLSRC)gdevsclass.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevsclass.h:$(GLSRC)gslibctx.h $(GLSRC)gdevsclass.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevsclass.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevsclass.h:$(GLSRC)stdio_.h $(GLSRC)gdevsclass.h:$(GLSRC)gscompt.h $(GLSRC)gdevsclass.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevsclass.h:$(GLSRC)stdint_.h $(GLSRC)gdevsclass.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevsclass.h:$(GLSRC)stdint_.h +$(GLSRC)gdevsclass.h:$(GLSRC)gssprintf.h $(GLSRC)gdevsclass.h:$(GLSRC)gsccode.h -$(GLSRC)gdevsclass.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevsclass.h:$(GLSRC)stdio_.h -$(GLSRC)gdevsclass.h:$(GLSRC)gstypes.h $(GLSRC)gdevsclass.h:$(GLSRC)std.h +$(GLSRC)gdevsclass.h:$(GLSRC)gstypes.h $(GLSRC)gdevsclass.h:$(GLSRC)stdpre.h $(GLSRC)gdevsclass.h:$(GLGEN)arch.h -$(GLSRC)gdevsclass.h:$(GLSRC)gssprintf.h $(GLSRC)gsnotify.h:$(GLSRC)gsstype.h $(GLSRC)gsnotify.h:$(GLSRC)gsmemory.h $(GLSRC)gsnotify.h:$(GLSRC)gslibctx.h $(GLSRC)gsnotify.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsnotify.h:$(GLSRC)stdio_.h -$(GLSRC)gsnotify.h:$(GLSRC)gstypes.h +$(GLSRC)gsnotify.h:$(GLSRC)gssprintf.h $(GLSRC)gsnotify.h:$(GLSRC)std.h +$(GLSRC)gsnotify.h:$(GLSRC)gstypes.h $(GLSRC)gsnotify.h:$(GLSRC)stdpre.h $(GLSRC)gsnotify.h:$(GLGEN)arch.h -$(GLSRC)gsnotify.h:$(GLSRC)gssprintf.h $(GLSRC)gsstruct.h:$(GLSRC)gsstype.h $(GLSRC)gsstruct.h:$(GLSRC)gsmemory.h $(GLSRC)gsstruct.h:$(GLSRC)gslibctx.h $(GLSRC)gsstruct.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsstruct.h:$(GLSRC)stdio_.h -$(GLSRC)gsstruct.h:$(GLSRC)gstypes.h +$(GLSRC)gsstruct.h:$(GLSRC)gssprintf.h $(GLSRC)gsstruct.h:$(GLSRC)std.h +$(GLSRC)gsstruct.h:$(GLSRC)gstypes.h $(GLSRC)gsstruct.h:$(GLSRC)stdpre.h $(GLSRC)gsstruct.h:$(GLGEN)arch.h -$(GLSRC)gsstruct.h:$(GLSRC)gssprintf.h $(GLSRC)gsbitmap.h:$(GLSRC)gsstype.h $(GLSRC)gsbitmap.h:$(GLSRC)gsmemory.h $(GLSRC)gsbitmap.h:$(GLSRC)gslibctx.h $(GLSRC)gsbitmap.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsbitmap.h:$(GLSRC)stdio_.h -$(GLSRC)gsbitmap.h:$(GLSRC)gstypes.h +$(GLSRC)gsbitmap.h:$(GLSRC)gssprintf.h $(GLSRC)gsbitmap.h:$(GLSRC)std.h +$(GLSRC)gsbitmap.h:$(GLSRC)gstypes.h $(GLSRC)gsbitmap.h:$(GLSRC)stdpre.h $(GLSRC)gsbitmap.h:$(GLGEN)arch.h -$(GLSRC)gsbitmap.h:$(GLSRC)gssprintf.h $(GLSRC)gsbitops.h:$(GLSRC)gxcindex.h $(GLSRC)gsbitops.h:$(GLSRC)stdint_.h -$(GLSRC)gsbitops.h:$(GLSRC)gstypes.h $(GLSRC)gsbitops.h:$(GLSRC)std.h +$(GLSRC)gsbitops.h:$(GLSRC)gstypes.h $(GLSRC)gsbitops.h:$(GLSRC)stdpre.h $(GLSRC)gsbitops.h:$(GLGEN)arch.h $(GLSRC)gsbittab.h:$(GLSRC)gstypes.h @@ -4490,8 +4557,8 @@ $(GLSRC)gsflip.h:$(GLSRC)stdpre.h $(GLSRC)gsuid.h:$(GLSRC)std.h $(GLSRC)gsuid.h:$(GLSRC)stdpre.h $(GLSRC)gsuid.h:$(GLGEN)arch.h -$(GLSRC)gsutil.h:$(GLSRC)gstypes.h $(GLSRC)gsutil.h:$(GLSRC)std.h +$(GLSRC)gsutil.h:$(GLSRC)gstypes.h $(GLSRC)gsutil.h:$(GLSRC)stdpre.h $(GLSRC)gsutil.h:$(GLGEN)arch.h $(GLSRC)gxbitmap.h:$(GLSRC)gsbitmap.h @@ -4500,11 +4567,11 @@ $(GLSRC)gxbitmap.h:$(GLSRC)gsmemory.h $(GLSRC)gxbitmap.h:$(GLSRC)gslibctx.h $(GLSRC)gxbitmap.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxbitmap.h:$(GLSRC)stdio_.h -$(GLSRC)gxbitmap.h:$(GLSRC)gstypes.h +$(GLSRC)gxbitmap.h:$(GLSRC)gssprintf.h $(GLSRC)gxbitmap.h:$(GLSRC)std.h +$(GLSRC)gxbitmap.h:$(GLSRC)gstypes.h $(GLSRC)gxbitmap.h:$(GLSRC)stdpre.h $(GLSRC)gxbitmap.h:$(GLGEN)arch.h -$(GLSRC)gxbitmap.h:$(GLSRC)gssprintf.h $(GLSRC)gxfarith.h:$(GLSRC)gxarith.h $(GLSRC)gxfarith.h:$(GLSRC)stdpre.h $(GLSRC)gxfixed.h:$(GLSRC)std.h @@ -4518,30 +4585,30 @@ $(GLSRC)gxobj.h:$(GLSRC)gsmemory.h $(GLSRC)gxobj.h:$(GLSRC)gslibctx.h $(GLSRC)gxobj.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxobj.h:$(GLSRC)stdio_.h -$(GLSRC)gxobj.h:$(GLSRC)gstypes.h +$(GLSRC)gxobj.h:$(GLSRC)gssprintf.h $(GLSRC)gxobj.h:$(GLSRC)std.h +$(GLSRC)gxobj.h:$(GLSRC)gstypes.h $(GLSRC)gxobj.h:$(GLSRC)stdpre.h $(GLSRC)gxobj.h:$(GLGEN)arch.h -$(GLSRC)gxobj.h:$(GLSRC)gssprintf.h $(GLSRC)gxrplane.h:$(GLSRC)gsdevice.h -$(GLSRC)gxrplane.h:$(GLSRC)gsparam.h $(GLSRC)gxrplane.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxrplane.h:$(GLSRC)gsparam.h $(GLSRC)gxrplane.h:$(GLSRC)scommon.h $(GLSRC)gxrplane.h:$(GLSRC)gsstype.h $(GLSRC)gxrplane.h:$(GLSRC)gsmemory.h $(GLSRC)gxrplane.h:$(GLSRC)gslibctx.h -$(GLSRC)gxrplane.h:$(GLSRC)stdint_.h -$(GLSRC)gxrplane.h:$(GLSRC)gsgstate.h $(GLSRC)gxrplane.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxrplane.h:$(GLSRC)stdio_.h -$(GLSRC)gxrplane.h:$(GLSRC)gstypes.h +$(GLSRC)gxrplane.h:$(GLSRC)gsgstate.h +$(GLSRC)gxrplane.h:$(GLSRC)stdint_.h +$(GLSRC)gxrplane.h:$(GLSRC)gssprintf.h $(GLSRC)gxrplane.h:$(GLSRC)std.h +$(GLSRC)gxrplane.h:$(GLSRC)gstypes.h $(GLSRC)gxrplane.h:$(GLSRC)stdpre.h $(GLSRC)gxrplane.h:$(GLGEN)arch.h -$(GLSRC)gxrplane.h:$(GLSRC)gssprintf.h $(GLSRC)gsrect.h:$(GLSRC)gxfixed.h -$(GLSRC)gsrect.h:$(GLSRC)gstypes.h $(GLSRC)gsrect.h:$(GLSRC)std.h +$(GLSRC)gsrect.h:$(GLSRC)gstypes.h $(GLSRC)gsrect.h:$(GLSRC)stdpre.h $(GLSRC)gsrect.h:$(GLGEN)arch.h $(GLSRC)gxalloc.h:$(GLSRC)gxobj.h @@ -4552,20 +4619,20 @@ $(GLSRC)gxalloc.h:$(GLSRC)gsbitmap.h $(GLSRC)gxalloc.h:$(GLSRC)gsstype.h $(GLSRC)gxalloc.h:$(GLSRC)gsmemory.h $(GLSRC)gxalloc.h:$(GLSRC)gslibctx.h -$(GLSRC)gxalloc.h:$(GLSRC)gsalloc.h -$(GLSRC)gxalloc.h:$(GLSRC)stdint_.h $(GLSRC)gxalloc.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxalloc.h:$(GLSRC)gsalloc.h $(GLSRC)gxalloc.h:$(GLSRC)stdio_.h -$(GLSRC)gxalloc.h:$(GLSRC)gstypes.h +$(GLSRC)gxalloc.h:$(GLSRC)stdint_.h +$(GLSRC)gxalloc.h:$(GLSRC)gssprintf.h $(GLSRC)gxalloc.h:$(GLSRC)std.h +$(GLSRC)gxalloc.h:$(GLSRC)gstypes.h $(GLSRC)gxalloc.h:$(GLSRC)stdpre.h $(GLSRC)gxalloc.h:$(GLGEN)arch.h -$(GLSRC)gxalloc.h:$(GLSRC)gssprintf.h $(GLSRC)gxbitops.h:$(GLSRC)gsbitops.h $(GLSRC)gxbitops.h:$(GLSRC)gxcindex.h $(GLSRC)gxbitops.h:$(GLSRC)stdint_.h -$(GLSRC)gxbitops.h:$(GLSRC)gstypes.h $(GLSRC)gxbitops.h:$(GLSRC)std.h +$(GLSRC)gxbitops.h:$(GLSRC)gstypes.h $(GLSRC)gxbitops.h:$(GLSRC)stdpre.h $(GLSRC)gxbitops.h:$(GLGEN)arch.h $(GLSRC)gxcindex.h:$(GLSRC)stdint_.h @@ -4582,199 +4649,206 @@ $(GLSRC)gxfont42.h:$(GLSRC)gsnotify.h $(GLSRC)gxfont42.h:$(GLSRC)gsfcmap.h $(GLSRC)gxfont42.h:$(GLSRC)gstext.h $(GLSRC)gxfont42.h:$(GLSRC)gxfcache.h +$(GLSRC)gxfont42.h:$(GLSRC)gsuid.h +$(GLSRC)gxfont42.h:$(GLSRC)gsdcolor.h $(GLSRC)gxfont42.h:$(GLSRC)gsfont.h +$(GLSRC)gxfont42.h:$(GLSRC)gxftype.h +$(GLSRC)gxfont42.h:$(GLSRC)gscms.h +$(GLSRC)gxfont42.h:$(GLSRC)gscspace.h $(GLSRC)gxfont42.h:$(GLSRC)gxpath.h -$(GLSRC)gxfont42.h:$(GLSRC)gspenum.h -$(GLSRC)gxfont42.h:$(GLSRC)gslparam.h $(GLSRC)gxfont42.h:$(GLSRC)gxbcache.h -$(GLSRC)gxfont42.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxfont42.h:$(GLSRC)gsrect.h -$(GLSRC)gxfont42.h:$(GLSRC)gscms.h -$(GLSRC)gxfont42.h:$(GLSRC)gxftype.h $(GLSRC)gxfont42.h:$(GLSRC)gsdevice.h -$(GLSRC)gxfont42.h:$(GLSRC)gscspace.h -$(GLSRC)gxfont42.h:$(GLSRC)gsuid.h $(GLSRC)gxfont42.h:$(GLSRC)gxarith.h +$(GLSRC)gxfont42.h:$(GLSRC)gspenum.h +$(GLSRC)gxfont42.h:$(GLSRC)gxhttile.h +$(GLSRC)gxfont42.h:$(GLSRC)gsrect.h +$(GLSRC)gxfont42.h:$(GLSRC)gslparam.h $(GLSRC)gxfont42.h:$(GLSRC)gsxfont.h +$(GLSRC)gxfont42.h:$(GLSRC)gsiparam.h +$(GLSRC)gxfont42.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont42.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxfont42.h:$(GLSRC)gscpm.h $(GLSRC)gxfont42.h:$(GLSRC)gxfixed.h $(GLSRC)gxfont42.h:$(GLSRC)gsrefct.h -$(GLSRC)gxfont42.h:$(GLSRC)gscpm.h -$(GLSRC)gxfont42.h:$(GLSRC)gsiparam.h -$(GLSRC)gxfont42.h:$(GLSRC)gxhttile.h -$(GLSRC)gxfont42.h:$(GLSRC)memento.h $(GLSRC)gxfont42.h:$(GLSRC)gsparam.h -$(GLSRC)gxfont42.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxfont42.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont42.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont42.h:$(GLSRC)gxsync.h $(GLSRC)gxfont42.h:$(GLSRC)scommon.h +$(GLSRC)gxfont42.h:$(GLSRC)memento.h $(GLSRC)gxfont42.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxfont42.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont42.h:$(GLSRC)gsstype.h $(GLSRC)gxfont42.h:$(GLSRC)gsmemory.h $(GLSRC)gxfont42.h:$(GLSRC)gpsync.h $(GLSRC)gxfont42.h:$(GLSRC)gslibctx.h +$(GLSRC)gxfont42.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxfont42.h:$(GLSRC)stdio_.h $(GLSRC)gxfont42.h:$(GLSRC)gxcindex.h -$(GLSRC)gxfont42.h:$(GLSRC)stdint_.h $(GLSRC)gxfont42.h:$(GLSRC)gsgstate.h +$(GLSRC)gxfont42.h:$(GLSRC)stdint_.h +$(GLSRC)gxfont42.h:$(GLSRC)gssprintf.h $(GLSRC)gxfont42.h:$(GLSRC)gsccode.h -$(GLSRC)gxfont42.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxfont42.h:$(GLSRC)stdio_.h -$(GLSRC)gxfont42.h:$(GLSRC)gstypes.h $(GLSRC)gxfont42.h:$(GLSRC)std.h +$(GLSRC)gxfont42.h:$(GLSRC)gstypes.h $(GLSRC)gxfont42.h:$(GLSRC)stdpre.h $(GLSRC)gxfont42.h:$(GLGEN)arch.h -$(GLSRC)gxfont42.h:$(GLSRC)gssprintf.h -$(GLSRC)gstrans.h:$(GLSRC)gxcomp.h $(GLSRC)gstrans.h:$(GLSRC)gdevp14.h $(GLSRC)gstrans.h:$(GLSRC)gxcolor2.h $(GLSRC)gstrans.h:$(GLSRC)gxpcolor.h $(GLSRC)gstrans.h:$(GLSRC)gdevdevn.h +$(GLSRC)gstrans.h:$(GLSRC)gsequivc.h $(GLSRC)gstrans.h:$(GLSRC)gxblend.h +$(GLSRC)gstrans.h:$(GLSRC)gxcomp.h +$(GLSRC)gstrans.h:$(GLSRC)gxdcolor.h $(GLSRC)gstrans.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gstrans.h:$(GLSRC)gsequivc.h $(GLSRC)gstrans.h:$(GLSRC)gscolor2.h +$(GLSRC)gstrans.h:$(GLSRC)gscindex.h $(GLSRC)gstrans.h:$(GLSRC)gxdevice.h $(GLSRC)gstrans.h:$(GLSRC)gxcpath.h $(GLSRC)gstrans.h:$(GLSRC)gxdevmem.h +$(GLSRC)gstrans.h:$(GLSRC)gxdevcli.h $(GLSRC)gstrans.h:$(GLSRC)gxpcache.h -$(GLSRC)gstrans.h:$(GLSRC)gscindex.h $(GLSRC)gstrans.h:$(GLSRC)gsptype1.h -$(GLSRC)gstrans.h:$(GLSRC)gxdevcli.h $(GLSRC)gstrans.h:$(GLSRC)gxtext.h -$(GLSRC)gstrans.h:$(GLSRC)gspcolor.h +$(GLSRC)gstrans.h:$(GLSRC)gscie.h $(GLSRC)gstrans.h:$(GLSRC)gstext.h -$(GLSRC)gstrans.h:$(GLSRC)gxdcolor.h +$(GLSRC)gstrans.h:$(GLSRC)gsnamecl.h $(GLSRC)gstrans.h:$(GLSRC)gstparam.h -$(GLSRC)gstrans.h:$(GLSRC)gscie.h -$(GLSRC)gstrans.h:$(GLSRC)gxcmap.h -$(GLSRC)gstrans.h:$(GLSRC)gsmalloc.h +$(GLSRC)gstrans.h:$(GLSRC)gspcolor.h +$(GLSRC)gstrans.h:$(GLSRC)gxfcache.h +$(GLSRC)gstrans.h:$(GLSRC)gxcspace.h $(GLSRC)gstrans.h:$(GLSRC)gsropt.h $(GLSRC)gstrans.h:$(GLSRC)gsfunc.h -$(GLSRC)gstrans.h:$(GLSRC)gxctable.h -$(GLSRC)gstrans.h:$(GLSRC)gsnamecl.h +$(GLSRC)gstrans.h:$(GLSRC)gsmalloc.h $(GLSRC)gstrans.h:$(GLSRC)gxrplane.h -$(GLSRC)gstrans.h:$(GLSRC)gxcspace.h -$(GLSRC)gstrans.h:$(GLSRC)gxiclass.h -$(GLSRC)gstrans.h:$(GLSRC)gxfcache.h +$(GLSRC)gstrans.h:$(GLSRC)gxctable.h +$(GLSRC)gstrans.h:$(GLSRC)gsuid.h +$(GLSRC)gstrans.h:$(GLSRC)gxcmap.h +$(GLSRC)gstrans.h:$(GLSRC)gsimage.h +$(GLSRC)gstrans.h:$(GLSRC)gsdcolor.h +$(GLSRC)gstrans.h:$(GLSRC)gxdda.h +$(GLSRC)gstrans.h:$(GLSRC)gxcvalue.h $(GLSRC)gstrans.h:$(GLSRC)gsfont.h $(GLSRC)gstrans.h:$(GLSRC)gxfmap.h -$(GLSRC)gstrans.h:$(GLSRC)gxcvalue.h -$(GLSRC)gstrans.h:$(GLSRC)gxpath.h -$(GLSRC)gstrans.h:$(GLSRC)gspenum.h -$(GLSRC)gstrans.h:$(GLSRC)gxtmap.h -$(GLSRC)gstrans.h:$(GLSRC)gsimage.h +$(GLSRC)gstrans.h:$(GLSRC)gxiclass.h +$(GLSRC)gstrans.h:$(GLSRC)gxftype.h $(GLSRC)gstrans.h:$(GLSRC)gxfrac.h -$(GLSRC)gstrans.h:$(GLSRC)gxdda.h -$(GLSRC)gstrans.h:$(GLSRC)gslparam.h -$(GLSRC)gstrans.h:$(GLSRC)gxbcache.h -$(GLSRC)gstrans.h:$(GLSRC)gsdcolor.h -$(GLSRC)gstrans.h:$(GLSRC)gsrect.h $(GLSRC)gstrans.h:$(GLSRC)gscms.h -$(GLSRC)gstrans.h:$(GLSRC)gxftype.h -$(GLSRC)gstrans.h:$(GLSRC)gsdevice.h $(GLSRC)gstrans.h:$(GLSRC)gscspace.h -$(GLSRC)gstrans.h:$(GLSRC)gsuid.h +$(GLSRC)gstrans.h:$(GLSRC)gxpath.h +$(GLSRC)gstrans.h:$(GLSRC)gxbcache.h +$(GLSRC)gstrans.h:$(GLSRC)gsdevice.h $(GLSRC)gstrans.h:$(GLSRC)gxarith.h -$(GLSRC)gstrans.h:$(GLSRC)gsdsrc.h $(GLSRC)gstrans.h:$(GLSRC)gxstdio.h +$(GLSRC)gstrans.h:$(GLSRC)gspenum.h +$(GLSRC)gstrans.h:$(GLSRC)gxhttile.h +$(GLSRC)gstrans.h:$(GLSRC)gsrect.h +$(GLSRC)gstrans.h:$(GLSRC)gslparam.h $(GLSRC)gstrans.h:$(GLSRC)gsxfont.h -$(GLSRC)gstrans.h:$(GLSRC)gxfixed.h -$(GLSRC)gstrans.h:$(GLSRC)gsrefct.h -$(GLSRC)gstrans.h:$(GLSRC)gscpm.h $(GLSRC)gstrans.h:$(GLSRC)gsiparam.h -$(GLSRC)gstrans.h:$(GLSRC)gxhttile.h +$(GLSRC)gstrans.h:$(GLSRC)gsdsrc.h $(GLSRC)gstrans.h:$(GLSRC)gsio.h -$(GLSRC)gstrans.h:$(GLSRC)gp.h -$(GLSRC)gstrans.h:$(GLSRC)memento.h -$(GLSRC)gstrans.h:$(GLSRC)gsparam.h -$(GLSRC)gstrans.h:$(GLSRC)gsmatrix.h $(GLSRC)gstrans.h:$(GLSRC)gxbitmap.h -$(GLSRC)gstrans.h:$(GLSRC)srdline.h +$(GLSRC)gstrans.h:$(GLSRC)gsmatrix.h +$(GLSRC)gstrans.h:$(GLSRC)gscpm.h +$(GLSRC)gstrans.h:$(GLSRC)gxfixed.h +$(GLSRC)gstrans.h:$(GLSRC)gsrefct.h +$(GLSRC)gstrans.h:$(GLSRC)gsparam.h +$(GLSRC)gstrans.h:$(GLSRC)gp.h +$(GLSRC)gstrans.h:$(GLSRC)gsccolor.h $(GLSRC)gstrans.h:$(GLSRC)gsstruct.h $(GLSRC)gstrans.h:$(GLSRC)gxsync.h -$(GLSRC)gstrans.h:$(GLSRC)gscsel.h +$(GLSRC)gstrans.h:$(GLSRC)srdline.h $(GLSRC)gstrans.h:$(GLSRC)scommon.h +$(GLSRC)gstrans.h:$(GLSRC)memento.h +$(GLSRC)gstrans.h:$(GLSRC)gscsel.h $(GLSRC)gstrans.h:$(GLSRC)gsbitmap.h $(GLSRC)gstrans.h:$(GLSRC)gsfname.h -$(GLSRC)gstrans.h:$(GLSRC)gsccolor.h $(GLSRC)gstrans.h:$(GLSRC)gsstype.h +$(GLSRC)gstrans.h:$(GLSRC)stat_.h +$(GLSRC)gstrans.h:$(GLSRC)gxtmap.h $(GLSRC)gstrans.h:$(GLSRC)gsmemory.h $(GLSRC)gstrans.h:$(GLSRC)gpsync.h -$(GLSRC)gstrans.h:$(GLSRC)gpgetenv.h $(GLSRC)gstrans.h:$(GLSRC)memory_.h +$(GLSRC)gstrans.h:$(GLSRC)gpgetenv.h $(GLSRC)gstrans.h:$(GLSRC)gslibctx.h $(GLSRC)gstrans.h:$(GLSRC)gscdefs.h +$(GLSRC)gstrans.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gstrans.h:$(GLSRC)stdio_.h $(GLSRC)gstrans.h:$(GLSRC)gscompt.h $(GLSRC)gstrans.h:$(GLSRC)gxcindex.h -$(GLSRC)gstrans.h:$(GLSRC)stdint_.h $(GLSRC)gstrans.h:$(GLSRC)gsgstate.h +$(GLSRC)gstrans.h:$(GLSRC)stdint_.h +$(GLSRC)gstrans.h:$(GLSRC)gssprintf.h $(GLSRC)gstrans.h:$(GLSRC)gsccode.h -$(GLSRC)gstrans.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gstrans.h:$(GLSRC)stdio_.h -$(GLSRC)gstrans.h:$(GLSRC)gstypes.h $(GLSRC)gstrans.h:$(GLSRC)std.h +$(GLSRC)gstrans.h:$(GLSRC)gstypes.h $(GLSRC)gstrans.h:$(GLSRC)stdpre.h $(GLSRC)gstrans.h:$(GLGEN)arch.h -$(GLSRC)gstrans.h:$(GLSRC)gssprintf.h $(GLSRC)scommon.h:$(GLSRC)gsstype.h $(GLSRC)scommon.h:$(GLSRC)gsmemory.h $(GLSRC)scommon.h:$(GLSRC)gslibctx.h -$(GLSRC)scommon.h:$(GLSRC)stdint_.h $(GLSRC)scommon.h:$(GLSRC)gs_dll_call.h $(GLSRC)scommon.h:$(GLSRC)stdio_.h -$(GLSRC)scommon.h:$(GLSRC)gstypes.h +$(GLSRC)scommon.h:$(GLSRC)stdint_.h +$(GLSRC)scommon.h:$(GLSRC)gssprintf.h $(GLSRC)scommon.h:$(GLSRC)std.h +$(GLSRC)scommon.h:$(GLSRC)gstypes.h $(GLSRC)scommon.h:$(GLSRC)stdpre.h $(GLSRC)scommon.h:$(GLGEN)arch.h -$(GLSRC)scommon.h:$(GLSRC)gssprintf.h $(GLSRC)stream.h:$(GLSRC)gxiodev.h -$(GLSRC)stream.h:$(GLSRC)stat_.h +$(GLSRC)stream.h:$(GLSRC)gsparam.h $(GLSRC)stream.h:$(GLSRC)gp.h $(GLSRC)stream.h:$(GLSRC)srdline.h $(GLSRC)stream.h:$(GLSRC)scommon.h $(GLSRC)stream.h:$(GLSRC)gsfname.h $(GLSRC)stream.h:$(GLSRC)gsstype.h +$(GLSRC)stream.h:$(GLSRC)stat_.h $(GLSRC)stream.h:$(GLSRC)gsmemory.h -$(GLSRC)stream.h:$(GLSRC)gpgetenv.h $(GLSRC)stream.h:$(GLSRC)memory_.h +$(GLSRC)stream.h:$(GLSRC)gpgetenv.h $(GLSRC)stream.h:$(GLSRC)gslibctx.h $(GLSRC)stream.h:$(GLSRC)gscdefs.h -$(GLSRC)stream.h:$(GLSRC)stdint_.h $(GLSRC)stream.h:$(GLSRC)gs_dll_call.h $(GLSRC)stream.h:$(GLSRC)stdio_.h -$(GLSRC)stream.h:$(GLSRC)gstypes.h +$(GLSRC)stream.h:$(GLSRC)stdint_.h +$(GLSRC)stream.h:$(GLSRC)gssprintf.h $(GLSRC)stream.h:$(GLSRC)std.h +$(GLSRC)stream.h:$(GLSRC)gstypes.h $(GLSRC)stream.h:$(GLSRC)stdpre.h $(GLSRC)stream.h:$(GLGEN)arch.h -$(GLSRC)stream.h:$(GLSRC)gssprintf.h $(GLSRC)ramfs.h:$(GLSRC)stream.h $(GLSRC)ramfs.h:$(GLSRC)gxiodev.h -$(GLSRC)ramfs.h:$(GLSRC)stat_.h +$(GLSRC)ramfs.h:$(GLSRC)gsparam.h $(GLSRC)ramfs.h:$(GLSRC)gp.h $(GLSRC)ramfs.h:$(GLSRC)srdline.h $(GLSRC)ramfs.h:$(GLSRC)scommon.h $(GLSRC)ramfs.h:$(GLSRC)gsfname.h $(GLSRC)ramfs.h:$(GLSRC)gsstype.h +$(GLSRC)ramfs.h:$(GLSRC)stat_.h $(GLSRC)ramfs.h:$(GLSRC)gsmemory.h -$(GLSRC)ramfs.h:$(GLSRC)gpgetenv.h $(GLSRC)ramfs.h:$(GLSRC)memory_.h +$(GLSRC)ramfs.h:$(GLSRC)gpgetenv.h $(GLSRC)ramfs.h:$(GLSRC)gslibctx.h $(GLSRC)ramfs.h:$(GLSRC)gscdefs.h -$(GLSRC)ramfs.h:$(GLSRC)stdint_.h $(GLSRC)ramfs.h:$(GLSRC)gs_dll_call.h $(GLSRC)ramfs.h:$(GLSRC)stdio_.h -$(GLSRC)ramfs.h:$(GLSRC)gstypes.h +$(GLSRC)ramfs.h:$(GLSRC)stdint_.h +$(GLSRC)ramfs.h:$(GLSRC)gssprintf.h $(GLSRC)ramfs.h:$(GLSRC)std.h +$(GLSRC)ramfs.h:$(GLSRC)gstypes.h $(GLSRC)ramfs.h:$(GLSRC)stdpre.h $(GLSRC)ramfs.h:$(GLGEN)arch.h -$(GLSRC)ramfs.h:$(GLSRC)gssprintf.h +$(GLSRC)gsmd5.h:$(GLSRC)memory_.h +$(GLSRC)gsmd5.h:$(GLSRC)std.h +$(GLSRC)gsmd5.h:$(GLSRC)stdpre.h +$(GLSRC)gsmd5.h:$(GLGEN)arch.h $(GLSRC)sha2.h:$(GLSRC)stdint_.h $(GLSRC)sha2.h:$(GLSRC)std.h $(GLSRC)sha2.h:$(GLSRC)stdpre.h $(GLSRC)sha2.h:$(GLGEN)arch.h $(GLSRC)gsalpha.h:$(GLSRC)gsgstate.h -$(GLSRC)gsccode.h:$(GLSRC)gstypes.h $(GLSRC)gsccode.h:$(GLSRC)std.h +$(GLSRC)gsccode.h:$(GLSRC)gstypes.h $(GLSRC)gsccode.h:$(GLSRC)stdpre.h $(GLSRC)gsccode.h:$(GLGEN)arch.h $(GLSRC)gsccolor.h:$(GLSRC)gsstype.h @@ -4782,15 +4856,15 @@ $(GLSRC)gsccolor.h:$(GLSRC)gsmemory.h $(GLSRC)gsccolor.h:$(GLSRC)gslibctx.h $(GLSRC)gsccolor.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsccolor.h:$(GLSRC)stdio_.h -$(GLSRC)gsccolor.h:$(GLSRC)gstypes.h +$(GLSRC)gsccolor.h:$(GLSRC)gssprintf.h $(GLSRC)gsccolor.h:$(GLSRC)std.h +$(GLSRC)gsccolor.h:$(GLSRC)gstypes.h $(GLSRC)gsccolor.h:$(GLSRC)stdpre.h $(GLSRC)gsccolor.h:$(GLGEN)arch.h -$(GLSRC)gsccolor.h:$(GLSRC)gssprintf.h $(GLSRC)gscedata.h:$(GLSRC)stdpre.h $(GLSRC)gscencs.h:$(GLSRC)gsccode.h -$(GLSRC)gscencs.h:$(GLSRC)gstypes.h $(GLSRC)gscencs.h:$(GLSRC)std.h +$(GLSRC)gscencs.h:$(GLSRC)gstypes.h $(GLSRC)gscencs.h:$(GLSRC)stdpre.h $(GLSRC)gscencs.h:$(GLGEN)arch.h $(GLSRC)gsclipsr.h:$(GLSRC)gsgstate.h @@ -4804,33 +4878,33 @@ $(GLSRC)gscoord.h:$(GLSRC)scommon.h $(GLSRC)gscoord.h:$(GLSRC)gsstype.h $(GLSRC)gscoord.h:$(GLSRC)gsmemory.h $(GLSRC)gscoord.h:$(GLSRC)gslibctx.h -$(GLSRC)gscoord.h:$(GLSRC)stdint_.h -$(GLSRC)gscoord.h:$(GLSRC)gsgstate.h $(GLSRC)gscoord.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscoord.h:$(GLSRC)stdio_.h -$(GLSRC)gscoord.h:$(GLSRC)gstypes.h +$(GLSRC)gscoord.h:$(GLSRC)gsgstate.h +$(GLSRC)gscoord.h:$(GLSRC)stdint_.h +$(GLSRC)gscoord.h:$(GLSRC)gssprintf.h $(GLSRC)gscoord.h:$(GLSRC)std.h +$(GLSRC)gscoord.h:$(GLSRC)gstypes.h $(GLSRC)gscoord.h:$(GLSRC)stdpre.h $(GLSRC)gscoord.h:$(GLGEN)arch.h -$(GLSRC)gscoord.h:$(GLSRC)gssprintf.h -$(GLSRC)gsdevice.h:$(GLSRC)gsparam.h $(GLSRC)gsdevice.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsdevice.h:$(GLSRC)gsparam.h $(GLSRC)gsdevice.h:$(GLSRC)scommon.h $(GLSRC)gsdevice.h:$(GLSRC)gsstype.h $(GLSRC)gsdevice.h:$(GLSRC)gsmemory.h $(GLSRC)gsdevice.h:$(GLSRC)gslibctx.h -$(GLSRC)gsdevice.h:$(GLSRC)stdint_.h -$(GLSRC)gsdevice.h:$(GLSRC)gsgstate.h $(GLSRC)gsdevice.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsdevice.h:$(GLSRC)stdio_.h -$(GLSRC)gsdevice.h:$(GLSRC)gstypes.h +$(GLSRC)gsdevice.h:$(GLSRC)gsgstate.h +$(GLSRC)gsdevice.h:$(GLSRC)stdint_.h +$(GLSRC)gsdevice.h:$(GLSRC)gssprintf.h $(GLSRC)gsdevice.h:$(GLSRC)std.h +$(GLSRC)gsdevice.h:$(GLSRC)gstypes.h $(GLSRC)gsdevice.h:$(GLSRC)stdpre.h $(GLSRC)gsdevice.h:$(GLGEN)arch.h -$(GLSRC)gsdevice.h:$(GLSRC)gssprintf.h $(GLSRC)gsfcmap.h:$(GLSRC)gsccode.h -$(GLSRC)gsfcmap.h:$(GLSRC)gstypes.h $(GLSRC)gsfcmap.h:$(GLSRC)std.h +$(GLSRC)gsfcmap.h:$(GLSRC)gstypes.h $(GLSRC)gsfcmap.h:$(GLSRC)stdpre.h $(GLSRC)gsfcmap.h:$(GLGEN)arch.h $(GLSRC)gsfname.h:$(GLSRC)std.h @@ -4841,15 +4915,15 @@ $(GLSRC)gsfont.h:$(GLSRC)scommon.h $(GLSRC)gsfont.h:$(GLSRC)gsstype.h $(GLSRC)gsfont.h:$(GLSRC)gsmemory.h $(GLSRC)gsfont.h:$(GLSRC)gslibctx.h -$(GLSRC)gsfont.h:$(GLSRC)stdint_.h -$(GLSRC)gsfont.h:$(GLSRC)gsgstate.h $(GLSRC)gsfont.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsfont.h:$(GLSRC)stdio_.h -$(GLSRC)gsfont.h:$(GLSRC)gstypes.h +$(GLSRC)gsfont.h:$(GLSRC)gsgstate.h +$(GLSRC)gsfont.h:$(GLSRC)stdint_.h +$(GLSRC)gsfont.h:$(GLSRC)gssprintf.h $(GLSRC)gsfont.h:$(GLSRC)std.h +$(GLSRC)gsfont.h:$(GLSRC)gstypes.h $(GLSRC)gsfont.h:$(GLSRC)stdpre.h $(GLSRC)gsfont.h:$(GLGEN)arch.h -$(GLSRC)gsfont.h:$(GLSRC)gssprintf.h $(GLSRC)gsgdata.h:$(GLSRC)gsgcache.h $(GLSRC)gsgdata.h:$(GLSRC)gsfont.h $(GLSRC)gsgdata.h:$(GLSRC)gsmatrix.h @@ -4857,37 +4931,37 @@ $(GLSRC)gsgdata.h:$(GLSRC)scommon.h $(GLSRC)gsgdata.h:$(GLSRC)gsstype.h $(GLSRC)gsgdata.h:$(GLSRC)gsmemory.h $(GLSRC)gsgdata.h:$(GLSRC)gslibctx.h -$(GLSRC)gsgdata.h:$(GLSRC)stdint_.h -$(GLSRC)gsgdata.h:$(GLSRC)gsgstate.h $(GLSRC)gsgdata.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsgdata.h:$(GLSRC)stdio_.h -$(GLSRC)gsgdata.h:$(GLSRC)gstypes.h +$(GLSRC)gsgdata.h:$(GLSRC)gsgstate.h +$(GLSRC)gsgdata.h:$(GLSRC)stdint_.h +$(GLSRC)gsgdata.h:$(GLSRC)gssprintf.h $(GLSRC)gsgdata.h:$(GLSRC)std.h +$(GLSRC)gsgdata.h:$(GLSRC)gstypes.h $(GLSRC)gsgdata.h:$(GLSRC)stdpre.h $(GLSRC)gsgdata.h:$(GLGEN)arch.h -$(GLSRC)gsgdata.h:$(GLSRC)gssprintf.h $(GLSRC)gsgcache.h:$(GLSRC)scommon.h $(GLSRC)gsgcache.h:$(GLSRC)gsstype.h $(GLSRC)gsgcache.h:$(GLSRC)gsmemory.h $(GLSRC)gsgcache.h:$(GLSRC)gslibctx.h -$(GLSRC)gsgcache.h:$(GLSRC)stdint_.h $(GLSRC)gsgcache.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsgcache.h:$(GLSRC)stdio_.h -$(GLSRC)gsgcache.h:$(GLSRC)gstypes.h +$(GLSRC)gsgcache.h:$(GLSRC)stdint_.h +$(GLSRC)gsgcache.h:$(GLSRC)gssprintf.h $(GLSRC)gsgcache.h:$(GLSRC)std.h +$(GLSRC)gsgcache.h:$(GLSRC)gstypes.h $(GLSRC)gsgcache.h:$(GLSRC)stdpre.h $(GLSRC)gsgcache.h:$(GLGEN)arch.h -$(GLSRC)gsgcache.h:$(GLSRC)gssprintf.h $(GLSRC)gshsb.h:$(GLSRC)gsgstate.h $(GLSRC)gsht.h:$(GLSRC)gsgstate.h -$(GLSRC)gsht.h:$(GLSRC)gstypes.h $(GLSRC)gsht.h:$(GLSRC)std.h +$(GLSRC)gsht.h:$(GLSRC)gstypes.h $(GLSRC)gsht.h:$(GLSRC)stdpre.h $(GLSRC)gsht.h:$(GLGEN)arch.h $(GLSRC)gsht1.h:$(GLSRC)gsht.h $(GLSRC)gsht1.h:$(GLSRC)gsgstate.h -$(GLSRC)gsht1.h:$(GLSRC)gstypes.h $(GLSRC)gsht1.h:$(GLSRC)std.h +$(GLSRC)gsht1.h:$(GLSRC)gstypes.h $(GLSRC)gsht1.h:$(GLSRC)stdpre.h $(GLSRC)gsht1.h:$(GLGEN)arch.h $(GLSRC)gsjconf.h:$(GLSRC)stdpre.h @@ -4899,57 +4973,57 @@ $(GLSRC)gsmatrix.h:$(GLSRC)scommon.h $(GLSRC)gsmatrix.h:$(GLSRC)gsstype.h $(GLSRC)gsmatrix.h:$(GLSRC)gsmemory.h $(GLSRC)gsmatrix.h:$(GLSRC)gslibctx.h -$(GLSRC)gsmatrix.h:$(GLSRC)stdint_.h $(GLSRC)gsmatrix.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsmatrix.h:$(GLSRC)stdio_.h -$(GLSRC)gsmatrix.h:$(GLSRC)gstypes.h +$(GLSRC)gsmatrix.h:$(GLSRC)stdint_.h +$(GLSRC)gsmatrix.h:$(GLSRC)gssprintf.h $(GLSRC)gsmatrix.h:$(GLSRC)std.h +$(GLSRC)gsmatrix.h:$(GLSRC)gstypes.h $(GLSRC)gsmatrix.h:$(GLSRC)stdpre.h $(GLSRC)gsmatrix.h:$(GLGEN)arch.h -$(GLSRC)gsmatrix.h:$(GLSRC)gssprintf.h $(GLSRC)gxbitfmt.h:$(GLSRC)stdpre.h $(GLSRC)gxcomp.h:$(GLSRC)gxbitfmt.h $(GLSRC)gxcomp.h:$(GLSRC)gsdevice.h +$(GLSRC)gxcomp.h:$(GLSRC)gsmatrix.h $(GLSRC)gxcomp.h:$(GLSRC)gsrefct.h -$(GLSRC)gxcomp.h:$(GLSRC)memento.h $(GLSRC)gxcomp.h:$(GLSRC)gsparam.h -$(GLSRC)gxcomp.h:$(GLSRC)gsmatrix.h $(GLSRC)gxcomp.h:$(GLSRC)scommon.h +$(GLSRC)gxcomp.h:$(GLSRC)memento.h $(GLSRC)gxcomp.h:$(GLSRC)gsstype.h $(GLSRC)gxcomp.h:$(GLSRC)gsmemory.h $(GLSRC)gxcomp.h:$(GLSRC)gslibctx.h -$(GLSRC)gxcomp.h:$(GLSRC)gscompt.h -$(GLSRC)gxcomp.h:$(GLSRC)stdint_.h -$(GLSRC)gxcomp.h:$(GLSRC)gsgstate.h $(GLSRC)gxcomp.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxcomp.h:$(GLSRC)stdio_.h -$(GLSRC)gxcomp.h:$(GLSRC)gstypes.h +$(GLSRC)gxcomp.h:$(GLSRC)gscompt.h +$(GLSRC)gxcomp.h:$(GLSRC)gsgstate.h +$(GLSRC)gxcomp.h:$(GLSRC)stdint_.h +$(GLSRC)gxcomp.h:$(GLSRC)gssprintf.h $(GLSRC)gxcomp.h:$(GLSRC)std.h +$(GLSRC)gxcomp.h:$(GLSRC)gstypes.h $(GLSRC)gxcomp.h:$(GLSRC)stdpre.h $(GLSRC)gxcomp.h:$(GLGEN)arch.h -$(GLSRC)gxcomp.h:$(GLSRC)gssprintf.h $(GLSRC)gsovrc.h:$(GLSRC)gxcomp.h $(GLSRC)gsovrc.h:$(GLSRC)gxbitfmt.h $(GLSRC)gsovrc.h:$(GLSRC)gsdevice.h +$(GLSRC)gsovrc.h:$(GLSRC)gsmatrix.h $(GLSRC)gsovrc.h:$(GLSRC)gsrefct.h -$(GLSRC)gsovrc.h:$(GLSRC)memento.h $(GLSRC)gsovrc.h:$(GLSRC)gsparam.h -$(GLSRC)gsovrc.h:$(GLSRC)gsmatrix.h $(GLSRC)gsovrc.h:$(GLSRC)scommon.h +$(GLSRC)gsovrc.h:$(GLSRC)memento.h $(GLSRC)gsovrc.h:$(GLSRC)gsstype.h $(GLSRC)gsovrc.h:$(GLSRC)gsmemory.h $(GLSRC)gsovrc.h:$(GLSRC)gslibctx.h +$(GLSRC)gsovrc.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gsovrc.h:$(GLSRC)stdio_.h $(GLSRC)gsovrc.h:$(GLSRC)gscompt.h $(GLSRC)gsovrc.h:$(GLSRC)gxcindex.h -$(GLSRC)gsovrc.h:$(GLSRC)stdint_.h $(GLSRC)gsovrc.h:$(GLSRC)gsgstate.h -$(GLSRC)gsovrc.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gsovrc.h:$(GLSRC)stdio_.h -$(GLSRC)gsovrc.h:$(GLSRC)gstypes.h +$(GLSRC)gsovrc.h:$(GLSRC)stdint_.h +$(GLSRC)gsovrc.h:$(GLSRC)gssprintf.h $(GLSRC)gsovrc.h:$(GLSRC)std.h +$(GLSRC)gsovrc.h:$(GLSRC)gstypes.h $(GLSRC)gsovrc.h:$(GLSRC)stdpre.h $(GLSRC)gsovrc.h:$(GLGEN)arch.h -$(GLSRC)gsovrc.h:$(GLSRC)gssprintf.h $(GLSRC)gspaint.h:$(GLSRC)gsgstate.h $(GLSRC)gspaint.h:$(GLSRC)stdpre.h $(GLSRC)gsparam.h:$(GLSRC)gsstype.h @@ -4957,287 +5031,287 @@ $(GLSRC)gsparam.h:$(GLSRC)gsmemory.h $(GLSRC)gsparam.h:$(GLSRC)gslibctx.h $(GLSRC)gsparam.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsparam.h:$(GLSRC)stdio_.h -$(GLSRC)gsparam.h:$(GLSRC)gstypes.h +$(GLSRC)gsparam.h:$(GLSRC)gssprintf.h $(GLSRC)gsparam.h:$(GLSRC)std.h +$(GLSRC)gsparam.h:$(GLSRC)gstypes.h $(GLSRC)gsparam.h:$(GLSRC)stdpre.h $(GLSRC)gsparam.h:$(GLGEN)arch.h -$(GLSRC)gsparam.h:$(GLSRC)gssprintf.h $(GLSRC)gsparams.h:$(GLSRC)stream.h $(GLSRC)gsparams.h:$(GLSRC)gxiodev.h -$(GLSRC)gsparams.h:$(GLSRC)stat_.h -$(GLSRC)gsparams.h:$(GLSRC)gp.h $(GLSRC)gsparams.h:$(GLSRC)gsparam.h +$(GLSRC)gsparams.h:$(GLSRC)gp.h $(GLSRC)gsparams.h:$(GLSRC)srdline.h $(GLSRC)gsparams.h:$(GLSRC)scommon.h $(GLSRC)gsparams.h:$(GLSRC)gsfname.h $(GLSRC)gsparams.h:$(GLSRC)gsstype.h +$(GLSRC)gsparams.h:$(GLSRC)stat_.h $(GLSRC)gsparams.h:$(GLSRC)gsmemory.h -$(GLSRC)gsparams.h:$(GLSRC)gpgetenv.h $(GLSRC)gsparams.h:$(GLSRC)memory_.h +$(GLSRC)gsparams.h:$(GLSRC)gpgetenv.h $(GLSRC)gsparams.h:$(GLSRC)gslibctx.h $(GLSRC)gsparams.h:$(GLSRC)gscdefs.h -$(GLSRC)gsparams.h:$(GLSRC)stdint_.h $(GLSRC)gsparams.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsparams.h:$(GLSRC)stdio_.h -$(GLSRC)gsparams.h:$(GLSRC)gstypes.h +$(GLSRC)gsparams.h:$(GLSRC)stdint_.h +$(GLSRC)gsparams.h:$(GLSRC)gssprintf.h $(GLSRC)gsparams.h:$(GLSRC)std.h +$(GLSRC)gsparams.h:$(GLSRC)gstypes.h $(GLSRC)gsparams.h:$(GLSRC)stdpre.h $(GLSRC)gsparams.h:$(GLGEN)arch.h -$(GLSRC)gsparams.h:$(GLSRC)gssprintf.h $(GLSRC)gsparamx.h:$(GLSRC)gsparam.h $(GLSRC)gsparamx.h:$(GLSRC)gsstype.h $(GLSRC)gsparamx.h:$(GLSRC)gsmemory.h $(GLSRC)gsparamx.h:$(GLSRC)gslibctx.h $(GLSRC)gsparamx.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsparamx.h:$(GLSRC)stdio_.h -$(GLSRC)gsparamx.h:$(GLSRC)gstypes.h +$(GLSRC)gsparamx.h:$(GLSRC)gssprintf.h $(GLSRC)gsparamx.h:$(GLSRC)std.h +$(GLSRC)gsparamx.h:$(GLSRC)gstypes.h $(GLSRC)gsparamx.h:$(GLSRC)stdpre.h $(GLSRC)gsparamx.h:$(GLGEN)arch.h -$(GLSRC)gsparamx.h:$(GLSRC)gssprintf.h $(GLSRC)gspath2.h:$(GLSRC)gsmatrix.h $(GLSRC)gspath2.h:$(GLSRC)scommon.h $(GLSRC)gspath2.h:$(GLSRC)gsstype.h $(GLSRC)gspath2.h:$(GLSRC)gsmemory.h $(GLSRC)gspath2.h:$(GLSRC)gslibctx.h -$(GLSRC)gspath2.h:$(GLSRC)stdint_.h -$(GLSRC)gspath2.h:$(GLSRC)gsgstate.h $(GLSRC)gspath2.h:$(GLSRC)gs_dll_call.h $(GLSRC)gspath2.h:$(GLSRC)stdio_.h -$(GLSRC)gspath2.h:$(GLSRC)gstypes.h +$(GLSRC)gspath2.h:$(GLSRC)gsgstate.h +$(GLSRC)gspath2.h:$(GLSRC)stdint_.h +$(GLSRC)gspath2.h:$(GLSRC)gssprintf.h $(GLSRC)gspath2.h:$(GLSRC)std.h +$(GLSRC)gspath2.h:$(GLSRC)gstypes.h $(GLSRC)gspath2.h:$(GLSRC)stdpre.h $(GLSRC)gspath2.h:$(GLGEN)arch.h -$(GLSRC)gspath2.h:$(GLSRC)gssprintf.h $(GLSRC)gspcolor.h:$(GLSRC)gsuid.h -$(GLSRC)gspcolor.h:$(GLSRC)gsrefct.h -$(GLSRC)gspcolor.h:$(GLSRC)memento.h $(GLSRC)gspcolor.h:$(GLSRC)gsmatrix.h -$(GLSRC)gspcolor.h:$(GLSRC)scommon.h +$(GLSRC)gspcolor.h:$(GLSRC)gsrefct.h $(GLSRC)gspcolor.h:$(GLSRC)gsccolor.h +$(GLSRC)gspcolor.h:$(GLSRC)scommon.h +$(GLSRC)gspcolor.h:$(GLSRC)memento.h $(GLSRC)gspcolor.h:$(GLSRC)gsstype.h $(GLSRC)gspcolor.h:$(GLSRC)gsmemory.h $(GLSRC)gspcolor.h:$(GLSRC)gslibctx.h -$(GLSRC)gspcolor.h:$(GLSRC)stdint_.h -$(GLSRC)gspcolor.h:$(GLSRC)gsgstate.h $(GLSRC)gspcolor.h:$(GLSRC)gs_dll_call.h $(GLSRC)gspcolor.h:$(GLSRC)stdio_.h -$(GLSRC)gspcolor.h:$(GLSRC)gstypes.h +$(GLSRC)gspcolor.h:$(GLSRC)gsgstate.h +$(GLSRC)gspcolor.h:$(GLSRC)stdint_.h +$(GLSRC)gspcolor.h:$(GLSRC)gssprintf.h $(GLSRC)gspcolor.h:$(GLSRC)std.h +$(GLSRC)gspcolor.h:$(GLSRC)gstypes.h $(GLSRC)gspcolor.h:$(GLSRC)stdpre.h $(GLSRC)gspcolor.h:$(GLGEN)arch.h -$(GLSRC)gspcolor.h:$(GLSRC)gssprintf.h $(GLSRC)gsptype1.h:$(GLSRC)gspcolor.h +$(GLSRC)gsptype1.h:$(GLSRC)gsuid.h $(GLSRC)gsptype1.h:$(GLSRC)gsdcolor.h $(GLSRC)gsptype1.h:$(GLSRC)gscms.h -$(GLSRC)gsptype1.h:$(GLSRC)gsdevice.h $(GLSRC)gsptype1.h:$(GLSRC)gscspace.h -$(GLSRC)gsptype1.h:$(GLSRC)gsuid.h +$(GLSRC)gsptype1.h:$(GLSRC)gsdevice.h $(GLSRC)gsptype1.h:$(GLSRC)gxarith.h -$(GLSRC)gsptype1.h:$(GLSRC)gsrefct.h -$(GLSRC)gsptype1.h:$(GLSRC)gsiparam.h $(GLSRC)gsptype1.h:$(GLSRC)gxhttile.h -$(GLSRC)gsptype1.h:$(GLSRC)memento.h -$(GLSRC)gsptype1.h:$(GLSRC)gsparam.h -$(GLSRC)gsptype1.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsptype1.h:$(GLSRC)gsiparam.h $(GLSRC)gsptype1.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsptype1.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsptype1.h:$(GLSRC)gsrefct.h +$(GLSRC)gsptype1.h:$(GLSRC)gsparam.h +$(GLSRC)gsptype1.h:$(GLSRC)gsccolor.h $(GLSRC)gsptype1.h:$(GLSRC)gxsync.h $(GLSRC)gsptype1.h:$(GLSRC)scommon.h +$(GLSRC)gsptype1.h:$(GLSRC)memento.h $(GLSRC)gsptype1.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsptype1.h:$(GLSRC)gsccolor.h $(GLSRC)gsptype1.h:$(GLSRC)gsstype.h $(GLSRC)gsptype1.h:$(GLSRC)gsmemory.h $(GLSRC)gsptype1.h:$(GLSRC)gpsync.h $(GLSRC)gsptype1.h:$(GLSRC)gslibctx.h -$(GLSRC)gsptype1.h:$(GLSRC)gxcindex.h -$(GLSRC)gsptype1.h:$(GLSRC)stdint_.h -$(GLSRC)gsptype1.h:$(GLSRC)gsgstate.h $(GLSRC)gsptype1.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsptype1.h:$(GLSRC)stdio_.h -$(GLSRC)gsptype1.h:$(GLSRC)gstypes.h +$(GLSRC)gsptype1.h:$(GLSRC)gxcindex.h +$(GLSRC)gsptype1.h:$(GLSRC)gsgstate.h +$(GLSRC)gsptype1.h:$(GLSRC)stdint_.h +$(GLSRC)gsptype1.h:$(GLSRC)gssprintf.h $(GLSRC)gsptype1.h:$(GLSRC)std.h +$(GLSRC)gsptype1.h:$(GLSRC)gstypes.h $(GLSRC)gsptype1.h:$(GLSRC)stdpre.h $(GLSRC)gsptype1.h:$(GLGEN)arch.h -$(GLSRC)gsptype1.h:$(GLSRC)gssprintf.h $(GLSRC)gsropt.h:$(GLSRC)stdpre.h -$(GLSRC)gstext.h:$(GLSRC)gsfont.h -$(GLSRC)gstext.h:$(GLSRC)gxpath.h -$(GLSRC)gstext.h:$(GLSRC)gspenum.h -$(GLSRC)gstext.h:$(GLSRC)gslparam.h $(GLSRC)gstext.h:$(GLSRC)gsdcolor.h -$(GLSRC)gstext.h:$(GLSRC)gsrect.h +$(GLSRC)gstext.h:$(GLSRC)gsfont.h $(GLSRC)gstext.h:$(GLSRC)gscms.h -$(GLSRC)gstext.h:$(GLSRC)gsdevice.h $(GLSRC)gstext.h:$(GLSRC)gscspace.h +$(GLSRC)gstext.h:$(GLSRC)gxpath.h +$(GLSRC)gstext.h:$(GLSRC)gsdevice.h $(GLSRC)gstext.h:$(GLSRC)gxarith.h +$(GLSRC)gstext.h:$(GLSRC)gspenum.h +$(GLSRC)gstext.h:$(GLSRC)gxhttile.h +$(GLSRC)gstext.h:$(GLSRC)gsrect.h +$(GLSRC)gstext.h:$(GLSRC)gslparam.h +$(GLSRC)gstext.h:$(GLSRC)gsiparam.h +$(GLSRC)gstext.h:$(GLSRC)gxbitmap.h +$(GLSRC)gstext.h:$(GLSRC)gsmatrix.h +$(GLSRC)gstext.h:$(GLSRC)gscpm.h $(GLSRC)gstext.h:$(GLSRC)gxfixed.h $(GLSRC)gstext.h:$(GLSRC)gsrefct.h -$(GLSRC)gstext.h:$(GLSRC)gscpm.h -$(GLSRC)gstext.h:$(GLSRC)gsiparam.h -$(GLSRC)gstext.h:$(GLSRC)gxhttile.h -$(GLSRC)gstext.h:$(GLSRC)memento.h $(GLSRC)gstext.h:$(GLSRC)gsparam.h -$(GLSRC)gstext.h:$(GLSRC)gsmatrix.h -$(GLSRC)gstext.h:$(GLSRC)gxbitmap.h +$(GLSRC)gstext.h:$(GLSRC)gsccolor.h $(GLSRC)gstext.h:$(GLSRC)gxsync.h $(GLSRC)gstext.h:$(GLSRC)scommon.h +$(GLSRC)gstext.h:$(GLSRC)memento.h $(GLSRC)gstext.h:$(GLSRC)gsbitmap.h -$(GLSRC)gstext.h:$(GLSRC)gsccolor.h $(GLSRC)gstext.h:$(GLSRC)gsstype.h $(GLSRC)gstext.h:$(GLSRC)gsmemory.h $(GLSRC)gstext.h:$(GLSRC)gpsync.h $(GLSRC)gstext.h:$(GLSRC)gslibctx.h +$(GLSRC)gstext.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gstext.h:$(GLSRC)stdio_.h $(GLSRC)gstext.h:$(GLSRC)gxcindex.h -$(GLSRC)gstext.h:$(GLSRC)stdint_.h $(GLSRC)gstext.h:$(GLSRC)gsgstate.h +$(GLSRC)gstext.h:$(GLSRC)stdint_.h +$(GLSRC)gstext.h:$(GLSRC)gssprintf.h $(GLSRC)gstext.h:$(GLSRC)gsccode.h -$(GLSRC)gstext.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gstext.h:$(GLSRC)stdio_.h -$(GLSRC)gstext.h:$(GLSRC)gstypes.h $(GLSRC)gstext.h:$(GLSRC)std.h +$(GLSRC)gstext.h:$(GLSRC)gstypes.h $(GLSRC)gstext.h:$(GLSRC)stdpre.h $(GLSRC)gstext.h:$(GLGEN)arch.h -$(GLSRC)gstext.h:$(GLSRC)gssprintf.h $(GLSRC)gsxfont.h:$(GLSRC)stdpre.h $(GLSRC)gschar.h:$(GLSRC)gsstate.h $(GLSRC)gschar.h:$(GLSRC)gsovrc.h $(GLSRC)gschar.h:$(GLSRC)gscolor.h -$(GLSRC)gschar.h:$(GLSRC)gsline.h $(GLSRC)gschar.h:$(GLSRC)gxcomp.h +$(GLSRC)gschar.h:$(GLSRC)gsline.h $(GLSRC)gschar.h:$(GLSRC)gxbitfmt.h $(GLSRC)gschar.h:$(GLSRC)gsht.h $(GLSRC)gschar.h:$(GLSRC)gxtext.h $(GLSRC)gschar.h:$(GLSRC)gstext.h $(GLSRC)gschar.h:$(GLSRC)gxfcache.h +$(GLSRC)gschar.h:$(GLSRC)gsuid.h +$(GLSRC)gschar.h:$(GLSRC)gsdcolor.h $(GLSRC)gschar.h:$(GLSRC)gsfont.h +$(GLSRC)gschar.h:$(GLSRC)gxftype.h +$(GLSRC)gschar.h:$(GLSRC)gscms.h +$(GLSRC)gschar.h:$(GLSRC)gscspace.h $(GLSRC)gschar.h:$(GLSRC)gxpath.h -$(GLSRC)gschar.h:$(GLSRC)gspenum.h -$(GLSRC)gschar.h:$(GLSRC)gxtmap.h -$(GLSRC)gschar.h:$(GLSRC)gslparam.h $(GLSRC)gschar.h:$(GLSRC)gxbcache.h -$(GLSRC)gschar.h:$(GLSRC)gsdcolor.h -$(GLSRC)gschar.h:$(GLSRC)gsrect.h -$(GLSRC)gschar.h:$(GLSRC)gscms.h -$(GLSRC)gschar.h:$(GLSRC)gxftype.h $(GLSRC)gschar.h:$(GLSRC)gsdevice.h -$(GLSRC)gschar.h:$(GLSRC)gscspace.h -$(GLSRC)gschar.h:$(GLSRC)gsuid.h $(GLSRC)gschar.h:$(GLSRC)gxarith.h +$(GLSRC)gschar.h:$(GLSRC)gspenum.h +$(GLSRC)gschar.h:$(GLSRC)gxhttile.h +$(GLSRC)gschar.h:$(GLSRC)gsrect.h +$(GLSRC)gschar.h:$(GLSRC)gslparam.h $(GLSRC)gschar.h:$(GLSRC)gsxfont.h +$(GLSRC)gschar.h:$(GLSRC)gsiparam.h +$(GLSRC)gschar.h:$(GLSRC)gxbitmap.h +$(GLSRC)gschar.h:$(GLSRC)gsmatrix.h +$(GLSRC)gschar.h:$(GLSRC)gscpm.h $(GLSRC)gschar.h:$(GLSRC)gxfixed.h $(GLSRC)gschar.h:$(GLSRC)gsrefct.h -$(GLSRC)gschar.h:$(GLSRC)gscpm.h -$(GLSRC)gschar.h:$(GLSRC)gsiparam.h -$(GLSRC)gschar.h:$(GLSRC)gxhttile.h -$(GLSRC)gschar.h:$(GLSRC)memento.h $(GLSRC)gschar.h:$(GLSRC)gsparam.h -$(GLSRC)gschar.h:$(GLSRC)gsmatrix.h -$(GLSRC)gschar.h:$(GLSRC)gxbitmap.h +$(GLSRC)gschar.h:$(GLSRC)gsccolor.h $(GLSRC)gschar.h:$(GLSRC)gxsync.h -$(GLSRC)gschar.h:$(GLSRC)gscsel.h $(GLSRC)gschar.h:$(GLSRC)scommon.h +$(GLSRC)gschar.h:$(GLSRC)memento.h +$(GLSRC)gschar.h:$(GLSRC)gscsel.h $(GLSRC)gschar.h:$(GLSRC)gsbitmap.h -$(GLSRC)gschar.h:$(GLSRC)gsccolor.h $(GLSRC)gschar.h:$(GLSRC)gsstype.h +$(GLSRC)gschar.h:$(GLSRC)gxtmap.h $(GLSRC)gschar.h:$(GLSRC)gsmemory.h $(GLSRC)gschar.h:$(GLSRC)gpsync.h $(GLSRC)gschar.h:$(GLSRC)gslibctx.h +$(GLSRC)gschar.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gschar.h:$(GLSRC)stdio_.h $(GLSRC)gschar.h:$(GLSRC)gscompt.h $(GLSRC)gschar.h:$(GLSRC)gxcindex.h -$(GLSRC)gschar.h:$(GLSRC)stdint_.h $(GLSRC)gschar.h:$(GLSRC)gsgstate.h +$(GLSRC)gschar.h:$(GLSRC)stdint_.h +$(GLSRC)gschar.h:$(GLSRC)gssprintf.h $(GLSRC)gschar.h:$(GLSRC)gsccode.h -$(GLSRC)gschar.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gschar.h:$(GLSRC)stdio_.h -$(GLSRC)gschar.h:$(GLSRC)gstypes.h $(GLSRC)gschar.h:$(GLSRC)std.h +$(GLSRC)gschar.h:$(GLSRC)gstypes.h $(GLSRC)gschar.h:$(GLSRC)stdpre.h $(GLSRC)gschar.h:$(GLGEN)arch.h -$(GLSRC)gschar.h:$(GLSRC)gssprintf.h -$(GLSRC)gsiparam.h:$(GLSRC)gsmatrix.h $(GLSRC)gsiparam.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsiparam.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsiparam.h:$(GLSRC)gsccolor.h $(GLSRC)gsiparam.h:$(GLSRC)scommon.h $(GLSRC)gsiparam.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsiparam.h:$(GLSRC)gsccolor.h $(GLSRC)gsiparam.h:$(GLSRC)gsstype.h $(GLSRC)gsiparam.h:$(GLSRC)gsmemory.h $(GLSRC)gsiparam.h:$(GLSRC)gslibctx.h -$(GLSRC)gsiparam.h:$(GLSRC)stdint_.h $(GLSRC)gsiparam.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsiparam.h:$(GLSRC)stdio_.h -$(GLSRC)gsiparam.h:$(GLSRC)gstypes.h +$(GLSRC)gsiparam.h:$(GLSRC)stdint_.h +$(GLSRC)gsiparam.h:$(GLSRC)gssprintf.h $(GLSRC)gsiparam.h:$(GLSRC)std.h +$(GLSRC)gsiparam.h:$(GLSRC)gstypes.h $(GLSRC)gsiparam.h:$(GLSRC)stdpre.h $(GLSRC)gsiparam.h:$(GLGEN)arch.h -$(GLSRC)gsiparam.h:$(GLSRC)gssprintf.h $(GLSRC)gsimage.h:$(GLSRC)gsdevice.h $(GLSRC)gsimage.h:$(GLSRC)gsiparam.h -$(GLSRC)gsimage.h:$(GLSRC)gsparam.h -$(GLSRC)gsimage.h:$(GLSRC)gsmatrix.h $(GLSRC)gsimage.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsimage.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsimage.h:$(GLSRC)gsparam.h +$(GLSRC)gsimage.h:$(GLSRC)gsccolor.h $(GLSRC)gsimage.h:$(GLSRC)scommon.h $(GLSRC)gsimage.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsimage.h:$(GLSRC)gsccolor.h $(GLSRC)gsimage.h:$(GLSRC)gsstype.h $(GLSRC)gsimage.h:$(GLSRC)gsmemory.h $(GLSRC)gsimage.h:$(GLSRC)gslibctx.h -$(GLSRC)gsimage.h:$(GLSRC)stdint_.h -$(GLSRC)gsimage.h:$(GLSRC)gsgstate.h $(GLSRC)gsimage.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsimage.h:$(GLSRC)stdio_.h -$(GLSRC)gsimage.h:$(GLSRC)gstypes.h +$(GLSRC)gsimage.h:$(GLSRC)gsgstate.h +$(GLSRC)gsimage.h:$(GLSRC)stdint_.h +$(GLSRC)gsimage.h:$(GLSRC)gssprintf.h $(GLSRC)gsimage.h:$(GLSRC)std.h +$(GLSRC)gsimage.h:$(GLSRC)gstypes.h $(GLSRC)gsimage.h:$(GLSRC)stdpre.h $(GLSRC)gsimage.h:$(GLGEN)arch.h -$(GLSRC)gsimage.h:$(GLSRC)gssprintf.h $(GLSRC)gsline.h:$(GLSRC)gslparam.h $(GLSRC)gsline.h:$(GLSRC)gsgstate.h $(GLSRC)gsline.h:$(GLSRC)stdpre.h $(GLSRC)gspath.h:$(GLSRC)gxmatrix.h $(GLSRC)gspath.h:$(GLSRC)gspenum.h -$(GLSRC)gspath.h:$(GLSRC)gxfixed.h $(GLSRC)gspath.h:$(GLSRC)gsmatrix.h +$(GLSRC)gspath.h:$(GLSRC)gxfixed.h $(GLSRC)gspath.h:$(GLSRC)scommon.h $(GLSRC)gspath.h:$(GLSRC)gsstype.h $(GLSRC)gspath.h:$(GLSRC)gsmemory.h $(GLSRC)gspath.h:$(GLSRC)gslibctx.h -$(GLSRC)gspath.h:$(GLSRC)stdint_.h -$(GLSRC)gspath.h:$(GLSRC)gsgstate.h $(GLSRC)gspath.h:$(GLSRC)gs_dll_call.h $(GLSRC)gspath.h:$(GLSRC)stdio_.h -$(GLSRC)gspath.h:$(GLSRC)gstypes.h +$(GLSRC)gspath.h:$(GLSRC)gsgstate.h +$(GLSRC)gspath.h:$(GLSRC)stdint_.h +$(GLSRC)gspath.h:$(GLSRC)gssprintf.h $(GLSRC)gspath.h:$(GLSRC)std.h +$(GLSRC)gspath.h:$(GLSRC)gstypes.h $(GLSRC)gspath.h:$(GLSRC)stdpre.h $(GLSRC)gspath.h:$(GLGEN)arch.h -$(GLSRC)gspath.h:$(GLSRC)gssprintf.h $(GLSRC)gsrop.h:$(GLSRC)gsropt.h $(GLSRC)gsrop.h:$(GLSRC)gsgstate.h $(GLSRC)gsrop.h:$(GLSRC)stdpre.h $(GLSRC)gstparam.h:$(GLSRC)gsfunc.h $(GLSRC)gstparam.h:$(GLSRC)gscspace.h +$(GLSRC)gstparam.h:$(GLSRC)gsiparam.h $(GLSRC)gstparam.h:$(GLSRC)gsdsrc.h +$(GLSRC)gstparam.h:$(GLSRC)gxbitmap.h +$(GLSRC)gstparam.h:$(GLSRC)gsmatrix.h $(GLSRC)gstparam.h:$(GLSRC)gsrefct.h -$(GLSRC)gstparam.h:$(GLSRC)gsiparam.h -$(GLSRC)gstparam.h:$(GLSRC)memento.h $(GLSRC)gstparam.h:$(GLSRC)gsparam.h -$(GLSRC)gstparam.h:$(GLSRC)gsmatrix.h -$(GLSRC)gstparam.h:$(GLSRC)gxbitmap.h +$(GLSRC)gstparam.h:$(GLSRC)gsccolor.h $(GLSRC)gstparam.h:$(GLSRC)gsstruct.h $(GLSRC)gstparam.h:$(GLSRC)scommon.h +$(GLSRC)gstparam.h:$(GLSRC)memento.h $(GLSRC)gstparam.h:$(GLSRC)gsbitmap.h -$(GLSRC)gstparam.h:$(GLSRC)gsccolor.h $(GLSRC)gstparam.h:$(GLSRC)gsstype.h $(GLSRC)gstparam.h:$(GLSRC)gsmemory.h $(GLSRC)gstparam.h:$(GLSRC)gslibctx.h -$(GLSRC)gstparam.h:$(GLSRC)stdint_.h -$(GLSRC)gstparam.h:$(GLSRC)gsgstate.h $(GLSRC)gstparam.h:$(GLSRC)gs_dll_call.h $(GLSRC)gstparam.h:$(GLSRC)stdio_.h -$(GLSRC)gstparam.h:$(GLSRC)gstypes.h +$(GLSRC)gstparam.h:$(GLSRC)gsgstate.h +$(GLSRC)gstparam.h:$(GLSRC)stdint_.h +$(GLSRC)gstparam.h:$(GLSRC)gssprintf.h $(GLSRC)gstparam.h:$(GLSRC)std.h +$(GLSRC)gstparam.h:$(GLSRC)gstypes.h $(GLSRC)gstparam.h:$(GLSRC)stdpre.h $(GLSRC)gstparam.h:$(GLGEN)arch.h -$(GLSRC)gstparam.h:$(GLSRC)gssprintf.h $(GLSRC)gxbcache.h:$(GLSRC)gxbitmap.h $(GLSRC)gxbcache.h:$(GLSRC)gsbitmap.h $(GLSRC)gxbcache.h:$(GLSRC)gsstype.h @@ -5245,194 +5319,197 @@ $(GLSRC)gxbcache.h:$(GLSRC)gsmemory.h $(GLSRC)gxbcache.h:$(GLSRC)gslibctx.h $(GLSRC)gxbcache.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxbcache.h:$(GLSRC)stdio_.h -$(GLSRC)gxbcache.h:$(GLSRC)gstypes.h +$(GLSRC)gxbcache.h:$(GLSRC)gssprintf.h $(GLSRC)gxbcache.h:$(GLSRC)std.h +$(GLSRC)gxbcache.h:$(GLSRC)gstypes.h $(GLSRC)gxbcache.h:$(GLSRC)stdpre.h $(GLSRC)gxbcache.h:$(GLGEN)arch.h -$(GLSRC)gxbcache.h:$(GLSRC)gssprintf.h $(GLSRC)gxclio.h:$(GLSRC)gp.h $(GLSRC)gxclio.h:$(GLSRC)srdline.h $(GLSRC)gxclio.h:$(GLSRC)scommon.h $(GLSRC)gxclio.h:$(GLSRC)gsstype.h +$(GLSRC)gxclio.h:$(GLSRC)stat_.h $(GLSRC)gxclio.h:$(GLSRC)gsmemory.h -$(GLSRC)gxclio.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclio.h:$(GLSRC)memory_.h +$(GLSRC)gxclio.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclio.h:$(GLSRC)gslibctx.h $(GLSRC)gxclio.h:$(GLSRC)gscdefs.h -$(GLSRC)gxclio.h:$(GLSRC)stdint_.h $(GLSRC)gxclio.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxclio.h:$(GLSRC)stdio_.h -$(GLSRC)gxclio.h:$(GLSRC)gstypes.h +$(GLSRC)gxclio.h:$(GLSRC)stdint_.h +$(GLSRC)gxclio.h:$(GLSRC)gssprintf.h $(GLSRC)gxclio.h:$(GLSRC)std.h +$(GLSRC)gxclio.h:$(GLSRC)gstypes.h $(GLSRC)gxclio.h:$(GLSRC)stdpre.h $(GLSRC)gxclio.h:$(GLGEN)arch.h -$(GLSRC)gxclio.h:$(GLSRC)gssprintf.h $(GLSRC)gxclip.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclip.h:$(GLSRC)gxtext.h $(GLSRC)gxclip.h:$(GLSRC)gstext.h +$(GLSRC)gxclip.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclip.h:$(GLSRC)gstparam.h -$(GLSRC)gxclip.h:$(GLSRC)gxcmap.h +$(GLSRC)gxclip.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclip.h:$(GLSRC)gxcspace.h $(GLSRC)gxclip.h:$(GLSRC)gsropt.h $(GLSRC)gxclip.h:$(GLSRC)gsfunc.h -$(GLSRC)gxclip.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclip.h:$(GLSRC)gxrplane.h -$(GLSRC)gxclip.h:$(GLSRC)gxcspace.h -$(GLSRC)gxclip.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclip.h:$(GLSRC)gsuid.h +$(GLSRC)gxclip.h:$(GLSRC)gxcmap.h +$(GLSRC)gxclip.h:$(GLSRC)gsimage.h +$(GLSRC)gxclip.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxclip.h:$(GLSRC)gxdda.h +$(GLSRC)gxclip.h:$(GLSRC)gxcvalue.h $(GLSRC)gxclip.h:$(GLSRC)gsfont.h $(GLSRC)gxclip.h:$(GLSRC)gxfmap.h -$(GLSRC)gxclip.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxclip.h:$(GLSRC)gxpath.h -$(GLSRC)gxclip.h:$(GLSRC)gspenum.h -$(GLSRC)gxclip.h:$(GLSRC)gxtmap.h -$(GLSRC)gxclip.h:$(GLSRC)gsimage.h +$(GLSRC)gxclip.h:$(GLSRC)gxftype.h $(GLSRC)gxclip.h:$(GLSRC)gxfrac.h -$(GLSRC)gxclip.h:$(GLSRC)gxdda.h -$(GLSRC)gxclip.h:$(GLSRC)gslparam.h -$(GLSRC)gxclip.h:$(GLSRC)gxbcache.h -$(GLSRC)gxclip.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxclip.h:$(GLSRC)gsrect.h $(GLSRC)gxclip.h:$(GLSRC)gscms.h -$(GLSRC)gxclip.h:$(GLSRC)gxftype.h -$(GLSRC)gxclip.h:$(GLSRC)gsdevice.h $(GLSRC)gxclip.h:$(GLSRC)gscspace.h -$(GLSRC)gxclip.h:$(GLSRC)gsuid.h +$(GLSRC)gxclip.h:$(GLSRC)gxpath.h +$(GLSRC)gxclip.h:$(GLSRC)gxbcache.h +$(GLSRC)gxclip.h:$(GLSRC)gsdevice.h $(GLSRC)gxclip.h:$(GLSRC)gxarith.h -$(GLSRC)gxclip.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxclip.h:$(GLSRC)gspenum.h +$(GLSRC)gxclip.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclip.h:$(GLSRC)gsrect.h +$(GLSRC)gxclip.h:$(GLSRC)gslparam.h $(GLSRC)gxclip.h:$(GLSRC)gsxfont.h +$(GLSRC)gxclip.h:$(GLSRC)gsiparam.h +$(GLSRC)gxclip.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxclip.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxclip.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxclip.h:$(GLSRC)gscpm.h $(GLSRC)gxclip.h:$(GLSRC)gxfixed.h $(GLSRC)gxclip.h:$(GLSRC)gsrefct.h -$(GLSRC)gxclip.h:$(GLSRC)gscpm.h -$(GLSRC)gxclip.h:$(GLSRC)gsiparam.h -$(GLSRC)gxclip.h:$(GLSRC)gxhttile.h -$(GLSRC)gxclip.h:$(GLSRC)gp.h -$(GLSRC)gxclip.h:$(GLSRC)memento.h $(GLSRC)gxclip.h:$(GLSRC)gsparam.h -$(GLSRC)gxclip.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxclip.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxclip.h:$(GLSRC)srdline.h +$(GLSRC)gxclip.h:$(GLSRC)gp.h +$(GLSRC)gxclip.h:$(GLSRC)gsccolor.h $(GLSRC)gxclip.h:$(GLSRC)gsstruct.h $(GLSRC)gxclip.h:$(GLSRC)gxsync.h -$(GLSRC)gxclip.h:$(GLSRC)gscsel.h +$(GLSRC)gxclip.h:$(GLSRC)srdline.h $(GLSRC)gxclip.h:$(GLSRC)scommon.h +$(GLSRC)gxclip.h:$(GLSRC)memento.h +$(GLSRC)gxclip.h:$(GLSRC)gscsel.h $(GLSRC)gxclip.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxclip.h:$(GLSRC)gsccolor.h $(GLSRC)gxclip.h:$(GLSRC)gsstype.h +$(GLSRC)gxclip.h:$(GLSRC)stat_.h +$(GLSRC)gxclip.h:$(GLSRC)gxtmap.h $(GLSRC)gxclip.h:$(GLSRC)gsmemory.h $(GLSRC)gxclip.h:$(GLSRC)gpsync.h -$(GLSRC)gxclip.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclip.h:$(GLSRC)memory_.h +$(GLSRC)gxclip.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclip.h:$(GLSRC)gslibctx.h $(GLSRC)gxclip.h:$(GLSRC)gscdefs.h +$(GLSRC)gxclip.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxclip.h:$(GLSRC)stdio_.h $(GLSRC)gxclip.h:$(GLSRC)gscompt.h $(GLSRC)gxclip.h:$(GLSRC)gxcindex.h -$(GLSRC)gxclip.h:$(GLSRC)stdint_.h $(GLSRC)gxclip.h:$(GLSRC)gsgstate.h +$(GLSRC)gxclip.h:$(GLSRC)stdint_.h +$(GLSRC)gxclip.h:$(GLSRC)gssprintf.h $(GLSRC)gxclip.h:$(GLSRC)gsccode.h -$(GLSRC)gxclip.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxclip.h:$(GLSRC)stdio_.h -$(GLSRC)gxclip.h:$(GLSRC)gstypes.h $(GLSRC)gxclip.h:$(GLSRC)std.h +$(GLSRC)gxclip.h:$(GLSRC)gstypes.h $(GLSRC)gxclip.h:$(GLSRC)stdpre.h $(GLSRC)gxclip.h:$(GLGEN)arch.h -$(GLSRC)gxclip.h:$(GLSRC)gssprintf.h $(GLSRC)gxclipsr.h:$(GLSRC)gxpath.h $(GLSRC)gxclipsr.h:$(GLSRC)gspenum.h -$(GLSRC)gxclipsr.h:$(GLSRC)gslparam.h $(GLSRC)gxclipsr.h:$(GLSRC)gsrect.h +$(GLSRC)gxclipsr.h:$(GLSRC)gslparam.h +$(GLSRC)gxclipsr.h:$(GLSRC)gscpm.h $(GLSRC)gxclipsr.h:$(GLSRC)gxfixed.h $(GLSRC)gxclipsr.h:$(GLSRC)gsrefct.h -$(GLSRC)gxclipsr.h:$(GLSRC)gscpm.h $(GLSRC)gxclipsr.h:$(GLSRC)memento.h $(GLSRC)gxclipsr.h:$(GLSRC)gsgstate.h -$(GLSRC)gxclipsr.h:$(GLSRC)gstypes.h $(GLSRC)gxclipsr.h:$(GLSRC)std.h +$(GLSRC)gxclipsr.h:$(GLSRC)gstypes.h $(GLSRC)gxclipsr.h:$(GLSRC)stdpre.h $(GLSRC)gxclipsr.h:$(GLGEN)arch.h $(GLSRC)gxcoord.h:$(GLSRC)gscoord.h $(GLSRC)gxcoord.h:$(GLSRC)gxmatrix.h -$(GLSRC)gxcoord.h:$(GLSRC)gxfixed.h $(GLSRC)gxcoord.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxcoord.h:$(GLSRC)gxfixed.h $(GLSRC)gxcoord.h:$(GLSRC)scommon.h $(GLSRC)gxcoord.h:$(GLSRC)gsstype.h $(GLSRC)gxcoord.h:$(GLSRC)gsmemory.h $(GLSRC)gxcoord.h:$(GLSRC)gslibctx.h -$(GLSRC)gxcoord.h:$(GLSRC)stdint_.h -$(GLSRC)gxcoord.h:$(GLSRC)gsgstate.h $(GLSRC)gxcoord.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxcoord.h:$(GLSRC)stdio_.h -$(GLSRC)gxcoord.h:$(GLSRC)gstypes.h +$(GLSRC)gxcoord.h:$(GLSRC)gsgstate.h +$(GLSRC)gxcoord.h:$(GLSRC)stdint_.h +$(GLSRC)gxcoord.h:$(GLSRC)gssprintf.h $(GLSRC)gxcoord.h:$(GLSRC)std.h +$(GLSRC)gxcoord.h:$(GLSRC)gstypes.h $(GLSRC)gxcoord.h:$(GLSRC)stdpre.h $(GLSRC)gxcoord.h:$(GLGEN)arch.h -$(GLSRC)gxcoord.h:$(GLSRC)gssprintf.h $(GLSRC)gxcpath.h:$(GLSRC)gxdevcli.h $(GLSRC)gxcpath.h:$(GLSRC)gxtext.h $(GLSRC)gxcpath.h:$(GLSRC)gstext.h +$(GLSRC)gxcpath.h:$(GLSRC)gsnamecl.h $(GLSRC)gxcpath.h:$(GLSRC)gstparam.h -$(GLSRC)gxcpath.h:$(GLSRC)gxcmap.h +$(GLSRC)gxcpath.h:$(GLSRC)gxfcache.h +$(GLSRC)gxcpath.h:$(GLSRC)gxcspace.h $(GLSRC)gxcpath.h:$(GLSRC)gsropt.h $(GLSRC)gxcpath.h:$(GLSRC)gsfunc.h -$(GLSRC)gxcpath.h:$(GLSRC)gsnamecl.h $(GLSRC)gxcpath.h:$(GLSRC)gxrplane.h -$(GLSRC)gxcpath.h:$(GLSRC)gxcspace.h -$(GLSRC)gxcpath.h:$(GLSRC)gxfcache.h +$(GLSRC)gxcpath.h:$(GLSRC)gsuid.h +$(GLSRC)gxcpath.h:$(GLSRC)gxcmap.h +$(GLSRC)gxcpath.h:$(GLSRC)gsimage.h +$(GLSRC)gxcpath.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxcpath.h:$(GLSRC)gxdda.h +$(GLSRC)gxcpath.h:$(GLSRC)gxcvalue.h $(GLSRC)gxcpath.h:$(GLSRC)gsfont.h $(GLSRC)gxcpath.h:$(GLSRC)gxfmap.h -$(GLSRC)gxcpath.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxcpath.h:$(GLSRC)gxpath.h -$(GLSRC)gxcpath.h:$(GLSRC)gspenum.h -$(GLSRC)gxcpath.h:$(GLSRC)gxtmap.h -$(GLSRC)gxcpath.h:$(GLSRC)gsimage.h +$(GLSRC)gxcpath.h:$(GLSRC)gxftype.h $(GLSRC)gxcpath.h:$(GLSRC)gxfrac.h -$(GLSRC)gxcpath.h:$(GLSRC)gxdda.h -$(GLSRC)gxcpath.h:$(GLSRC)gslparam.h -$(GLSRC)gxcpath.h:$(GLSRC)gxbcache.h -$(GLSRC)gxcpath.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxcpath.h:$(GLSRC)gsrect.h $(GLSRC)gxcpath.h:$(GLSRC)gscms.h -$(GLSRC)gxcpath.h:$(GLSRC)gxftype.h -$(GLSRC)gxcpath.h:$(GLSRC)gsdevice.h $(GLSRC)gxcpath.h:$(GLSRC)gscspace.h -$(GLSRC)gxcpath.h:$(GLSRC)gsuid.h +$(GLSRC)gxcpath.h:$(GLSRC)gxpath.h +$(GLSRC)gxcpath.h:$(GLSRC)gxbcache.h +$(GLSRC)gxcpath.h:$(GLSRC)gsdevice.h $(GLSRC)gxcpath.h:$(GLSRC)gxarith.h -$(GLSRC)gxcpath.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxcpath.h:$(GLSRC)gspenum.h +$(GLSRC)gxcpath.h:$(GLSRC)gxhttile.h +$(GLSRC)gxcpath.h:$(GLSRC)gsrect.h +$(GLSRC)gxcpath.h:$(GLSRC)gslparam.h $(GLSRC)gxcpath.h:$(GLSRC)gsxfont.h +$(GLSRC)gxcpath.h:$(GLSRC)gsiparam.h +$(GLSRC)gxcpath.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxcpath.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxcpath.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxcpath.h:$(GLSRC)gscpm.h $(GLSRC)gxcpath.h:$(GLSRC)gxfixed.h $(GLSRC)gxcpath.h:$(GLSRC)gsrefct.h -$(GLSRC)gxcpath.h:$(GLSRC)gscpm.h -$(GLSRC)gxcpath.h:$(GLSRC)gsiparam.h -$(GLSRC)gxcpath.h:$(GLSRC)gxhttile.h -$(GLSRC)gxcpath.h:$(GLSRC)gp.h -$(GLSRC)gxcpath.h:$(GLSRC)memento.h $(GLSRC)gxcpath.h:$(GLSRC)gsparam.h -$(GLSRC)gxcpath.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxcpath.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxcpath.h:$(GLSRC)srdline.h +$(GLSRC)gxcpath.h:$(GLSRC)gp.h +$(GLSRC)gxcpath.h:$(GLSRC)gsccolor.h $(GLSRC)gxcpath.h:$(GLSRC)gsstruct.h $(GLSRC)gxcpath.h:$(GLSRC)gxsync.h -$(GLSRC)gxcpath.h:$(GLSRC)gscsel.h +$(GLSRC)gxcpath.h:$(GLSRC)srdline.h $(GLSRC)gxcpath.h:$(GLSRC)scommon.h +$(GLSRC)gxcpath.h:$(GLSRC)memento.h +$(GLSRC)gxcpath.h:$(GLSRC)gscsel.h $(GLSRC)gxcpath.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxcpath.h:$(GLSRC)gsccolor.h $(GLSRC)gxcpath.h:$(GLSRC)gsstype.h +$(GLSRC)gxcpath.h:$(GLSRC)stat_.h +$(GLSRC)gxcpath.h:$(GLSRC)gxtmap.h $(GLSRC)gxcpath.h:$(GLSRC)gsmemory.h $(GLSRC)gxcpath.h:$(GLSRC)gpsync.h -$(GLSRC)gxcpath.h:$(GLSRC)gpgetenv.h $(GLSRC)gxcpath.h:$(GLSRC)memory_.h +$(GLSRC)gxcpath.h:$(GLSRC)gpgetenv.h $(GLSRC)gxcpath.h:$(GLSRC)gslibctx.h $(GLSRC)gxcpath.h:$(GLSRC)gscdefs.h +$(GLSRC)gxcpath.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxcpath.h:$(GLSRC)stdio_.h $(GLSRC)gxcpath.h:$(GLSRC)gscompt.h $(GLSRC)gxcpath.h:$(GLSRC)gxcindex.h -$(GLSRC)gxcpath.h:$(GLSRC)stdint_.h $(GLSRC)gxcpath.h:$(GLSRC)gsgstate.h +$(GLSRC)gxcpath.h:$(GLSRC)stdint_.h +$(GLSRC)gxcpath.h:$(GLSRC)gssprintf.h $(GLSRC)gxcpath.h:$(GLSRC)gsccode.h -$(GLSRC)gxcpath.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxcpath.h:$(GLSRC)stdio_.h -$(GLSRC)gxcpath.h:$(GLSRC)gstypes.h $(GLSRC)gxcpath.h:$(GLSRC)std.h +$(GLSRC)gxcpath.h:$(GLSRC)gstypes.h $(GLSRC)gxcpath.h:$(GLSRC)stdpre.h $(GLSRC)gxcpath.h:$(GLGEN)arch.h -$(GLSRC)gxcpath.h:$(GLSRC)gssprintf.h $(GLSRC)gxdda.h:$(GLSRC)gxfixed.h $(GLSRC)gxdda.h:$(GLSRC)std.h $(GLSRC)gxdda.h:$(GLSRC)stdpre.h @@ -5441,208 +5518,211 @@ $(GLSRC)gxdevbuf.h:$(GLSRC)gxband.h $(GLSRC)gxdevbuf.h:$(GLSRC)gxdevcli.h $(GLSRC)gxdevbuf.h:$(GLSRC)gxtext.h $(GLSRC)gxdevbuf.h:$(GLSRC)gstext.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevbuf.h:$(GLSRC)gstparam.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxcspace.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsropt.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsfunc.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevbuf.h:$(GLSRC)gxrplane.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxcspace.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxclio.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxdda.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxcvalue.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsfont.h $(GLSRC)gxdevbuf.h:$(GLSRC)gxfmap.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxpath.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gspenum.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxtmap.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxftype.h $(GLSRC)gxdevbuf.h:$(GLSRC)gxfrac.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxdda.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gslparam.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxbcache.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsrect.h $(GLSRC)gxdevbuf.h:$(GLSRC)gscms.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxftype.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevbuf.h:$(GLSRC)gscspace.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxpath.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxbcache.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevbuf.h:$(GLSRC)gxarith.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gspenum.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxhttile.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsrect.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gslparam.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsxfont.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxclio.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsiparam.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gscpm.h $(GLSRC)gxdevbuf.h:$(GLSRC)gxfixed.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gscpm.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsiparam.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gp.h -$(GLSRC)gxdevbuf.h:$(GLSRC)memento.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsparam.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxdevbuf.h:$(GLSRC)srdline.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gp.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsstruct.h $(GLSRC)gxdevbuf.h:$(GLSRC)gxsync.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gscsel.h +$(GLSRC)gxdevbuf.h:$(GLSRC)srdline.h $(GLSRC)gxdevbuf.h:$(GLSRC)scommon.h +$(GLSRC)gxdevbuf.h:$(GLSRC)memento.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gscsel.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsstype.h +$(GLSRC)gxdevbuf.h:$(GLSRC)stat_.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gxtmap.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsmemory.h $(GLSRC)gxdevbuf.h:$(GLSRC)gpsync.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevbuf.h:$(GLSRC)memory_.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevbuf.h:$(GLSRC)gslibctx.h $(GLSRC)gxdevbuf.h:$(GLSRC)gscdefs.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxdevbuf.h:$(GLSRC)stdio_.h $(GLSRC)gxdevbuf.h:$(GLSRC)gscompt.h $(GLSRC)gxdevbuf.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdevbuf.h:$(GLSRC)stdint_.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdevbuf.h:$(GLSRC)stdint_.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevbuf.h:$(GLSRC)gsccode.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxdevbuf.h:$(GLSRC)stdio_.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gstypes.h $(GLSRC)gxdevbuf.h:$(GLSRC)std.h +$(GLSRC)gxdevbuf.h:$(GLSRC)gstypes.h $(GLSRC)gxdevbuf.h:$(GLSRC)stdpre.h $(GLSRC)gxdevbuf.h:$(GLGEN)arch.h -$(GLSRC)gxdevbuf.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevrop.h:$(GLSRC)gxdevcli.h $(GLSRC)gxdevrop.h:$(GLSRC)gxtext.h $(GLSRC)gxdevrop.h:$(GLSRC)gstext.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevrop.h:$(GLSRC)gstparam.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxcspace.h $(GLSRC)gxdevrop.h:$(GLSRC)gsropt.h $(GLSRC)gxdevrop.h:$(GLSRC)gsfunc.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevrop.h:$(GLSRC)gxrplane.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxcspace.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxdda.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxcvalue.h $(GLSRC)gxdevrop.h:$(GLSRC)gsfont.h $(GLSRC)gxdevrop.h:$(GLSRC)gxfmap.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxpath.h -$(GLSRC)gxdevrop.h:$(GLSRC)gspenum.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxtmap.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxftype.h $(GLSRC)gxdevrop.h:$(GLSRC)gxfrac.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxdda.h -$(GLSRC)gxdevrop.h:$(GLSRC)gslparam.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxbcache.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsrect.h $(GLSRC)gxdevrop.h:$(GLSRC)gscms.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxftype.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevrop.h:$(GLSRC)gscspace.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxpath.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxbcache.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevrop.h:$(GLSRC)gxarith.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevrop.h:$(GLSRC)gspenum.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxhttile.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsrect.h +$(GLSRC)gxdevrop.h:$(GLSRC)gslparam.h $(GLSRC)gxdevrop.h:$(GLSRC)gsxfont.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsiparam.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdevrop.h:$(GLSRC)gscpm.h $(GLSRC)gxdevrop.h:$(GLSRC)gxfixed.h $(GLSRC)gxdevrop.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdevrop.h:$(GLSRC)gscpm.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsiparam.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdevrop.h:$(GLSRC)gp.h -$(GLSRC)gxdevrop.h:$(GLSRC)memento.h $(GLSRC)gxdevrop.h:$(GLSRC)gsparam.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxdevrop.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxdevrop.h:$(GLSRC)srdline.h +$(GLSRC)gxdevrop.h:$(GLSRC)gp.h +$(GLSRC)gxdevrop.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevrop.h:$(GLSRC)gsstruct.h $(GLSRC)gxdevrop.h:$(GLSRC)gxsync.h -$(GLSRC)gxdevrop.h:$(GLSRC)gscsel.h +$(GLSRC)gxdevrop.h:$(GLSRC)srdline.h $(GLSRC)gxdevrop.h:$(GLSRC)scommon.h +$(GLSRC)gxdevrop.h:$(GLSRC)memento.h +$(GLSRC)gxdevrop.h:$(GLSRC)gscsel.h $(GLSRC)gxdevrop.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdevrop.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevrop.h:$(GLSRC)gsstype.h +$(GLSRC)gxdevrop.h:$(GLSRC)stat_.h +$(GLSRC)gxdevrop.h:$(GLSRC)gxtmap.h $(GLSRC)gxdevrop.h:$(GLSRC)gsmemory.h $(GLSRC)gxdevrop.h:$(GLSRC)gpsync.h -$(GLSRC)gxdevrop.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevrop.h:$(GLSRC)memory_.h +$(GLSRC)gxdevrop.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevrop.h:$(GLSRC)gslibctx.h $(GLSRC)gxdevrop.h:$(GLSRC)gscdefs.h +$(GLSRC)gxdevrop.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxdevrop.h:$(GLSRC)stdio_.h $(GLSRC)gxdevrop.h:$(GLSRC)gscompt.h $(GLSRC)gxdevrop.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdevrop.h:$(GLSRC)stdint_.h $(GLSRC)gxdevrop.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdevrop.h:$(GLSRC)stdint_.h +$(GLSRC)gxdevrop.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevrop.h:$(GLSRC)gsccode.h -$(GLSRC)gxdevrop.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxdevrop.h:$(GLSRC)stdio_.h -$(GLSRC)gxdevrop.h:$(GLSRC)gstypes.h $(GLSRC)gxdevrop.h:$(GLSRC)std.h +$(GLSRC)gxdevrop.h:$(GLSRC)gstypes.h $(GLSRC)gxdevrop.h:$(GLSRC)stdpre.h $(GLSRC)gxdevrop.h:$(GLGEN)arch.h -$(GLSRC)gxdevrop.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevmem.h:$(GLSRC)gxdevcli.h $(GLSRC)gxdevmem.h:$(GLSRC)gxtext.h $(GLSRC)gxdevmem.h:$(GLSRC)gstext.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevmem.h:$(GLSRC)gstparam.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxcspace.h $(GLSRC)gxdevmem.h:$(GLSRC)gsropt.h $(GLSRC)gxdevmem.h:$(GLSRC)gsfunc.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevmem.h:$(GLSRC)gxrplane.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxcspace.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxdda.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxcvalue.h $(GLSRC)gxdevmem.h:$(GLSRC)gsfont.h $(GLSRC)gxdevmem.h:$(GLSRC)gxfmap.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxpath.h -$(GLSRC)gxdevmem.h:$(GLSRC)gspenum.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxtmap.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxftype.h $(GLSRC)gxdevmem.h:$(GLSRC)gxfrac.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxdda.h -$(GLSRC)gxdevmem.h:$(GLSRC)gslparam.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxbcache.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsrect.h $(GLSRC)gxdevmem.h:$(GLSRC)gscms.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxftype.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevmem.h:$(GLSRC)gscspace.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxpath.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxbcache.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevmem.h:$(GLSRC)gxarith.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevmem.h:$(GLSRC)gspenum.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxhttile.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsrect.h +$(GLSRC)gxdevmem.h:$(GLSRC)gslparam.h $(GLSRC)gxdevmem.h:$(GLSRC)gsxfont.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsiparam.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdevmem.h:$(GLSRC)gscpm.h $(GLSRC)gxdevmem.h:$(GLSRC)gxfixed.h $(GLSRC)gxdevmem.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdevmem.h:$(GLSRC)gscpm.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsiparam.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdevmem.h:$(GLSRC)gp.h -$(GLSRC)gxdevmem.h:$(GLSRC)memento.h $(GLSRC)gxdevmem.h:$(GLSRC)gsparam.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxdevmem.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxdevmem.h:$(GLSRC)srdline.h +$(GLSRC)gxdevmem.h:$(GLSRC)gp.h +$(GLSRC)gxdevmem.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevmem.h:$(GLSRC)gsstruct.h $(GLSRC)gxdevmem.h:$(GLSRC)gxsync.h -$(GLSRC)gxdevmem.h:$(GLSRC)gscsel.h +$(GLSRC)gxdevmem.h:$(GLSRC)srdline.h $(GLSRC)gxdevmem.h:$(GLSRC)scommon.h +$(GLSRC)gxdevmem.h:$(GLSRC)memento.h +$(GLSRC)gxdevmem.h:$(GLSRC)gscsel.h $(GLSRC)gxdevmem.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdevmem.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevmem.h:$(GLSRC)gsstype.h +$(GLSRC)gxdevmem.h:$(GLSRC)stat_.h +$(GLSRC)gxdevmem.h:$(GLSRC)gxtmap.h $(GLSRC)gxdevmem.h:$(GLSRC)gsmemory.h $(GLSRC)gxdevmem.h:$(GLSRC)gpsync.h -$(GLSRC)gxdevmem.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevmem.h:$(GLSRC)memory_.h +$(GLSRC)gxdevmem.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevmem.h:$(GLSRC)gslibctx.h $(GLSRC)gxdevmem.h:$(GLSRC)gscdefs.h +$(GLSRC)gxdevmem.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxdevmem.h:$(GLSRC)stdio_.h $(GLSRC)gxdevmem.h:$(GLSRC)gscompt.h $(GLSRC)gxdevmem.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdevmem.h:$(GLSRC)stdint_.h $(GLSRC)gxdevmem.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdevmem.h:$(GLSRC)stdint_.h +$(GLSRC)gxdevmem.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevmem.h:$(GLSRC)gsccode.h -$(GLSRC)gxdevmem.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxdevmem.h:$(GLSRC)stdio_.h -$(GLSRC)gxdevmem.h:$(GLSRC)gstypes.h $(GLSRC)gxdevmem.h:$(GLSRC)std.h +$(GLSRC)gxdevmem.h:$(GLSRC)gstypes.h $(GLSRC)gxdevmem.h:$(GLSRC)stdpre.h $(GLSRC)gxdevmem.h:$(GLGEN)arch.h -$(GLSRC)gxdevmem.h:$(GLSRC)gssprintf.h $(GLSRC)gxdhtres.h:$(GLSRC)stdpre.h $(GLSRC)gxfont0.h:$(GLSRC)gxfont.h $(GLSRC)gxfont0.h:$(GLSRC)gspath.h @@ -5653,115 +5733,116 @@ $(GLSRC)gxfont0.h:$(GLSRC)gxfapi.h $(GLSRC)gxfont0.h:$(GLSRC)gsnotify.h $(GLSRC)gxfont0.h:$(GLSRC)gsfcmap.h $(GLSRC)gxfont0.h:$(GLSRC)gstext.h -$(GLSRC)gxfont0.h:$(GLSRC)gsfont.h -$(GLSRC)gxfont0.h:$(GLSRC)gxpath.h -$(GLSRC)gxfont0.h:$(GLSRC)gspenum.h -$(GLSRC)gxfont0.h:$(GLSRC)gslparam.h +$(GLSRC)gxfont0.h:$(GLSRC)gsuid.h $(GLSRC)gxfont0.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxfont0.h:$(GLSRC)gsrect.h -$(GLSRC)gxfont0.h:$(GLSRC)gscms.h +$(GLSRC)gxfont0.h:$(GLSRC)gsfont.h $(GLSRC)gxfont0.h:$(GLSRC)gxftype.h -$(GLSRC)gxfont0.h:$(GLSRC)gsdevice.h +$(GLSRC)gxfont0.h:$(GLSRC)gscms.h $(GLSRC)gxfont0.h:$(GLSRC)gscspace.h -$(GLSRC)gxfont0.h:$(GLSRC)gsuid.h +$(GLSRC)gxfont0.h:$(GLSRC)gxpath.h +$(GLSRC)gxfont0.h:$(GLSRC)gsdevice.h $(GLSRC)gxfont0.h:$(GLSRC)gxarith.h +$(GLSRC)gxfont0.h:$(GLSRC)gspenum.h +$(GLSRC)gxfont0.h:$(GLSRC)gxhttile.h +$(GLSRC)gxfont0.h:$(GLSRC)gsrect.h +$(GLSRC)gxfont0.h:$(GLSRC)gslparam.h +$(GLSRC)gxfont0.h:$(GLSRC)gsiparam.h +$(GLSRC)gxfont0.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont0.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxfont0.h:$(GLSRC)gscpm.h $(GLSRC)gxfont0.h:$(GLSRC)gxfixed.h $(GLSRC)gxfont0.h:$(GLSRC)gsrefct.h -$(GLSRC)gxfont0.h:$(GLSRC)gscpm.h -$(GLSRC)gxfont0.h:$(GLSRC)gsiparam.h -$(GLSRC)gxfont0.h:$(GLSRC)gxhttile.h -$(GLSRC)gxfont0.h:$(GLSRC)memento.h $(GLSRC)gxfont0.h:$(GLSRC)gsparam.h -$(GLSRC)gxfont0.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxfont0.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont0.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont0.h:$(GLSRC)gxsync.h $(GLSRC)gxfont0.h:$(GLSRC)scommon.h +$(GLSRC)gxfont0.h:$(GLSRC)memento.h $(GLSRC)gxfont0.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxfont0.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont0.h:$(GLSRC)gsstype.h $(GLSRC)gxfont0.h:$(GLSRC)gsmemory.h $(GLSRC)gxfont0.h:$(GLSRC)gpsync.h $(GLSRC)gxfont0.h:$(GLSRC)gslibctx.h +$(GLSRC)gxfont0.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxfont0.h:$(GLSRC)stdio_.h $(GLSRC)gxfont0.h:$(GLSRC)gxcindex.h -$(GLSRC)gxfont0.h:$(GLSRC)stdint_.h $(GLSRC)gxfont0.h:$(GLSRC)gsgstate.h +$(GLSRC)gxfont0.h:$(GLSRC)stdint_.h +$(GLSRC)gxfont0.h:$(GLSRC)gssprintf.h $(GLSRC)gxfont0.h:$(GLSRC)gsccode.h -$(GLSRC)gxfont0.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxfont0.h:$(GLSRC)stdio_.h -$(GLSRC)gxfont0.h:$(GLSRC)gstypes.h $(GLSRC)gxfont0.h:$(GLSRC)std.h +$(GLSRC)gxfont0.h:$(GLSRC)gstypes.h $(GLSRC)gxfont0.h:$(GLSRC)stdpre.h $(GLSRC)gxfont0.h:$(GLGEN)arch.h -$(GLSRC)gxfont0.h:$(GLSRC)gssprintf.h $(GLSRC)gxgetbit.h:$(GLSRC)gxbitfmt.h $(GLSRC)gxgetbit.h:$(GLSRC)gxdevcli.h $(GLSRC)gxgetbit.h:$(GLSRC)gxtext.h $(GLSRC)gxgetbit.h:$(GLSRC)gstext.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsnamecl.h $(GLSRC)gxgetbit.h:$(GLSRC)gstparam.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxcmap.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxfcache.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxcspace.h $(GLSRC)gxgetbit.h:$(GLSRC)gsropt.h $(GLSRC)gxgetbit.h:$(GLSRC)gsfunc.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsnamecl.h $(GLSRC)gxgetbit.h:$(GLSRC)gxrplane.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxcspace.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxfcache.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsuid.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxcmap.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsimage.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxdda.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxcvalue.h $(GLSRC)gxgetbit.h:$(GLSRC)gsfont.h $(GLSRC)gxgetbit.h:$(GLSRC)gxfmap.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxpath.h -$(GLSRC)gxgetbit.h:$(GLSRC)gspenum.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxtmap.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsimage.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxftype.h $(GLSRC)gxgetbit.h:$(GLSRC)gxfrac.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxdda.h -$(GLSRC)gxgetbit.h:$(GLSRC)gslparam.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxbcache.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsrect.h $(GLSRC)gxgetbit.h:$(GLSRC)gscms.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxftype.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsdevice.h $(GLSRC)gxgetbit.h:$(GLSRC)gscspace.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsuid.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxpath.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxbcache.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsdevice.h $(GLSRC)gxgetbit.h:$(GLSRC)gxarith.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxgetbit.h:$(GLSRC)gspenum.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxhttile.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsrect.h +$(GLSRC)gxgetbit.h:$(GLSRC)gslparam.h $(GLSRC)gxgetbit.h:$(GLSRC)gsxfont.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsiparam.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxgetbit.h:$(GLSRC)gscpm.h $(GLSRC)gxgetbit.h:$(GLSRC)gxfixed.h $(GLSRC)gxgetbit.h:$(GLSRC)gsrefct.h -$(GLSRC)gxgetbit.h:$(GLSRC)gscpm.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsiparam.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxhttile.h -$(GLSRC)gxgetbit.h:$(GLSRC)gp.h -$(GLSRC)gxgetbit.h:$(GLSRC)memento.h $(GLSRC)gxgetbit.h:$(GLSRC)gsparam.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxgetbit.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxgetbit.h:$(GLSRC)srdline.h +$(GLSRC)gxgetbit.h:$(GLSRC)gp.h +$(GLSRC)gxgetbit.h:$(GLSRC)gsccolor.h $(GLSRC)gxgetbit.h:$(GLSRC)gsstruct.h $(GLSRC)gxgetbit.h:$(GLSRC)gxsync.h -$(GLSRC)gxgetbit.h:$(GLSRC)gscsel.h +$(GLSRC)gxgetbit.h:$(GLSRC)srdline.h $(GLSRC)gxgetbit.h:$(GLSRC)scommon.h +$(GLSRC)gxgetbit.h:$(GLSRC)memento.h +$(GLSRC)gxgetbit.h:$(GLSRC)gscsel.h $(GLSRC)gxgetbit.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxgetbit.h:$(GLSRC)gsccolor.h $(GLSRC)gxgetbit.h:$(GLSRC)gsstype.h +$(GLSRC)gxgetbit.h:$(GLSRC)stat_.h +$(GLSRC)gxgetbit.h:$(GLSRC)gxtmap.h $(GLSRC)gxgetbit.h:$(GLSRC)gsmemory.h $(GLSRC)gxgetbit.h:$(GLSRC)gpsync.h -$(GLSRC)gxgetbit.h:$(GLSRC)gpgetenv.h $(GLSRC)gxgetbit.h:$(GLSRC)memory_.h +$(GLSRC)gxgetbit.h:$(GLSRC)gpgetenv.h $(GLSRC)gxgetbit.h:$(GLSRC)gslibctx.h $(GLSRC)gxgetbit.h:$(GLSRC)gscdefs.h +$(GLSRC)gxgetbit.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxgetbit.h:$(GLSRC)stdio_.h $(GLSRC)gxgetbit.h:$(GLSRC)gscompt.h $(GLSRC)gxgetbit.h:$(GLSRC)gxcindex.h -$(GLSRC)gxgetbit.h:$(GLSRC)stdint_.h $(GLSRC)gxgetbit.h:$(GLSRC)gsgstate.h +$(GLSRC)gxgetbit.h:$(GLSRC)stdint_.h +$(GLSRC)gxgetbit.h:$(GLSRC)gssprintf.h $(GLSRC)gxgetbit.h:$(GLSRC)gsccode.h -$(GLSRC)gxgetbit.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxgetbit.h:$(GLSRC)stdio_.h -$(GLSRC)gxgetbit.h:$(GLSRC)gstypes.h $(GLSRC)gxgetbit.h:$(GLSRC)std.h +$(GLSRC)gxgetbit.h:$(GLSRC)gstypes.h $(GLSRC)gxgetbit.h:$(GLSRC)stdpre.h $(GLSRC)gxgetbit.h:$(GLGEN)arch.h -$(GLSRC)gxgetbit.h:$(GLSRC)gssprintf.h $(GLSRC)gxhttile.h:$(GLSRC)gxbitmap.h $(GLSRC)gxhttile.h:$(GLSRC)gsbitmap.h $(GLSRC)gxhttile.h:$(GLSRC)gsstype.h @@ -5769,373 +5850,375 @@ $(GLSRC)gxhttile.h:$(GLSRC)gsmemory.h $(GLSRC)gxhttile.h:$(GLSRC)gslibctx.h $(GLSRC)gxhttile.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxhttile.h:$(GLSRC)stdio_.h -$(GLSRC)gxhttile.h:$(GLSRC)gstypes.h +$(GLSRC)gxhttile.h:$(GLSRC)gssprintf.h $(GLSRC)gxhttile.h:$(GLSRC)std.h +$(GLSRC)gxhttile.h:$(GLSRC)gstypes.h $(GLSRC)gxhttile.h:$(GLSRC)stdpre.h $(GLSRC)gxhttile.h:$(GLGEN)arch.h -$(GLSRC)gxhttile.h:$(GLSRC)gssprintf.h $(GLSRC)gxiclass.h:$(GLSRC)gsdevice.h -$(GLSRC)gxiclass.h:$(GLSRC)gsparam.h $(GLSRC)gxiclass.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxiclass.h:$(GLSRC)gsparam.h $(GLSRC)gxiclass.h:$(GLSRC)scommon.h $(GLSRC)gxiclass.h:$(GLSRC)gsstype.h $(GLSRC)gxiclass.h:$(GLSRC)gsmemory.h $(GLSRC)gxiclass.h:$(GLSRC)gslibctx.h -$(GLSRC)gxiclass.h:$(GLSRC)stdint_.h -$(GLSRC)gxiclass.h:$(GLSRC)gsgstate.h $(GLSRC)gxiclass.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxiclass.h:$(GLSRC)stdio_.h -$(GLSRC)gxiclass.h:$(GLSRC)gstypes.h +$(GLSRC)gxiclass.h:$(GLSRC)gsgstate.h +$(GLSRC)gxiclass.h:$(GLSRC)stdint_.h +$(GLSRC)gxiclass.h:$(GLSRC)gssprintf.h $(GLSRC)gxiclass.h:$(GLSRC)std.h +$(GLSRC)gxiclass.h:$(GLSRC)gstypes.h $(GLSRC)gxiclass.h:$(GLSRC)stdpre.h $(GLSRC)gxiclass.h:$(GLGEN)arch.h -$(GLSRC)gxiclass.h:$(GLSRC)gssprintf.h -$(GLSRC)gxiodev.h:$(GLSRC)stat_.h +$(GLSRC)gxiodev.h:$(GLSRC)gsparam.h $(GLSRC)gxiodev.h:$(GLSRC)gp.h $(GLSRC)gxiodev.h:$(GLSRC)srdline.h $(GLSRC)gxiodev.h:$(GLSRC)scommon.h $(GLSRC)gxiodev.h:$(GLSRC)gsfname.h -$(GLSRC)gxiodev.h:$(GLSRC)gsparam.h -$(GLSRC)gxiodev.h:$(GLSRC)gpgetenv.h $(GLSRC)gxiodev.h:$(GLSRC)gsstype.h +$(GLSRC)gxiodev.h:$(GLSRC)stat_.h $(GLSRC)gxiodev.h:$(GLSRC)gsmemory.h -$(GLSRC)gxiodev.h:$(GLSRC)gpgetenv.h $(GLSRC)gxiodev.h:$(GLSRC)memory_.h +$(GLSRC)gxiodev.h:$(GLSRC)gpgetenv.h $(GLSRC)gxiodev.h:$(GLSRC)gslibctx.h $(GLSRC)gxiodev.h:$(GLSRC)gscdefs.h -$(GLSRC)gxiodev.h:$(GLSRC)stdint_.h $(GLSRC)gxiodev.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxiodev.h:$(GLSRC)stdio_.h -$(GLSRC)gxiodev.h:$(GLSRC)gstypes.h +$(GLSRC)gxiodev.h:$(GLSRC)stdint_.h +$(GLSRC)gxiodev.h:$(GLSRC)gssprintf.h $(GLSRC)gxiodev.h:$(GLSRC)std.h +$(GLSRC)gxiodev.h:$(GLSRC)gstypes.h $(GLSRC)gxiodev.h:$(GLSRC)stdpre.h $(GLSRC)gxiodev.h:$(GLGEN)arch.h -$(GLSRC)gxiodev.h:$(GLSRC)gssprintf.h $(GLSRC)gxline.h:$(GLSRC)math_.h $(GLSRC)gxline.h:$(GLSRC)gslparam.h $(GLSRC)gxline.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxline.h:$(GLSRC)vmsmath.h $(GLSRC)gxline.h:$(GLSRC)scommon.h +$(GLSRC)gxline.h:$(GLSRC)vmsmath.h $(GLSRC)gxline.h:$(GLSRC)gsstype.h $(GLSRC)gxline.h:$(GLSRC)gsmemory.h $(GLSRC)gxline.h:$(GLSRC)gslibctx.h -$(GLSRC)gxline.h:$(GLSRC)stdint_.h $(GLSRC)gxline.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxline.h:$(GLSRC)stdio_.h -$(GLSRC)gxline.h:$(GLSRC)gstypes.h +$(GLSRC)gxline.h:$(GLSRC)stdint_.h +$(GLSRC)gxline.h:$(GLSRC)gssprintf.h $(GLSRC)gxline.h:$(GLSRC)std.h +$(GLSRC)gxline.h:$(GLSRC)gstypes.h $(GLSRC)gxline.h:$(GLSRC)stdpre.h $(GLSRC)gxline.h:$(GLGEN)arch.h -$(GLSRC)gxline.h:$(GLSRC)gssprintf.h -$(GLSRC)gxmatrix.h:$(GLSRC)gxfixed.h $(GLSRC)gxmatrix.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxmatrix.h:$(GLSRC)gxfixed.h $(GLSRC)gxmatrix.h:$(GLSRC)scommon.h $(GLSRC)gxmatrix.h:$(GLSRC)gsstype.h $(GLSRC)gxmatrix.h:$(GLSRC)gsmemory.h $(GLSRC)gxmatrix.h:$(GLSRC)gslibctx.h -$(GLSRC)gxmatrix.h:$(GLSRC)stdint_.h $(GLSRC)gxmatrix.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxmatrix.h:$(GLSRC)stdio_.h -$(GLSRC)gxmatrix.h:$(GLSRC)gstypes.h +$(GLSRC)gxmatrix.h:$(GLSRC)stdint_.h +$(GLSRC)gxmatrix.h:$(GLSRC)gssprintf.h $(GLSRC)gxmatrix.h:$(GLSRC)std.h +$(GLSRC)gxmatrix.h:$(GLSRC)gstypes.h $(GLSRC)gxmatrix.h:$(GLSRC)stdpre.h $(GLSRC)gxmatrix.h:$(GLGEN)arch.h -$(GLSRC)gxmatrix.h:$(GLSRC)gssprintf.h $(GLSRC)gxmclip.h:$(GLSRC)gxclip.h $(GLSRC)gxmclip.h:$(GLSRC)gxdevmem.h $(GLSRC)gxmclip.h:$(GLSRC)gxdevcli.h $(GLSRC)gxmclip.h:$(GLSRC)gxtext.h $(GLSRC)gxmclip.h:$(GLSRC)gstext.h +$(GLSRC)gxmclip.h:$(GLSRC)gsnamecl.h $(GLSRC)gxmclip.h:$(GLSRC)gstparam.h -$(GLSRC)gxmclip.h:$(GLSRC)gxcmap.h +$(GLSRC)gxmclip.h:$(GLSRC)gxfcache.h +$(GLSRC)gxmclip.h:$(GLSRC)gxcspace.h $(GLSRC)gxmclip.h:$(GLSRC)gsropt.h $(GLSRC)gxmclip.h:$(GLSRC)gsfunc.h -$(GLSRC)gxmclip.h:$(GLSRC)gsnamecl.h $(GLSRC)gxmclip.h:$(GLSRC)gxrplane.h -$(GLSRC)gxmclip.h:$(GLSRC)gxcspace.h -$(GLSRC)gxmclip.h:$(GLSRC)gxfcache.h +$(GLSRC)gxmclip.h:$(GLSRC)gsuid.h +$(GLSRC)gxmclip.h:$(GLSRC)gxcmap.h +$(GLSRC)gxmclip.h:$(GLSRC)gsimage.h +$(GLSRC)gxmclip.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxmclip.h:$(GLSRC)gxdda.h +$(GLSRC)gxmclip.h:$(GLSRC)gxcvalue.h $(GLSRC)gxmclip.h:$(GLSRC)gsfont.h $(GLSRC)gxmclip.h:$(GLSRC)gxfmap.h -$(GLSRC)gxmclip.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxmclip.h:$(GLSRC)gxpath.h -$(GLSRC)gxmclip.h:$(GLSRC)gspenum.h -$(GLSRC)gxmclip.h:$(GLSRC)gxtmap.h -$(GLSRC)gxmclip.h:$(GLSRC)gsimage.h +$(GLSRC)gxmclip.h:$(GLSRC)gxftype.h $(GLSRC)gxmclip.h:$(GLSRC)gxfrac.h -$(GLSRC)gxmclip.h:$(GLSRC)gxdda.h -$(GLSRC)gxmclip.h:$(GLSRC)gslparam.h -$(GLSRC)gxmclip.h:$(GLSRC)gxbcache.h -$(GLSRC)gxmclip.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxmclip.h:$(GLSRC)gsrect.h $(GLSRC)gxmclip.h:$(GLSRC)gscms.h -$(GLSRC)gxmclip.h:$(GLSRC)gxftype.h -$(GLSRC)gxmclip.h:$(GLSRC)gsdevice.h $(GLSRC)gxmclip.h:$(GLSRC)gscspace.h -$(GLSRC)gxmclip.h:$(GLSRC)gsuid.h +$(GLSRC)gxmclip.h:$(GLSRC)gxpath.h +$(GLSRC)gxmclip.h:$(GLSRC)gxbcache.h +$(GLSRC)gxmclip.h:$(GLSRC)gsdevice.h $(GLSRC)gxmclip.h:$(GLSRC)gxarith.h -$(GLSRC)gxmclip.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxmclip.h:$(GLSRC)gspenum.h +$(GLSRC)gxmclip.h:$(GLSRC)gxhttile.h +$(GLSRC)gxmclip.h:$(GLSRC)gsrect.h +$(GLSRC)gxmclip.h:$(GLSRC)gslparam.h $(GLSRC)gxmclip.h:$(GLSRC)gsxfont.h +$(GLSRC)gxmclip.h:$(GLSRC)gsiparam.h +$(GLSRC)gxmclip.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxmclip.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxmclip.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxmclip.h:$(GLSRC)gscpm.h $(GLSRC)gxmclip.h:$(GLSRC)gxfixed.h $(GLSRC)gxmclip.h:$(GLSRC)gsrefct.h -$(GLSRC)gxmclip.h:$(GLSRC)gscpm.h -$(GLSRC)gxmclip.h:$(GLSRC)gsiparam.h -$(GLSRC)gxmclip.h:$(GLSRC)gxhttile.h -$(GLSRC)gxmclip.h:$(GLSRC)gp.h -$(GLSRC)gxmclip.h:$(GLSRC)memento.h $(GLSRC)gxmclip.h:$(GLSRC)gsparam.h -$(GLSRC)gxmclip.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxmclip.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxmclip.h:$(GLSRC)srdline.h +$(GLSRC)gxmclip.h:$(GLSRC)gp.h +$(GLSRC)gxmclip.h:$(GLSRC)gsccolor.h $(GLSRC)gxmclip.h:$(GLSRC)gsstruct.h $(GLSRC)gxmclip.h:$(GLSRC)gxsync.h -$(GLSRC)gxmclip.h:$(GLSRC)gscsel.h +$(GLSRC)gxmclip.h:$(GLSRC)srdline.h $(GLSRC)gxmclip.h:$(GLSRC)scommon.h +$(GLSRC)gxmclip.h:$(GLSRC)memento.h +$(GLSRC)gxmclip.h:$(GLSRC)gscsel.h $(GLSRC)gxmclip.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxmclip.h:$(GLSRC)gsccolor.h $(GLSRC)gxmclip.h:$(GLSRC)gsstype.h +$(GLSRC)gxmclip.h:$(GLSRC)stat_.h +$(GLSRC)gxmclip.h:$(GLSRC)gxtmap.h $(GLSRC)gxmclip.h:$(GLSRC)gsmemory.h $(GLSRC)gxmclip.h:$(GLSRC)gpsync.h -$(GLSRC)gxmclip.h:$(GLSRC)gpgetenv.h $(GLSRC)gxmclip.h:$(GLSRC)memory_.h +$(GLSRC)gxmclip.h:$(GLSRC)gpgetenv.h $(GLSRC)gxmclip.h:$(GLSRC)gslibctx.h $(GLSRC)gxmclip.h:$(GLSRC)gscdefs.h +$(GLSRC)gxmclip.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxmclip.h:$(GLSRC)stdio_.h $(GLSRC)gxmclip.h:$(GLSRC)gscompt.h $(GLSRC)gxmclip.h:$(GLSRC)gxcindex.h -$(GLSRC)gxmclip.h:$(GLSRC)stdint_.h $(GLSRC)gxmclip.h:$(GLSRC)gsgstate.h +$(GLSRC)gxmclip.h:$(GLSRC)stdint_.h +$(GLSRC)gxmclip.h:$(GLSRC)gssprintf.h $(GLSRC)gxmclip.h:$(GLSRC)gsccode.h -$(GLSRC)gxmclip.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxmclip.h:$(GLSRC)stdio_.h -$(GLSRC)gxmclip.h:$(GLSRC)gstypes.h $(GLSRC)gxmclip.h:$(GLSRC)std.h +$(GLSRC)gxmclip.h:$(GLSRC)gstypes.h $(GLSRC)gxmclip.h:$(GLSRC)stdpre.h $(GLSRC)gxmclip.h:$(GLGEN)arch.h -$(GLSRC)gxmclip.h:$(GLSRC)gssprintf.h $(GLSRC)gxoprect.h:$(GLSRC)gxdevcli.h $(GLSRC)gxoprect.h:$(GLSRC)gxtext.h $(GLSRC)gxoprect.h:$(GLSRC)gstext.h +$(GLSRC)gxoprect.h:$(GLSRC)gsnamecl.h $(GLSRC)gxoprect.h:$(GLSRC)gstparam.h -$(GLSRC)gxoprect.h:$(GLSRC)gxcmap.h +$(GLSRC)gxoprect.h:$(GLSRC)gxfcache.h +$(GLSRC)gxoprect.h:$(GLSRC)gxcspace.h $(GLSRC)gxoprect.h:$(GLSRC)gsropt.h $(GLSRC)gxoprect.h:$(GLSRC)gsfunc.h -$(GLSRC)gxoprect.h:$(GLSRC)gsnamecl.h $(GLSRC)gxoprect.h:$(GLSRC)gxrplane.h -$(GLSRC)gxoprect.h:$(GLSRC)gxcspace.h -$(GLSRC)gxoprect.h:$(GLSRC)gxfcache.h +$(GLSRC)gxoprect.h:$(GLSRC)gsuid.h +$(GLSRC)gxoprect.h:$(GLSRC)gxcmap.h +$(GLSRC)gxoprect.h:$(GLSRC)gsimage.h +$(GLSRC)gxoprect.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxoprect.h:$(GLSRC)gxdda.h +$(GLSRC)gxoprect.h:$(GLSRC)gxcvalue.h $(GLSRC)gxoprect.h:$(GLSRC)gsfont.h $(GLSRC)gxoprect.h:$(GLSRC)gxfmap.h -$(GLSRC)gxoprect.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxoprect.h:$(GLSRC)gxpath.h -$(GLSRC)gxoprect.h:$(GLSRC)gspenum.h -$(GLSRC)gxoprect.h:$(GLSRC)gxtmap.h -$(GLSRC)gxoprect.h:$(GLSRC)gsimage.h +$(GLSRC)gxoprect.h:$(GLSRC)gxftype.h $(GLSRC)gxoprect.h:$(GLSRC)gxfrac.h -$(GLSRC)gxoprect.h:$(GLSRC)gxdda.h -$(GLSRC)gxoprect.h:$(GLSRC)gslparam.h -$(GLSRC)gxoprect.h:$(GLSRC)gxbcache.h -$(GLSRC)gxoprect.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxoprect.h:$(GLSRC)gsrect.h $(GLSRC)gxoprect.h:$(GLSRC)gscms.h -$(GLSRC)gxoprect.h:$(GLSRC)gxftype.h -$(GLSRC)gxoprect.h:$(GLSRC)gsdevice.h $(GLSRC)gxoprect.h:$(GLSRC)gscspace.h -$(GLSRC)gxoprect.h:$(GLSRC)gsuid.h +$(GLSRC)gxoprect.h:$(GLSRC)gxpath.h +$(GLSRC)gxoprect.h:$(GLSRC)gxbcache.h +$(GLSRC)gxoprect.h:$(GLSRC)gsdevice.h $(GLSRC)gxoprect.h:$(GLSRC)gxarith.h -$(GLSRC)gxoprect.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxoprect.h:$(GLSRC)gspenum.h +$(GLSRC)gxoprect.h:$(GLSRC)gxhttile.h +$(GLSRC)gxoprect.h:$(GLSRC)gsrect.h +$(GLSRC)gxoprect.h:$(GLSRC)gslparam.h $(GLSRC)gxoprect.h:$(GLSRC)gsxfont.h +$(GLSRC)gxoprect.h:$(GLSRC)gsiparam.h +$(GLSRC)gxoprect.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxoprect.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxoprect.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxoprect.h:$(GLSRC)gscpm.h $(GLSRC)gxoprect.h:$(GLSRC)gxfixed.h $(GLSRC)gxoprect.h:$(GLSRC)gsrefct.h -$(GLSRC)gxoprect.h:$(GLSRC)gscpm.h -$(GLSRC)gxoprect.h:$(GLSRC)gsiparam.h -$(GLSRC)gxoprect.h:$(GLSRC)gxhttile.h -$(GLSRC)gxoprect.h:$(GLSRC)gp.h -$(GLSRC)gxoprect.h:$(GLSRC)memento.h $(GLSRC)gxoprect.h:$(GLSRC)gsparam.h -$(GLSRC)gxoprect.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxoprect.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxoprect.h:$(GLSRC)srdline.h +$(GLSRC)gxoprect.h:$(GLSRC)gp.h +$(GLSRC)gxoprect.h:$(GLSRC)gsccolor.h $(GLSRC)gxoprect.h:$(GLSRC)gsstruct.h $(GLSRC)gxoprect.h:$(GLSRC)gxsync.h -$(GLSRC)gxoprect.h:$(GLSRC)gscsel.h +$(GLSRC)gxoprect.h:$(GLSRC)srdline.h $(GLSRC)gxoprect.h:$(GLSRC)scommon.h +$(GLSRC)gxoprect.h:$(GLSRC)memento.h +$(GLSRC)gxoprect.h:$(GLSRC)gscsel.h $(GLSRC)gxoprect.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxoprect.h:$(GLSRC)gsccolor.h $(GLSRC)gxoprect.h:$(GLSRC)gsstype.h +$(GLSRC)gxoprect.h:$(GLSRC)stat_.h +$(GLSRC)gxoprect.h:$(GLSRC)gxtmap.h $(GLSRC)gxoprect.h:$(GLSRC)gsmemory.h $(GLSRC)gxoprect.h:$(GLSRC)gpsync.h -$(GLSRC)gxoprect.h:$(GLSRC)gpgetenv.h $(GLSRC)gxoprect.h:$(GLSRC)memory_.h +$(GLSRC)gxoprect.h:$(GLSRC)gpgetenv.h $(GLSRC)gxoprect.h:$(GLSRC)gslibctx.h $(GLSRC)gxoprect.h:$(GLSRC)gscdefs.h +$(GLSRC)gxoprect.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxoprect.h:$(GLSRC)stdio_.h $(GLSRC)gxoprect.h:$(GLSRC)gscompt.h $(GLSRC)gxoprect.h:$(GLSRC)gxcindex.h -$(GLSRC)gxoprect.h:$(GLSRC)stdint_.h $(GLSRC)gxoprect.h:$(GLSRC)gsgstate.h +$(GLSRC)gxoprect.h:$(GLSRC)stdint_.h +$(GLSRC)gxoprect.h:$(GLSRC)gssprintf.h $(GLSRC)gxoprect.h:$(GLSRC)gsccode.h -$(GLSRC)gxoprect.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxoprect.h:$(GLSRC)stdio_.h -$(GLSRC)gxoprect.h:$(GLSRC)gstypes.h $(GLSRC)gxoprect.h:$(GLSRC)std.h +$(GLSRC)gxoprect.h:$(GLSRC)gstypes.h $(GLSRC)gxoprect.h:$(GLSRC)stdpre.h $(GLSRC)gxoprect.h:$(GLGEN)arch.h -$(GLSRC)gxoprect.h:$(GLSRC)gssprintf.h $(GLSRC)gxp1impl.h:$(GLSRC)gxpcolor.h $(GLSRC)gxp1impl.h:$(GLSRC)gxblend.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxdcolor.h $(GLSRC)gxp1impl.h:$(GLSRC)gxdevice.h $(GLSRC)gxp1impl.h:$(GLSRC)gxcpath.h $(GLSRC)gxp1impl.h:$(GLSRC)gxdevmem.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxpcache.h $(GLSRC)gxp1impl.h:$(GLSRC)gxdevcli.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxpcache.h $(GLSRC)gxp1impl.h:$(GLSRC)gxtext.h -$(GLSRC)gxp1impl.h:$(GLSRC)gspcolor.h $(GLSRC)gxp1impl.h:$(GLSRC)gstext.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxdcolor.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsnamecl.h $(GLSRC)gxp1impl.h:$(GLSRC)gstparam.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxcmap.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxp1impl.h:$(GLSRC)gspcolor.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxfcache.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxcspace.h $(GLSRC)gxp1impl.h:$(GLSRC)gsropt.h $(GLSRC)gxp1impl.h:$(GLSRC)gsfunc.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsmalloc.h $(GLSRC)gxp1impl.h:$(GLSRC)gxrplane.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxcspace.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxiclass.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxfcache.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsuid.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxcmap.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsimage.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxdda.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxcvalue.h $(GLSRC)gxp1impl.h:$(GLSRC)gsfont.h $(GLSRC)gxp1impl.h:$(GLSRC)gxfmap.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxpath.h -$(GLSRC)gxp1impl.h:$(GLSRC)gspenum.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxtmap.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsimage.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxiclass.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxftype.h $(GLSRC)gxp1impl.h:$(GLSRC)gxfrac.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxdda.h -$(GLSRC)gxp1impl.h:$(GLSRC)gslparam.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxbcache.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsrect.h $(GLSRC)gxp1impl.h:$(GLSRC)gscms.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxftype.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsdevice.h $(GLSRC)gxp1impl.h:$(GLSRC)gscspace.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsuid.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxpath.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxbcache.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsdevice.h $(GLSRC)gxp1impl.h:$(GLSRC)gxarith.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsdsrc.h $(GLSRC)gxp1impl.h:$(GLSRC)gxstdio.h +$(GLSRC)gxp1impl.h:$(GLSRC)gspenum.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxhttile.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsrect.h +$(GLSRC)gxp1impl.h:$(GLSRC)gslparam.h $(GLSRC)gxp1impl.h:$(GLSRC)gsxfont.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxfixed.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsrefct.h -$(GLSRC)gxp1impl.h:$(GLSRC)gscpm.h $(GLSRC)gxp1impl.h:$(GLSRC)gsiparam.h -$(GLSRC)gxp1impl.h:$(GLSRC)gxhttile.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsdsrc.h $(GLSRC)gxp1impl.h:$(GLSRC)gsio.h -$(GLSRC)gxp1impl.h:$(GLSRC)gp.h -$(GLSRC)gxp1impl.h:$(GLSRC)memento.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsparam.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsmatrix.h $(GLSRC)gxp1impl.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxp1impl.h:$(GLSRC)srdline.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxp1impl.h:$(GLSRC)gscpm.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxfixed.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsrefct.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsparam.h +$(GLSRC)gxp1impl.h:$(GLSRC)gp.h +$(GLSRC)gxp1impl.h:$(GLSRC)gsccolor.h $(GLSRC)gxp1impl.h:$(GLSRC)gsstruct.h $(GLSRC)gxp1impl.h:$(GLSRC)gxsync.h -$(GLSRC)gxp1impl.h:$(GLSRC)gscsel.h +$(GLSRC)gxp1impl.h:$(GLSRC)srdline.h $(GLSRC)gxp1impl.h:$(GLSRC)scommon.h +$(GLSRC)gxp1impl.h:$(GLSRC)memento.h +$(GLSRC)gxp1impl.h:$(GLSRC)gscsel.h $(GLSRC)gxp1impl.h:$(GLSRC)gsbitmap.h $(GLSRC)gxp1impl.h:$(GLSRC)gsfname.h -$(GLSRC)gxp1impl.h:$(GLSRC)gsccolor.h $(GLSRC)gxp1impl.h:$(GLSRC)gsstype.h +$(GLSRC)gxp1impl.h:$(GLSRC)stat_.h +$(GLSRC)gxp1impl.h:$(GLSRC)gxtmap.h $(GLSRC)gxp1impl.h:$(GLSRC)gsmemory.h $(GLSRC)gxp1impl.h:$(GLSRC)gpsync.h -$(GLSRC)gxp1impl.h:$(GLSRC)gpgetenv.h $(GLSRC)gxp1impl.h:$(GLSRC)memory_.h +$(GLSRC)gxp1impl.h:$(GLSRC)gpgetenv.h $(GLSRC)gxp1impl.h:$(GLSRC)gslibctx.h $(GLSRC)gxp1impl.h:$(GLSRC)gscdefs.h +$(GLSRC)gxp1impl.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxp1impl.h:$(GLSRC)stdio_.h $(GLSRC)gxp1impl.h:$(GLSRC)gscompt.h $(GLSRC)gxp1impl.h:$(GLSRC)gxcindex.h -$(GLSRC)gxp1impl.h:$(GLSRC)stdint_.h $(GLSRC)gxp1impl.h:$(GLSRC)gsgstate.h +$(GLSRC)gxp1impl.h:$(GLSRC)stdint_.h +$(GLSRC)gxp1impl.h:$(GLSRC)gssprintf.h $(GLSRC)gxp1impl.h:$(GLSRC)gsccode.h -$(GLSRC)gxp1impl.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxp1impl.h:$(GLSRC)stdio_.h -$(GLSRC)gxp1impl.h:$(GLSRC)gstypes.h $(GLSRC)gxp1impl.h:$(GLSRC)std.h +$(GLSRC)gxp1impl.h:$(GLSRC)gstypes.h $(GLSRC)gxp1impl.h:$(GLSRC)stdpre.h $(GLSRC)gxp1impl.h:$(GLGEN)arch.h -$(GLSRC)gxp1impl.h:$(GLSRC)gssprintf.h -$(GLSRC)gxpaint.h:$(GLSRC)gxpath.h -$(GLSRC)gxpaint.h:$(GLSRC)gspenum.h -$(GLSRC)gxpaint.h:$(GLSRC)gslparam.h $(GLSRC)gxpaint.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxpaint.h:$(GLSRC)gsrect.h $(GLSRC)gxpaint.h:$(GLSRC)gscms.h -$(GLSRC)gxpaint.h:$(GLSRC)gsdevice.h $(GLSRC)gxpaint.h:$(GLSRC)gscspace.h +$(GLSRC)gxpaint.h:$(GLSRC)gxpath.h +$(GLSRC)gxpaint.h:$(GLSRC)gsdevice.h $(GLSRC)gxpaint.h:$(GLSRC)gxarith.h +$(GLSRC)gxpaint.h:$(GLSRC)gspenum.h +$(GLSRC)gxpaint.h:$(GLSRC)gxhttile.h +$(GLSRC)gxpaint.h:$(GLSRC)gsrect.h +$(GLSRC)gxpaint.h:$(GLSRC)gslparam.h +$(GLSRC)gxpaint.h:$(GLSRC)gsiparam.h +$(GLSRC)gxpaint.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxpaint.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxpaint.h:$(GLSRC)gscpm.h $(GLSRC)gxpaint.h:$(GLSRC)gxfixed.h $(GLSRC)gxpaint.h:$(GLSRC)gsrefct.h -$(GLSRC)gxpaint.h:$(GLSRC)gscpm.h -$(GLSRC)gxpaint.h:$(GLSRC)gsiparam.h -$(GLSRC)gxpaint.h:$(GLSRC)gxhttile.h -$(GLSRC)gxpaint.h:$(GLSRC)memento.h $(GLSRC)gxpaint.h:$(GLSRC)gsparam.h -$(GLSRC)gxpaint.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxpaint.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxpaint.h:$(GLSRC)gsccolor.h $(GLSRC)gxpaint.h:$(GLSRC)gxsync.h $(GLSRC)gxpaint.h:$(GLSRC)scommon.h +$(GLSRC)gxpaint.h:$(GLSRC)memento.h $(GLSRC)gxpaint.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxpaint.h:$(GLSRC)gsccolor.h $(GLSRC)gxpaint.h:$(GLSRC)gsstype.h $(GLSRC)gxpaint.h:$(GLSRC)gsmemory.h $(GLSRC)gxpaint.h:$(GLSRC)gpsync.h $(GLSRC)gxpaint.h:$(GLSRC)gslibctx.h -$(GLSRC)gxpaint.h:$(GLSRC)gxcindex.h -$(GLSRC)gxpaint.h:$(GLSRC)stdint_.h -$(GLSRC)gxpaint.h:$(GLSRC)gsgstate.h $(GLSRC)gxpaint.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxpaint.h:$(GLSRC)stdio_.h -$(GLSRC)gxpaint.h:$(GLSRC)gstypes.h +$(GLSRC)gxpaint.h:$(GLSRC)gxcindex.h +$(GLSRC)gxpaint.h:$(GLSRC)gsgstate.h +$(GLSRC)gxpaint.h:$(GLSRC)stdint_.h +$(GLSRC)gxpaint.h:$(GLSRC)gssprintf.h $(GLSRC)gxpaint.h:$(GLSRC)std.h +$(GLSRC)gxpaint.h:$(GLSRC)gstypes.h $(GLSRC)gxpaint.h:$(GLSRC)stdpre.h $(GLSRC)gxpaint.h:$(GLGEN)arch.h -$(GLSRC)gxpaint.h:$(GLSRC)gssprintf.h $(GLSRC)gxpath.h:$(GLSRC)gspenum.h -$(GLSRC)gxpath.h:$(GLSRC)gslparam.h $(GLSRC)gxpath.h:$(GLSRC)gsrect.h -$(GLSRC)gxpath.h:$(GLSRC)gxfixed.h +$(GLSRC)gxpath.h:$(GLSRC)gslparam.h $(GLSRC)gxpath.h:$(GLSRC)gscpm.h +$(GLSRC)gxpath.h:$(GLSRC)gxfixed.h $(GLSRC)gxpath.h:$(GLSRC)gsgstate.h -$(GLSRC)gxpath.h:$(GLSRC)gstypes.h $(GLSRC)gxpath.h:$(GLSRC)std.h +$(GLSRC)gxpath.h:$(GLSRC)gstypes.h $(GLSRC)gxpath.h:$(GLSRC)stdpre.h $(GLSRC)gxpath.h:$(GLGEN)arch.h $(GLSRC)gxpcache.h:$(GLSRC)gsdcolor.h $(GLSRC)gxpcache.h:$(GLSRC)gscms.h -$(GLSRC)gxpcache.h:$(GLSRC)gsdevice.h $(GLSRC)gxpcache.h:$(GLSRC)gscspace.h +$(GLSRC)gxpcache.h:$(GLSRC)gsdevice.h $(GLSRC)gxpcache.h:$(GLSRC)gxarith.h -$(GLSRC)gxpcache.h:$(GLSRC)gsrefct.h -$(GLSRC)gxpcache.h:$(GLSRC)gsiparam.h $(GLSRC)gxpcache.h:$(GLSRC)gxhttile.h -$(GLSRC)gxpcache.h:$(GLSRC)memento.h -$(GLSRC)gxpcache.h:$(GLSRC)gsparam.h -$(GLSRC)gxpcache.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxpcache.h:$(GLSRC)gsiparam.h $(GLSRC)gxpcache.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxpcache.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxpcache.h:$(GLSRC)gsrefct.h +$(GLSRC)gxpcache.h:$(GLSRC)gsparam.h +$(GLSRC)gxpcache.h:$(GLSRC)gsccolor.h $(GLSRC)gxpcache.h:$(GLSRC)gxsync.h $(GLSRC)gxpcache.h:$(GLSRC)scommon.h +$(GLSRC)gxpcache.h:$(GLSRC)memento.h $(GLSRC)gxpcache.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxpcache.h:$(GLSRC)gsccolor.h $(GLSRC)gxpcache.h:$(GLSRC)gsstype.h $(GLSRC)gxpcache.h:$(GLSRC)gsmemory.h $(GLSRC)gxpcache.h:$(GLSRC)gpsync.h $(GLSRC)gxpcache.h:$(GLSRC)gslibctx.h -$(GLSRC)gxpcache.h:$(GLSRC)gxcindex.h -$(GLSRC)gxpcache.h:$(GLSRC)stdint_.h -$(GLSRC)gxpcache.h:$(GLSRC)gsgstate.h $(GLSRC)gxpcache.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxpcache.h:$(GLSRC)stdio_.h -$(GLSRC)gxpcache.h:$(GLSRC)gstypes.h +$(GLSRC)gxpcache.h:$(GLSRC)gxcindex.h +$(GLSRC)gxpcache.h:$(GLSRC)gsgstate.h +$(GLSRC)gxpcache.h:$(GLSRC)stdint_.h +$(GLSRC)gxpcache.h:$(GLSRC)gssprintf.h $(GLSRC)gxpcache.h:$(GLSRC)std.h +$(GLSRC)gxpcache.h:$(GLSRC)gstypes.h $(GLSRC)gxpcache.h:$(GLSRC)stdpre.h $(GLSRC)gxpcache.h:$(GLGEN)arch.h -$(GLSRC)gxpcache.h:$(GLSRC)gssprintf.h $(GLSRC)gxsample.h:$(GLSRC)std.h $(GLSRC)gxsample.h:$(GLSRC)stdpre.h $(GLSRC)gxsample.h:$(GLGEN)arch.h @@ -6145,968 +6228,976 @@ $(GLSRC)gxscanc.h:$(GLSRC)gxdevice.h $(GLSRC)gxscanc.h:$(GLSRC)gxdevcli.h $(GLSRC)gxscanc.h:$(GLSRC)gxtext.h $(GLSRC)gxscanc.h:$(GLSRC)gstext.h +$(GLSRC)gxscanc.h:$(GLSRC)gsnamecl.h $(GLSRC)gxscanc.h:$(GLSRC)gstparam.h -$(GLSRC)gxscanc.h:$(GLSRC)gxcmap.h -$(GLSRC)gxscanc.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxscanc.h:$(GLSRC)gxfcache.h +$(GLSRC)gxscanc.h:$(GLSRC)gxcspace.h $(GLSRC)gxscanc.h:$(GLSRC)gsropt.h $(GLSRC)gxscanc.h:$(GLSRC)gsfunc.h -$(GLSRC)gxscanc.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxscanc.h:$(GLSRC)gsmalloc.h $(GLSRC)gxscanc.h:$(GLSRC)gxrplane.h -$(GLSRC)gxscanc.h:$(GLSRC)gxcspace.h -$(GLSRC)gxscanc.h:$(GLSRC)gxfcache.h +$(GLSRC)gxscanc.h:$(GLSRC)gsuid.h +$(GLSRC)gxscanc.h:$(GLSRC)gxcmap.h +$(GLSRC)gxscanc.h:$(GLSRC)gsimage.h +$(GLSRC)gxscanc.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxscanc.h:$(GLSRC)gxdda.h +$(GLSRC)gxscanc.h:$(GLSRC)gxcvalue.h $(GLSRC)gxscanc.h:$(GLSRC)gsfont.h $(GLSRC)gxscanc.h:$(GLSRC)gxfmap.h -$(GLSRC)gxscanc.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxscanc.h:$(GLSRC)gxpath.h -$(GLSRC)gxscanc.h:$(GLSRC)gspenum.h -$(GLSRC)gxscanc.h:$(GLSRC)gxtmap.h -$(GLSRC)gxscanc.h:$(GLSRC)gsimage.h +$(GLSRC)gxscanc.h:$(GLSRC)gxftype.h $(GLSRC)gxscanc.h:$(GLSRC)gxfrac.h -$(GLSRC)gxscanc.h:$(GLSRC)gxdda.h -$(GLSRC)gxscanc.h:$(GLSRC)gslparam.h -$(GLSRC)gxscanc.h:$(GLSRC)gxbcache.h -$(GLSRC)gxscanc.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxscanc.h:$(GLSRC)gsrect.h $(GLSRC)gxscanc.h:$(GLSRC)gscms.h -$(GLSRC)gxscanc.h:$(GLSRC)gxftype.h -$(GLSRC)gxscanc.h:$(GLSRC)gsdevice.h $(GLSRC)gxscanc.h:$(GLSRC)gscspace.h -$(GLSRC)gxscanc.h:$(GLSRC)gsuid.h +$(GLSRC)gxscanc.h:$(GLSRC)gxpath.h +$(GLSRC)gxscanc.h:$(GLSRC)gxbcache.h +$(GLSRC)gxscanc.h:$(GLSRC)gsdevice.h $(GLSRC)gxscanc.h:$(GLSRC)gxarith.h -$(GLSRC)gxscanc.h:$(GLSRC)gsdsrc.h $(GLSRC)gxscanc.h:$(GLSRC)gxstdio.h +$(GLSRC)gxscanc.h:$(GLSRC)gspenum.h +$(GLSRC)gxscanc.h:$(GLSRC)gxhttile.h +$(GLSRC)gxscanc.h:$(GLSRC)gsrect.h +$(GLSRC)gxscanc.h:$(GLSRC)gslparam.h $(GLSRC)gxscanc.h:$(GLSRC)gsxfont.h -$(GLSRC)gxscanc.h:$(GLSRC)gxfixed.h -$(GLSRC)gxscanc.h:$(GLSRC)gsrefct.h -$(GLSRC)gxscanc.h:$(GLSRC)gscpm.h $(GLSRC)gxscanc.h:$(GLSRC)gsiparam.h -$(GLSRC)gxscanc.h:$(GLSRC)gxhttile.h +$(GLSRC)gxscanc.h:$(GLSRC)gsdsrc.h $(GLSRC)gxscanc.h:$(GLSRC)gsio.h -$(GLSRC)gxscanc.h:$(GLSRC)gp.h -$(GLSRC)gxscanc.h:$(GLSRC)memento.h -$(GLSRC)gxscanc.h:$(GLSRC)gsparam.h -$(GLSRC)gxscanc.h:$(GLSRC)gsmatrix.h $(GLSRC)gxscanc.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxscanc.h:$(GLSRC)srdline.h +$(GLSRC)gxscanc.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxscanc.h:$(GLSRC)gscpm.h +$(GLSRC)gxscanc.h:$(GLSRC)gxfixed.h +$(GLSRC)gxscanc.h:$(GLSRC)gsrefct.h +$(GLSRC)gxscanc.h:$(GLSRC)gsparam.h +$(GLSRC)gxscanc.h:$(GLSRC)gp.h +$(GLSRC)gxscanc.h:$(GLSRC)gsccolor.h $(GLSRC)gxscanc.h:$(GLSRC)gsstruct.h $(GLSRC)gxscanc.h:$(GLSRC)gxsync.h -$(GLSRC)gxscanc.h:$(GLSRC)gscsel.h +$(GLSRC)gxscanc.h:$(GLSRC)srdline.h $(GLSRC)gxscanc.h:$(GLSRC)scommon.h +$(GLSRC)gxscanc.h:$(GLSRC)memento.h +$(GLSRC)gxscanc.h:$(GLSRC)gscsel.h $(GLSRC)gxscanc.h:$(GLSRC)gsbitmap.h $(GLSRC)gxscanc.h:$(GLSRC)gsfname.h -$(GLSRC)gxscanc.h:$(GLSRC)gsccolor.h $(GLSRC)gxscanc.h:$(GLSRC)gsstype.h +$(GLSRC)gxscanc.h:$(GLSRC)stat_.h +$(GLSRC)gxscanc.h:$(GLSRC)gxtmap.h $(GLSRC)gxscanc.h:$(GLSRC)gsmemory.h $(GLSRC)gxscanc.h:$(GLSRC)gpsync.h -$(GLSRC)gxscanc.h:$(GLSRC)gpgetenv.h $(GLSRC)gxscanc.h:$(GLSRC)memory_.h +$(GLSRC)gxscanc.h:$(GLSRC)gpgetenv.h $(GLSRC)gxscanc.h:$(GLSRC)gslibctx.h $(GLSRC)gxscanc.h:$(GLSRC)gscdefs.h +$(GLSRC)gxscanc.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxscanc.h:$(GLSRC)stdio_.h $(GLSRC)gxscanc.h:$(GLSRC)gscompt.h $(GLSRC)gxscanc.h:$(GLSRC)gxcindex.h -$(GLSRC)gxscanc.h:$(GLSRC)stdint_.h $(GLSRC)gxscanc.h:$(GLSRC)gsgstate.h +$(GLSRC)gxscanc.h:$(GLSRC)stdint_.h +$(GLSRC)gxscanc.h:$(GLSRC)gssprintf.h $(GLSRC)gxscanc.h:$(GLSRC)gsccode.h -$(GLSRC)gxscanc.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxscanc.h:$(GLSRC)stdio_.h -$(GLSRC)gxscanc.h:$(GLSRC)gstypes.h $(GLSRC)gxscanc.h:$(GLSRC)std.h +$(GLSRC)gxscanc.h:$(GLSRC)gstypes.h $(GLSRC)gxscanc.h:$(GLSRC)stdpre.h $(GLSRC)gxscanc.h:$(GLGEN)arch.h -$(GLSRC)gxscanc.h:$(GLSRC)gssprintf.h $(GLSRC)gxstate.h:$(GLSRC)gscspace.h -$(GLSRC)gxstate.h:$(GLSRC)gsrefct.h $(GLSRC)gxstate.h:$(GLSRC)gsiparam.h -$(GLSRC)gxstate.h:$(GLSRC)memento.h -$(GLSRC)gxstate.h:$(GLSRC)gsmatrix.h $(GLSRC)gxstate.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxstate.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxstate.h:$(GLSRC)gsrefct.h +$(GLSRC)gxstate.h:$(GLSRC)gsccolor.h $(GLSRC)gxstate.h:$(GLSRC)scommon.h +$(GLSRC)gxstate.h:$(GLSRC)memento.h $(GLSRC)gxstate.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxstate.h:$(GLSRC)gsccolor.h $(GLSRC)gxstate.h:$(GLSRC)gsstype.h $(GLSRC)gxstate.h:$(GLSRC)gsmemory.h $(GLSRC)gxstate.h:$(GLSRC)gslibctx.h -$(GLSRC)gxstate.h:$(GLSRC)stdint_.h -$(GLSRC)gxstate.h:$(GLSRC)gsgstate.h $(GLSRC)gxstate.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxstate.h:$(GLSRC)stdio_.h -$(GLSRC)gxstate.h:$(GLSRC)gstypes.h +$(GLSRC)gxstate.h:$(GLSRC)gsgstate.h +$(GLSRC)gxstate.h:$(GLSRC)stdint_.h +$(GLSRC)gxstate.h:$(GLSRC)gssprintf.h $(GLSRC)gxstate.h:$(GLSRC)std.h +$(GLSRC)gxstate.h:$(GLSRC)gstypes.h $(GLSRC)gxstate.h:$(GLSRC)stdpre.h $(GLSRC)gxstate.h:$(GLGEN)arch.h -$(GLSRC)gxstate.h:$(GLSRC)gssprintf.h $(GLSRC)gxtext.h:$(GLSRC)gstext.h $(GLSRC)gxtext.h:$(GLSRC)gxfcache.h +$(GLSRC)gxtext.h:$(GLSRC)gsuid.h +$(GLSRC)gxtext.h:$(GLSRC)gsdcolor.h $(GLSRC)gxtext.h:$(GLSRC)gsfont.h +$(GLSRC)gxtext.h:$(GLSRC)gxftype.h +$(GLSRC)gxtext.h:$(GLSRC)gscms.h +$(GLSRC)gxtext.h:$(GLSRC)gscspace.h $(GLSRC)gxtext.h:$(GLSRC)gxpath.h -$(GLSRC)gxtext.h:$(GLSRC)gspenum.h -$(GLSRC)gxtext.h:$(GLSRC)gslparam.h $(GLSRC)gxtext.h:$(GLSRC)gxbcache.h -$(GLSRC)gxtext.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxtext.h:$(GLSRC)gsrect.h -$(GLSRC)gxtext.h:$(GLSRC)gscms.h -$(GLSRC)gxtext.h:$(GLSRC)gxftype.h $(GLSRC)gxtext.h:$(GLSRC)gsdevice.h -$(GLSRC)gxtext.h:$(GLSRC)gscspace.h -$(GLSRC)gxtext.h:$(GLSRC)gsuid.h $(GLSRC)gxtext.h:$(GLSRC)gxarith.h +$(GLSRC)gxtext.h:$(GLSRC)gspenum.h +$(GLSRC)gxtext.h:$(GLSRC)gxhttile.h +$(GLSRC)gxtext.h:$(GLSRC)gsrect.h +$(GLSRC)gxtext.h:$(GLSRC)gslparam.h $(GLSRC)gxtext.h:$(GLSRC)gsxfont.h +$(GLSRC)gxtext.h:$(GLSRC)gsiparam.h +$(GLSRC)gxtext.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxtext.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxtext.h:$(GLSRC)gscpm.h $(GLSRC)gxtext.h:$(GLSRC)gxfixed.h $(GLSRC)gxtext.h:$(GLSRC)gsrefct.h -$(GLSRC)gxtext.h:$(GLSRC)gscpm.h -$(GLSRC)gxtext.h:$(GLSRC)gsiparam.h -$(GLSRC)gxtext.h:$(GLSRC)gxhttile.h -$(GLSRC)gxtext.h:$(GLSRC)memento.h $(GLSRC)gxtext.h:$(GLSRC)gsparam.h -$(GLSRC)gxtext.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxtext.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxtext.h:$(GLSRC)gsccolor.h $(GLSRC)gxtext.h:$(GLSRC)gxsync.h $(GLSRC)gxtext.h:$(GLSRC)scommon.h +$(GLSRC)gxtext.h:$(GLSRC)memento.h $(GLSRC)gxtext.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxtext.h:$(GLSRC)gsccolor.h $(GLSRC)gxtext.h:$(GLSRC)gsstype.h $(GLSRC)gxtext.h:$(GLSRC)gsmemory.h $(GLSRC)gxtext.h:$(GLSRC)gpsync.h $(GLSRC)gxtext.h:$(GLSRC)gslibctx.h +$(GLSRC)gxtext.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxtext.h:$(GLSRC)stdio_.h $(GLSRC)gxtext.h:$(GLSRC)gxcindex.h -$(GLSRC)gxtext.h:$(GLSRC)stdint_.h $(GLSRC)gxtext.h:$(GLSRC)gsgstate.h +$(GLSRC)gxtext.h:$(GLSRC)stdint_.h +$(GLSRC)gxtext.h:$(GLSRC)gssprintf.h $(GLSRC)gxtext.h:$(GLSRC)gsccode.h -$(GLSRC)gxtext.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxtext.h:$(GLSRC)stdio_.h -$(GLSRC)gxtext.h:$(GLSRC)gstypes.h $(GLSRC)gxtext.h:$(GLSRC)std.h +$(GLSRC)gxtext.h:$(GLSRC)gstypes.h $(GLSRC)gxtext.h:$(GLSRC)stdpre.h $(GLSRC)gxtext.h:$(GLGEN)arch.h -$(GLSRC)gxtext.h:$(GLSRC)gssprintf.h $(GLSRC)gxxfont.h:$(GLSRC)gxdevcli.h $(GLSRC)gxxfont.h:$(GLSRC)gxtext.h $(GLSRC)gxxfont.h:$(GLSRC)gstext.h +$(GLSRC)gxxfont.h:$(GLSRC)gsnamecl.h $(GLSRC)gxxfont.h:$(GLSRC)gstparam.h -$(GLSRC)gxxfont.h:$(GLSRC)gxcmap.h +$(GLSRC)gxxfont.h:$(GLSRC)gxfcache.h +$(GLSRC)gxxfont.h:$(GLSRC)gxcspace.h $(GLSRC)gxxfont.h:$(GLSRC)gsropt.h $(GLSRC)gxxfont.h:$(GLSRC)gsfunc.h -$(GLSRC)gxxfont.h:$(GLSRC)gsnamecl.h $(GLSRC)gxxfont.h:$(GLSRC)gxrplane.h -$(GLSRC)gxxfont.h:$(GLSRC)gxcspace.h -$(GLSRC)gxxfont.h:$(GLSRC)gxfcache.h +$(GLSRC)gxxfont.h:$(GLSRC)gsuid.h +$(GLSRC)gxxfont.h:$(GLSRC)gxcmap.h +$(GLSRC)gxxfont.h:$(GLSRC)gsimage.h +$(GLSRC)gxxfont.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxxfont.h:$(GLSRC)gxdda.h +$(GLSRC)gxxfont.h:$(GLSRC)gxcvalue.h $(GLSRC)gxxfont.h:$(GLSRC)gsfont.h $(GLSRC)gxxfont.h:$(GLSRC)gxfmap.h -$(GLSRC)gxxfont.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxxfont.h:$(GLSRC)gxpath.h -$(GLSRC)gxxfont.h:$(GLSRC)gspenum.h -$(GLSRC)gxxfont.h:$(GLSRC)gxtmap.h -$(GLSRC)gxxfont.h:$(GLSRC)gsimage.h +$(GLSRC)gxxfont.h:$(GLSRC)gxftype.h $(GLSRC)gxxfont.h:$(GLSRC)gxfrac.h -$(GLSRC)gxxfont.h:$(GLSRC)gxdda.h -$(GLSRC)gxxfont.h:$(GLSRC)gslparam.h -$(GLSRC)gxxfont.h:$(GLSRC)gxbcache.h -$(GLSRC)gxxfont.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxxfont.h:$(GLSRC)gsrect.h $(GLSRC)gxxfont.h:$(GLSRC)gscms.h -$(GLSRC)gxxfont.h:$(GLSRC)gxftype.h -$(GLSRC)gxxfont.h:$(GLSRC)gsdevice.h $(GLSRC)gxxfont.h:$(GLSRC)gscspace.h -$(GLSRC)gxxfont.h:$(GLSRC)gsuid.h +$(GLSRC)gxxfont.h:$(GLSRC)gxpath.h +$(GLSRC)gxxfont.h:$(GLSRC)gxbcache.h +$(GLSRC)gxxfont.h:$(GLSRC)gsdevice.h $(GLSRC)gxxfont.h:$(GLSRC)gxarith.h -$(GLSRC)gxxfont.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxxfont.h:$(GLSRC)gspenum.h +$(GLSRC)gxxfont.h:$(GLSRC)gxhttile.h +$(GLSRC)gxxfont.h:$(GLSRC)gsrect.h +$(GLSRC)gxxfont.h:$(GLSRC)gslparam.h $(GLSRC)gxxfont.h:$(GLSRC)gsxfont.h +$(GLSRC)gxxfont.h:$(GLSRC)gsiparam.h +$(GLSRC)gxxfont.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxxfont.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxxfont.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxxfont.h:$(GLSRC)gscpm.h $(GLSRC)gxxfont.h:$(GLSRC)gxfixed.h $(GLSRC)gxxfont.h:$(GLSRC)gsrefct.h -$(GLSRC)gxxfont.h:$(GLSRC)gscpm.h -$(GLSRC)gxxfont.h:$(GLSRC)gsiparam.h -$(GLSRC)gxxfont.h:$(GLSRC)gxhttile.h -$(GLSRC)gxxfont.h:$(GLSRC)gp.h -$(GLSRC)gxxfont.h:$(GLSRC)memento.h $(GLSRC)gxxfont.h:$(GLSRC)gsparam.h -$(GLSRC)gxxfont.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxxfont.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxxfont.h:$(GLSRC)srdline.h +$(GLSRC)gxxfont.h:$(GLSRC)gp.h +$(GLSRC)gxxfont.h:$(GLSRC)gsccolor.h $(GLSRC)gxxfont.h:$(GLSRC)gsstruct.h $(GLSRC)gxxfont.h:$(GLSRC)gxsync.h -$(GLSRC)gxxfont.h:$(GLSRC)gscsel.h +$(GLSRC)gxxfont.h:$(GLSRC)srdline.h $(GLSRC)gxxfont.h:$(GLSRC)scommon.h +$(GLSRC)gxxfont.h:$(GLSRC)memento.h +$(GLSRC)gxxfont.h:$(GLSRC)gscsel.h $(GLSRC)gxxfont.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxxfont.h:$(GLSRC)gsccolor.h $(GLSRC)gxxfont.h:$(GLSRC)gsstype.h +$(GLSRC)gxxfont.h:$(GLSRC)stat_.h +$(GLSRC)gxxfont.h:$(GLSRC)gxtmap.h $(GLSRC)gxxfont.h:$(GLSRC)gsmemory.h $(GLSRC)gxxfont.h:$(GLSRC)gpsync.h -$(GLSRC)gxxfont.h:$(GLSRC)gpgetenv.h $(GLSRC)gxxfont.h:$(GLSRC)memory_.h +$(GLSRC)gxxfont.h:$(GLSRC)gpgetenv.h $(GLSRC)gxxfont.h:$(GLSRC)gslibctx.h $(GLSRC)gxxfont.h:$(GLSRC)gscdefs.h +$(GLSRC)gxxfont.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxxfont.h:$(GLSRC)stdio_.h $(GLSRC)gxxfont.h:$(GLSRC)gscompt.h $(GLSRC)gxxfont.h:$(GLSRC)gxcindex.h -$(GLSRC)gxxfont.h:$(GLSRC)stdint_.h $(GLSRC)gxxfont.h:$(GLSRC)gsgstate.h +$(GLSRC)gxxfont.h:$(GLSRC)stdint_.h +$(GLSRC)gxxfont.h:$(GLSRC)gssprintf.h $(GLSRC)gxxfont.h:$(GLSRC)gsccode.h -$(GLSRC)gxxfont.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxxfont.h:$(GLSRC)stdio_.h -$(GLSRC)gxxfont.h:$(GLSRC)gstypes.h $(GLSRC)gxxfont.h:$(GLSRC)std.h +$(GLSRC)gxxfont.h:$(GLSRC)gstypes.h $(GLSRC)gxxfont.h:$(GLSRC)stdpre.h $(GLSRC)gxxfont.h:$(GLGEN)arch.h -$(GLSRC)gxxfont.h:$(GLSRC)gssprintf.h $(GLSRC)gxband.h:$(GLSRC)gxdevcli.h $(GLSRC)gxband.h:$(GLSRC)gxtext.h $(GLSRC)gxband.h:$(GLSRC)gstext.h +$(GLSRC)gxband.h:$(GLSRC)gsnamecl.h $(GLSRC)gxband.h:$(GLSRC)gstparam.h -$(GLSRC)gxband.h:$(GLSRC)gxcmap.h +$(GLSRC)gxband.h:$(GLSRC)gxfcache.h +$(GLSRC)gxband.h:$(GLSRC)gxcspace.h $(GLSRC)gxband.h:$(GLSRC)gsropt.h $(GLSRC)gxband.h:$(GLSRC)gsfunc.h -$(GLSRC)gxband.h:$(GLSRC)gsnamecl.h $(GLSRC)gxband.h:$(GLSRC)gxrplane.h -$(GLSRC)gxband.h:$(GLSRC)gxcspace.h -$(GLSRC)gxband.h:$(GLSRC)gxclio.h -$(GLSRC)gxband.h:$(GLSRC)gxfcache.h +$(GLSRC)gxband.h:$(GLSRC)gsuid.h +$(GLSRC)gxband.h:$(GLSRC)gxcmap.h +$(GLSRC)gxband.h:$(GLSRC)gsimage.h +$(GLSRC)gxband.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxband.h:$(GLSRC)gxdda.h +$(GLSRC)gxband.h:$(GLSRC)gxcvalue.h $(GLSRC)gxband.h:$(GLSRC)gsfont.h $(GLSRC)gxband.h:$(GLSRC)gxfmap.h -$(GLSRC)gxband.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxband.h:$(GLSRC)gxpath.h -$(GLSRC)gxband.h:$(GLSRC)gspenum.h -$(GLSRC)gxband.h:$(GLSRC)gxtmap.h -$(GLSRC)gxband.h:$(GLSRC)gsimage.h +$(GLSRC)gxband.h:$(GLSRC)gxftype.h $(GLSRC)gxband.h:$(GLSRC)gxfrac.h -$(GLSRC)gxband.h:$(GLSRC)gxdda.h -$(GLSRC)gxband.h:$(GLSRC)gslparam.h -$(GLSRC)gxband.h:$(GLSRC)gxbcache.h -$(GLSRC)gxband.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxband.h:$(GLSRC)gsrect.h $(GLSRC)gxband.h:$(GLSRC)gscms.h -$(GLSRC)gxband.h:$(GLSRC)gxftype.h -$(GLSRC)gxband.h:$(GLSRC)gsdevice.h $(GLSRC)gxband.h:$(GLSRC)gscspace.h -$(GLSRC)gxband.h:$(GLSRC)gsuid.h +$(GLSRC)gxband.h:$(GLSRC)gxpath.h +$(GLSRC)gxband.h:$(GLSRC)gxbcache.h +$(GLSRC)gxband.h:$(GLSRC)gsdevice.h $(GLSRC)gxband.h:$(GLSRC)gxarith.h -$(GLSRC)gxband.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxband.h:$(GLSRC)gspenum.h +$(GLSRC)gxband.h:$(GLSRC)gxhttile.h +$(GLSRC)gxband.h:$(GLSRC)gsrect.h +$(GLSRC)gxband.h:$(GLSRC)gslparam.h $(GLSRC)gxband.h:$(GLSRC)gsxfont.h +$(GLSRC)gxband.h:$(GLSRC)gxclio.h +$(GLSRC)gxband.h:$(GLSRC)gsiparam.h +$(GLSRC)gxband.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxband.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxband.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxband.h:$(GLSRC)gscpm.h $(GLSRC)gxband.h:$(GLSRC)gxfixed.h $(GLSRC)gxband.h:$(GLSRC)gsrefct.h -$(GLSRC)gxband.h:$(GLSRC)gscpm.h -$(GLSRC)gxband.h:$(GLSRC)gsiparam.h -$(GLSRC)gxband.h:$(GLSRC)gxhttile.h -$(GLSRC)gxband.h:$(GLSRC)gp.h -$(GLSRC)gxband.h:$(GLSRC)memento.h $(GLSRC)gxband.h:$(GLSRC)gsparam.h -$(GLSRC)gxband.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxband.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxband.h:$(GLSRC)srdline.h +$(GLSRC)gxband.h:$(GLSRC)gp.h +$(GLSRC)gxband.h:$(GLSRC)gsccolor.h $(GLSRC)gxband.h:$(GLSRC)gsstruct.h $(GLSRC)gxband.h:$(GLSRC)gxsync.h -$(GLSRC)gxband.h:$(GLSRC)gscsel.h +$(GLSRC)gxband.h:$(GLSRC)srdline.h $(GLSRC)gxband.h:$(GLSRC)scommon.h +$(GLSRC)gxband.h:$(GLSRC)memento.h +$(GLSRC)gxband.h:$(GLSRC)gscsel.h $(GLSRC)gxband.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxband.h:$(GLSRC)gsccolor.h $(GLSRC)gxband.h:$(GLSRC)gsstype.h +$(GLSRC)gxband.h:$(GLSRC)stat_.h +$(GLSRC)gxband.h:$(GLSRC)gxtmap.h $(GLSRC)gxband.h:$(GLSRC)gsmemory.h $(GLSRC)gxband.h:$(GLSRC)gpsync.h -$(GLSRC)gxband.h:$(GLSRC)gpgetenv.h $(GLSRC)gxband.h:$(GLSRC)memory_.h +$(GLSRC)gxband.h:$(GLSRC)gpgetenv.h $(GLSRC)gxband.h:$(GLSRC)gslibctx.h $(GLSRC)gxband.h:$(GLSRC)gscdefs.h +$(GLSRC)gxband.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxband.h:$(GLSRC)stdio_.h $(GLSRC)gxband.h:$(GLSRC)gscompt.h $(GLSRC)gxband.h:$(GLSRC)gxcindex.h -$(GLSRC)gxband.h:$(GLSRC)stdint_.h $(GLSRC)gxband.h:$(GLSRC)gsgstate.h +$(GLSRC)gxband.h:$(GLSRC)stdint_.h +$(GLSRC)gxband.h:$(GLSRC)gssprintf.h $(GLSRC)gxband.h:$(GLSRC)gsccode.h -$(GLSRC)gxband.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxband.h:$(GLSRC)stdio_.h -$(GLSRC)gxband.h:$(GLSRC)gstypes.h $(GLSRC)gxband.h:$(GLSRC)std.h +$(GLSRC)gxband.h:$(GLSRC)gstypes.h $(GLSRC)gxband.h:$(GLSRC)stdpre.h $(GLSRC)gxband.h:$(GLGEN)arch.h -$(GLSRC)gxband.h:$(GLSRC)gssprintf.h $(GLSRC)gxcdevn.h:$(GLSRC)gxfrac.h $(GLSRC)gxcdevn.h:$(GLSRC)gscspace.h -$(GLSRC)gxcdevn.h:$(GLSRC)gsrefct.h $(GLSRC)gxcdevn.h:$(GLSRC)gsiparam.h -$(GLSRC)gxcdevn.h:$(GLSRC)memento.h -$(GLSRC)gxcdevn.h:$(GLSRC)gsmatrix.h $(GLSRC)gxcdevn.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxcdevn.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxcdevn.h:$(GLSRC)gsrefct.h +$(GLSRC)gxcdevn.h:$(GLSRC)gsccolor.h $(GLSRC)gxcdevn.h:$(GLSRC)scommon.h +$(GLSRC)gxcdevn.h:$(GLSRC)memento.h $(GLSRC)gxcdevn.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxcdevn.h:$(GLSRC)gsccolor.h $(GLSRC)gxcdevn.h:$(GLSRC)gsstype.h $(GLSRC)gxcdevn.h:$(GLSRC)gsmemory.h $(GLSRC)gxcdevn.h:$(GLSRC)gslibctx.h -$(GLSRC)gxcdevn.h:$(GLSRC)gxcindex.h -$(GLSRC)gxcdevn.h:$(GLSRC)stdint_.h -$(GLSRC)gxcdevn.h:$(GLSRC)gsgstate.h $(GLSRC)gxcdevn.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxcdevn.h:$(GLSRC)stdio_.h -$(GLSRC)gxcdevn.h:$(GLSRC)gstypes.h +$(GLSRC)gxcdevn.h:$(GLSRC)gxcindex.h +$(GLSRC)gxcdevn.h:$(GLSRC)gsgstate.h +$(GLSRC)gxcdevn.h:$(GLSRC)stdint_.h +$(GLSRC)gxcdevn.h:$(GLSRC)gssprintf.h $(GLSRC)gxcdevn.h:$(GLSRC)std.h +$(GLSRC)gxcdevn.h:$(GLSRC)gstypes.h $(GLSRC)gxcdevn.h:$(GLSRC)stdpre.h $(GLSRC)gxcdevn.h:$(GLGEN)arch.h -$(GLSRC)gxcdevn.h:$(GLSRC)gssprintf.h $(GLSRC)gxchar.h:$(GLSRC)gschar.h $(GLSRC)gxchar.h:$(GLSRC)gsstate.h $(GLSRC)gxchar.h:$(GLSRC)gsovrc.h $(GLSRC)gxchar.h:$(GLSRC)gscolor.h -$(GLSRC)gxchar.h:$(GLSRC)gsline.h $(GLSRC)gxchar.h:$(GLSRC)gxcomp.h +$(GLSRC)gxchar.h:$(GLSRC)gsline.h $(GLSRC)gxchar.h:$(GLSRC)gxbitfmt.h $(GLSRC)gxchar.h:$(GLSRC)gsht.h $(GLSRC)gxchar.h:$(GLSRC)gxtext.h $(GLSRC)gxchar.h:$(GLSRC)gstext.h $(GLSRC)gxchar.h:$(GLSRC)gxfcache.h +$(GLSRC)gxchar.h:$(GLSRC)gsuid.h +$(GLSRC)gxchar.h:$(GLSRC)gsdcolor.h $(GLSRC)gxchar.h:$(GLSRC)gsfont.h +$(GLSRC)gxchar.h:$(GLSRC)gxftype.h +$(GLSRC)gxchar.h:$(GLSRC)gscms.h +$(GLSRC)gxchar.h:$(GLSRC)gscspace.h $(GLSRC)gxchar.h:$(GLSRC)gxpath.h -$(GLSRC)gxchar.h:$(GLSRC)gspenum.h -$(GLSRC)gxchar.h:$(GLSRC)gxtmap.h -$(GLSRC)gxchar.h:$(GLSRC)gslparam.h $(GLSRC)gxchar.h:$(GLSRC)gxbcache.h -$(GLSRC)gxchar.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxchar.h:$(GLSRC)gsrect.h -$(GLSRC)gxchar.h:$(GLSRC)gscms.h -$(GLSRC)gxchar.h:$(GLSRC)gxftype.h $(GLSRC)gxchar.h:$(GLSRC)gsdevice.h -$(GLSRC)gxchar.h:$(GLSRC)gscspace.h -$(GLSRC)gxchar.h:$(GLSRC)gsuid.h $(GLSRC)gxchar.h:$(GLSRC)gxarith.h +$(GLSRC)gxchar.h:$(GLSRC)gspenum.h +$(GLSRC)gxchar.h:$(GLSRC)gxhttile.h +$(GLSRC)gxchar.h:$(GLSRC)gsrect.h +$(GLSRC)gxchar.h:$(GLSRC)gslparam.h $(GLSRC)gxchar.h:$(GLSRC)gsxfont.h +$(GLSRC)gxchar.h:$(GLSRC)gsiparam.h +$(GLSRC)gxchar.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxchar.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxchar.h:$(GLSRC)gscpm.h $(GLSRC)gxchar.h:$(GLSRC)gxfixed.h $(GLSRC)gxchar.h:$(GLSRC)gsrefct.h -$(GLSRC)gxchar.h:$(GLSRC)gscpm.h -$(GLSRC)gxchar.h:$(GLSRC)gsiparam.h -$(GLSRC)gxchar.h:$(GLSRC)gxhttile.h -$(GLSRC)gxchar.h:$(GLSRC)memento.h $(GLSRC)gxchar.h:$(GLSRC)gsparam.h -$(GLSRC)gxchar.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxchar.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxchar.h:$(GLSRC)gsccolor.h $(GLSRC)gxchar.h:$(GLSRC)gxsync.h -$(GLSRC)gxchar.h:$(GLSRC)gscsel.h $(GLSRC)gxchar.h:$(GLSRC)scommon.h +$(GLSRC)gxchar.h:$(GLSRC)memento.h +$(GLSRC)gxchar.h:$(GLSRC)gscsel.h $(GLSRC)gxchar.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxchar.h:$(GLSRC)gsccolor.h $(GLSRC)gxchar.h:$(GLSRC)gsstype.h +$(GLSRC)gxchar.h:$(GLSRC)gxtmap.h $(GLSRC)gxchar.h:$(GLSRC)gsmemory.h $(GLSRC)gxchar.h:$(GLSRC)gpsync.h $(GLSRC)gxchar.h:$(GLSRC)gslibctx.h +$(GLSRC)gxchar.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxchar.h:$(GLSRC)stdio_.h $(GLSRC)gxchar.h:$(GLSRC)gscompt.h $(GLSRC)gxchar.h:$(GLSRC)gxcindex.h -$(GLSRC)gxchar.h:$(GLSRC)stdint_.h $(GLSRC)gxchar.h:$(GLSRC)gsgstate.h +$(GLSRC)gxchar.h:$(GLSRC)stdint_.h +$(GLSRC)gxchar.h:$(GLSRC)gssprintf.h $(GLSRC)gxchar.h:$(GLSRC)gsccode.h -$(GLSRC)gxchar.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxchar.h:$(GLSRC)stdio_.h -$(GLSRC)gxchar.h:$(GLSRC)gstypes.h $(GLSRC)gxchar.h:$(GLSRC)std.h +$(GLSRC)gxchar.h:$(GLSRC)gstypes.h $(GLSRC)gxchar.h:$(GLSRC)stdpre.h $(GLSRC)gxchar.h:$(GLGEN)arch.h -$(GLSRC)gxchar.h:$(GLSRC)gssprintf.h $(GLSRC)gxchrout.h:$(GLSRC)gsgstate.h $(GLSRC)gsdcolor.h:$(GLSRC)gscms.h -$(GLSRC)gsdcolor.h:$(GLSRC)gsdevice.h $(GLSRC)gsdcolor.h:$(GLSRC)gscspace.h +$(GLSRC)gsdcolor.h:$(GLSRC)gsdevice.h $(GLSRC)gsdcolor.h:$(GLSRC)gxarith.h -$(GLSRC)gsdcolor.h:$(GLSRC)gsrefct.h -$(GLSRC)gsdcolor.h:$(GLSRC)gsiparam.h $(GLSRC)gsdcolor.h:$(GLSRC)gxhttile.h -$(GLSRC)gsdcolor.h:$(GLSRC)memento.h -$(GLSRC)gsdcolor.h:$(GLSRC)gsparam.h -$(GLSRC)gsdcolor.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsdcolor.h:$(GLSRC)gsiparam.h $(GLSRC)gsdcolor.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsdcolor.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsdcolor.h:$(GLSRC)gsrefct.h +$(GLSRC)gsdcolor.h:$(GLSRC)gsparam.h +$(GLSRC)gsdcolor.h:$(GLSRC)gsccolor.h $(GLSRC)gsdcolor.h:$(GLSRC)gxsync.h $(GLSRC)gsdcolor.h:$(GLSRC)scommon.h +$(GLSRC)gsdcolor.h:$(GLSRC)memento.h $(GLSRC)gsdcolor.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsdcolor.h:$(GLSRC)gsccolor.h $(GLSRC)gsdcolor.h:$(GLSRC)gsstype.h $(GLSRC)gsdcolor.h:$(GLSRC)gsmemory.h $(GLSRC)gsdcolor.h:$(GLSRC)gpsync.h $(GLSRC)gsdcolor.h:$(GLSRC)gslibctx.h -$(GLSRC)gsdcolor.h:$(GLSRC)gxcindex.h -$(GLSRC)gsdcolor.h:$(GLSRC)stdint_.h -$(GLSRC)gsdcolor.h:$(GLSRC)gsgstate.h $(GLSRC)gsdcolor.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsdcolor.h:$(GLSRC)stdio_.h -$(GLSRC)gsdcolor.h:$(GLSRC)gstypes.h +$(GLSRC)gsdcolor.h:$(GLSRC)gxcindex.h +$(GLSRC)gsdcolor.h:$(GLSRC)gsgstate.h +$(GLSRC)gsdcolor.h:$(GLSRC)stdint_.h +$(GLSRC)gsdcolor.h:$(GLSRC)gssprintf.h $(GLSRC)gsdcolor.h:$(GLSRC)std.h +$(GLSRC)gsdcolor.h:$(GLSRC)gstypes.h $(GLSRC)gsdcolor.h:$(GLSRC)stdpre.h $(GLSRC)gsdcolor.h:$(GLGEN)arch.h -$(GLSRC)gsdcolor.h:$(GLSRC)gssprintf.h $(GLSRC)gxdcolor.h:$(GLSRC)gsropt.h $(GLSRC)gxdcolor.h:$(GLSRC)gsdcolor.h $(GLSRC)gxdcolor.h:$(GLSRC)gscms.h -$(GLSRC)gxdcolor.h:$(GLSRC)gsdevice.h $(GLSRC)gxdcolor.h:$(GLSRC)gscspace.h +$(GLSRC)gxdcolor.h:$(GLSRC)gsdevice.h $(GLSRC)gxdcolor.h:$(GLSRC)gxarith.h -$(GLSRC)gxdcolor.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdcolor.h:$(GLSRC)gsiparam.h $(GLSRC)gxdcolor.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdcolor.h:$(GLSRC)memento.h -$(GLSRC)gxdcolor.h:$(GLSRC)gsparam.h -$(GLSRC)gxdcolor.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdcolor.h:$(GLSRC)gsiparam.h $(GLSRC)gxdcolor.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdcolor.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdcolor.h:$(GLSRC)gsrefct.h +$(GLSRC)gxdcolor.h:$(GLSRC)gsparam.h +$(GLSRC)gxdcolor.h:$(GLSRC)gsccolor.h $(GLSRC)gxdcolor.h:$(GLSRC)gsstruct.h $(GLSRC)gxdcolor.h:$(GLSRC)gxsync.h -$(GLSRC)gxdcolor.h:$(GLSRC)gscsel.h $(GLSRC)gxdcolor.h:$(GLSRC)scommon.h +$(GLSRC)gxdcolor.h:$(GLSRC)memento.h +$(GLSRC)gxdcolor.h:$(GLSRC)gscsel.h $(GLSRC)gxdcolor.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdcolor.h:$(GLSRC)gsccolor.h $(GLSRC)gxdcolor.h:$(GLSRC)gsstype.h $(GLSRC)gxdcolor.h:$(GLSRC)gsmemory.h $(GLSRC)gxdcolor.h:$(GLSRC)gpsync.h $(GLSRC)gxdcolor.h:$(GLSRC)gslibctx.h -$(GLSRC)gxdcolor.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdcolor.h:$(GLSRC)stdint_.h -$(GLSRC)gxdcolor.h:$(GLSRC)gsgstate.h $(GLSRC)gxdcolor.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxdcolor.h:$(GLSRC)stdio_.h -$(GLSRC)gxdcolor.h:$(GLSRC)gstypes.h +$(GLSRC)gxdcolor.h:$(GLSRC)gxcindex.h +$(GLSRC)gxdcolor.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdcolor.h:$(GLSRC)stdint_.h +$(GLSRC)gxdcolor.h:$(GLSRC)gssprintf.h $(GLSRC)gxdcolor.h:$(GLSRC)std.h +$(GLSRC)gxdcolor.h:$(GLSRC)gstypes.h $(GLSRC)gxdcolor.h:$(GLSRC)stdpre.h $(GLSRC)gxdcolor.h:$(GLGEN)arch.h -$(GLSRC)gxdcolor.h:$(GLSRC)gssprintf.h $(GLSRC)gsnamecl.h:$(GLSRC)gxcspace.h -$(GLSRC)gsnamecl.h:$(GLSRC)gxfrac.h $(GLSRC)gsnamecl.h:$(GLSRC)gsdcolor.h +$(GLSRC)gsnamecl.h:$(GLSRC)gxfrac.h $(GLSRC)gsnamecl.h:$(GLSRC)gscms.h -$(GLSRC)gsnamecl.h:$(GLSRC)gsdevice.h $(GLSRC)gsnamecl.h:$(GLSRC)gscspace.h +$(GLSRC)gsnamecl.h:$(GLSRC)gsdevice.h $(GLSRC)gsnamecl.h:$(GLSRC)gxarith.h -$(GLSRC)gsnamecl.h:$(GLSRC)gsrefct.h -$(GLSRC)gsnamecl.h:$(GLSRC)gsiparam.h $(GLSRC)gsnamecl.h:$(GLSRC)gxhttile.h -$(GLSRC)gsnamecl.h:$(GLSRC)memento.h -$(GLSRC)gsnamecl.h:$(GLSRC)gsparam.h -$(GLSRC)gsnamecl.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsnamecl.h:$(GLSRC)gsiparam.h $(GLSRC)gsnamecl.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsnamecl.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsnamecl.h:$(GLSRC)gsrefct.h +$(GLSRC)gsnamecl.h:$(GLSRC)gsparam.h +$(GLSRC)gsnamecl.h:$(GLSRC)gsccolor.h $(GLSRC)gsnamecl.h:$(GLSRC)gxsync.h -$(GLSRC)gsnamecl.h:$(GLSRC)gscsel.h $(GLSRC)gsnamecl.h:$(GLSRC)scommon.h +$(GLSRC)gsnamecl.h:$(GLSRC)memento.h +$(GLSRC)gsnamecl.h:$(GLSRC)gscsel.h $(GLSRC)gsnamecl.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsnamecl.h:$(GLSRC)gsccolor.h $(GLSRC)gsnamecl.h:$(GLSRC)gsstype.h $(GLSRC)gsnamecl.h:$(GLSRC)gsmemory.h $(GLSRC)gsnamecl.h:$(GLSRC)gpsync.h $(GLSRC)gsnamecl.h:$(GLSRC)gslibctx.h -$(GLSRC)gsnamecl.h:$(GLSRC)gxcindex.h -$(GLSRC)gsnamecl.h:$(GLSRC)stdint_.h -$(GLSRC)gsnamecl.h:$(GLSRC)gsgstate.h $(GLSRC)gsnamecl.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsnamecl.h:$(GLSRC)stdio_.h -$(GLSRC)gsnamecl.h:$(GLSRC)gstypes.h +$(GLSRC)gsnamecl.h:$(GLSRC)gxcindex.h +$(GLSRC)gsnamecl.h:$(GLSRC)gsgstate.h +$(GLSRC)gsnamecl.h:$(GLSRC)stdint_.h +$(GLSRC)gsnamecl.h:$(GLSRC)gssprintf.h $(GLSRC)gsnamecl.h:$(GLSRC)std.h +$(GLSRC)gsnamecl.h:$(GLSRC)gstypes.h $(GLSRC)gsnamecl.h:$(GLSRC)stdpre.h $(GLSRC)gsnamecl.h:$(GLGEN)arch.h -$(GLSRC)gsnamecl.h:$(GLSRC)gssprintf.h -$(GLSRC)gscspace.h:$(GLSRC)gsrefct.h $(GLSRC)gscspace.h:$(GLSRC)gsiparam.h -$(GLSRC)gscspace.h:$(GLSRC)memento.h -$(GLSRC)gscspace.h:$(GLSRC)gsmatrix.h $(GLSRC)gscspace.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscspace.h:$(GLSRC)gsmatrix.h +$(GLSRC)gscspace.h:$(GLSRC)gsrefct.h +$(GLSRC)gscspace.h:$(GLSRC)gsccolor.h $(GLSRC)gscspace.h:$(GLSRC)scommon.h +$(GLSRC)gscspace.h:$(GLSRC)memento.h $(GLSRC)gscspace.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscspace.h:$(GLSRC)gsccolor.h $(GLSRC)gscspace.h:$(GLSRC)gsstype.h $(GLSRC)gscspace.h:$(GLSRC)gsmemory.h $(GLSRC)gscspace.h:$(GLSRC)gslibctx.h -$(GLSRC)gscspace.h:$(GLSRC)stdint_.h -$(GLSRC)gscspace.h:$(GLSRC)gsgstate.h $(GLSRC)gscspace.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscspace.h:$(GLSRC)stdio_.h -$(GLSRC)gscspace.h:$(GLSRC)gstypes.h +$(GLSRC)gscspace.h:$(GLSRC)gsgstate.h +$(GLSRC)gscspace.h:$(GLSRC)stdint_.h +$(GLSRC)gscspace.h:$(GLSRC)gssprintf.h $(GLSRC)gscspace.h:$(GLSRC)std.h +$(GLSRC)gscspace.h:$(GLSRC)gstypes.h $(GLSRC)gscspace.h:$(GLSRC)stdpre.h $(GLSRC)gscspace.h:$(GLGEN)arch.h -$(GLSRC)gscspace.h:$(GLSRC)gssprintf.h $(GLSRC)gscssub.h:$(GLSRC)gscspace.h -$(GLSRC)gscssub.h:$(GLSRC)gsrefct.h $(GLSRC)gscssub.h:$(GLSRC)gsiparam.h -$(GLSRC)gscssub.h:$(GLSRC)memento.h -$(GLSRC)gscssub.h:$(GLSRC)gsmatrix.h $(GLSRC)gscssub.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscssub.h:$(GLSRC)gsmatrix.h +$(GLSRC)gscssub.h:$(GLSRC)gsrefct.h +$(GLSRC)gscssub.h:$(GLSRC)gsccolor.h $(GLSRC)gscssub.h:$(GLSRC)scommon.h +$(GLSRC)gscssub.h:$(GLSRC)memento.h $(GLSRC)gscssub.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscssub.h:$(GLSRC)gsccolor.h $(GLSRC)gscssub.h:$(GLSRC)gsstype.h $(GLSRC)gscssub.h:$(GLSRC)gsmemory.h $(GLSRC)gscssub.h:$(GLSRC)gslibctx.h -$(GLSRC)gscssub.h:$(GLSRC)stdint_.h -$(GLSRC)gscssub.h:$(GLSRC)gsgstate.h $(GLSRC)gscssub.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscssub.h:$(GLSRC)stdio_.h -$(GLSRC)gscssub.h:$(GLSRC)gstypes.h +$(GLSRC)gscssub.h:$(GLSRC)gsgstate.h +$(GLSRC)gscssub.h:$(GLSRC)stdint_.h +$(GLSRC)gscssub.h:$(GLSRC)gssprintf.h $(GLSRC)gscssub.h:$(GLSRC)std.h +$(GLSRC)gscssub.h:$(GLSRC)gstypes.h $(GLSRC)gscssub.h:$(GLSRC)stdpre.h $(GLSRC)gscssub.h:$(GLGEN)arch.h -$(GLSRC)gscssub.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevcli.h:$(GLSRC)gxtext.h $(GLSRC)gxdevcli.h:$(GLSRC)gstext.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevcli.h:$(GLSRC)gstparam.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxcspace.h $(GLSRC)gxdevcli.h:$(GLSRC)gsropt.h $(GLSRC)gxdevcli.h:$(GLSRC)gsfunc.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevcli.h:$(GLSRC)gxrplane.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxcspace.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxdda.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxcvalue.h $(GLSRC)gxdevcli.h:$(GLSRC)gsfont.h $(GLSRC)gxdevcli.h:$(GLSRC)gxfmap.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxpath.h -$(GLSRC)gxdevcli.h:$(GLSRC)gspenum.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxtmap.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxftype.h $(GLSRC)gxdevcli.h:$(GLSRC)gxfrac.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxdda.h -$(GLSRC)gxdevcli.h:$(GLSRC)gslparam.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxbcache.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsrect.h $(GLSRC)gxdevcli.h:$(GLSRC)gscms.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxftype.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevcli.h:$(GLSRC)gscspace.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxpath.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxbcache.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevcli.h:$(GLSRC)gxarith.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevcli.h:$(GLSRC)gspenum.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxhttile.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsrect.h +$(GLSRC)gxdevcli.h:$(GLSRC)gslparam.h $(GLSRC)gxdevcli.h:$(GLSRC)gsxfont.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsiparam.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdevcli.h:$(GLSRC)gscpm.h $(GLSRC)gxdevcli.h:$(GLSRC)gxfixed.h $(GLSRC)gxdevcli.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdevcli.h:$(GLSRC)gscpm.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsiparam.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdevcli.h:$(GLSRC)gp.h -$(GLSRC)gxdevcli.h:$(GLSRC)memento.h $(GLSRC)gxdevcli.h:$(GLSRC)gsparam.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxdevcli.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxdevcli.h:$(GLSRC)srdline.h +$(GLSRC)gxdevcli.h:$(GLSRC)gp.h +$(GLSRC)gxdevcli.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevcli.h:$(GLSRC)gsstruct.h $(GLSRC)gxdevcli.h:$(GLSRC)gxsync.h -$(GLSRC)gxdevcli.h:$(GLSRC)gscsel.h +$(GLSRC)gxdevcli.h:$(GLSRC)srdline.h $(GLSRC)gxdevcli.h:$(GLSRC)scommon.h +$(GLSRC)gxdevcli.h:$(GLSRC)memento.h +$(GLSRC)gxdevcli.h:$(GLSRC)gscsel.h $(GLSRC)gxdevcli.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdevcli.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevcli.h:$(GLSRC)gsstype.h +$(GLSRC)gxdevcli.h:$(GLSRC)stat_.h +$(GLSRC)gxdevcli.h:$(GLSRC)gxtmap.h $(GLSRC)gxdevcli.h:$(GLSRC)gsmemory.h $(GLSRC)gxdevcli.h:$(GLSRC)gpsync.h -$(GLSRC)gxdevcli.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevcli.h:$(GLSRC)memory_.h +$(GLSRC)gxdevcli.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevcli.h:$(GLSRC)gslibctx.h $(GLSRC)gxdevcli.h:$(GLSRC)gscdefs.h +$(GLSRC)gxdevcli.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxdevcli.h:$(GLSRC)stdio_.h $(GLSRC)gxdevcli.h:$(GLSRC)gscompt.h $(GLSRC)gxdevcli.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdevcli.h:$(GLSRC)stdint_.h $(GLSRC)gxdevcli.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdevcli.h:$(GLSRC)stdint_.h +$(GLSRC)gxdevcli.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevcli.h:$(GLSRC)gsccode.h -$(GLSRC)gxdevcli.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxdevcli.h:$(GLSRC)stdio_.h -$(GLSRC)gxdevcli.h:$(GLSRC)gstypes.h $(GLSRC)gxdevcli.h:$(GLSRC)std.h +$(GLSRC)gxdevcli.h:$(GLSRC)gstypes.h $(GLSRC)gxdevcli.h:$(GLSRC)stdpre.h $(GLSRC)gxdevcli.h:$(GLGEN)arch.h -$(GLSRC)gxdevcli.h:$(GLSRC)gssprintf.h $(GLSRC)gscicach.h:$(GLSRC)gxdevcli.h $(GLSRC)gscicach.h:$(GLSRC)gxtext.h $(GLSRC)gscicach.h:$(GLSRC)gstext.h +$(GLSRC)gscicach.h:$(GLSRC)gsnamecl.h $(GLSRC)gscicach.h:$(GLSRC)gstparam.h -$(GLSRC)gscicach.h:$(GLSRC)gxcmap.h +$(GLSRC)gscicach.h:$(GLSRC)gxfcache.h +$(GLSRC)gscicach.h:$(GLSRC)gxcspace.h $(GLSRC)gscicach.h:$(GLSRC)gsropt.h $(GLSRC)gscicach.h:$(GLSRC)gsfunc.h -$(GLSRC)gscicach.h:$(GLSRC)gsnamecl.h $(GLSRC)gscicach.h:$(GLSRC)gxrplane.h -$(GLSRC)gscicach.h:$(GLSRC)gxcspace.h -$(GLSRC)gscicach.h:$(GLSRC)gxfcache.h +$(GLSRC)gscicach.h:$(GLSRC)gsuid.h +$(GLSRC)gscicach.h:$(GLSRC)gxcmap.h +$(GLSRC)gscicach.h:$(GLSRC)gsimage.h +$(GLSRC)gscicach.h:$(GLSRC)gsdcolor.h +$(GLSRC)gscicach.h:$(GLSRC)gxdda.h +$(GLSRC)gscicach.h:$(GLSRC)gxcvalue.h $(GLSRC)gscicach.h:$(GLSRC)gsfont.h $(GLSRC)gscicach.h:$(GLSRC)gxfmap.h -$(GLSRC)gscicach.h:$(GLSRC)gxcvalue.h -$(GLSRC)gscicach.h:$(GLSRC)gxpath.h -$(GLSRC)gscicach.h:$(GLSRC)gspenum.h -$(GLSRC)gscicach.h:$(GLSRC)gxtmap.h -$(GLSRC)gscicach.h:$(GLSRC)gsimage.h +$(GLSRC)gscicach.h:$(GLSRC)gxftype.h $(GLSRC)gscicach.h:$(GLSRC)gxfrac.h -$(GLSRC)gscicach.h:$(GLSRC)gxdda.h -$(GLSRC)gscicach.h:$(GLSRC)gslparam.h -$(GLSRC)gscicach.h:$(GLSRC)gxbcache.h -$(GLSRC)gscicach.h:$(GLSRC)gsdcolor.h -$(GLSRC)gscicach.h:$(GLSRC)gsrect.h $(GLSRC)gscicach.h:$(GLSRC)gscms.h -$(GLSRC)gscicach.h:$(GLSRC)gxftype.h -$(GLSRC)gscicach.h:$(GLSRC)gsdevice.h $(GLSRC)gscicach.h:$(GLSRC)gscspace.h -$(GLSRC)gscicach.h:$(GLSRC)gsuid.h +$(GLSRC)gscicach.h:$(GLSRC)gxpath.h +$(GLSRC)gscicach.h:$(GLSRC)gxbcache.h +$(GLSRC)gscicach.h:$(GLSRC)gsdevice.h $(GLSRC)gscicach.h:$(GLSRC)gxarith.h -$(GLSRC)gscicach.h:$(GLSRC)gsdsrc.h +$(GLSRC)gscicach.h:$(GLSRC)gspenum.h +$(GLSRC)gscicach.h:$(GLSRC)gxhttile.h +$(GLSRC)gscicach.h:$(GLSRC)gsrect.h +$(GLSRC)gscicach.h:$(GLSRC)gslparam.h $(GLSRC)gscicach.h:$(GLSRC)gsxfont.h +$(GLSRC)gscicach.h:$(GLSRC)gsiparam.h +$(GLSRC)gscicach.h:$(GLSRC)gsdsrc.h +$(GLSRC)gscicach.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscicach.h:$(GLSRC)gsmatrix.h +$(GLSRC)gscicach.h:$(GLSRC)gscpm.h $(GLSRC)gscicach.h:$(GLSRC)gxfixed.h $(GLSRC)gscicach.h:$(GLSRC)gsrefct.h -$(GLSRC)gscicach.h:$(GLSRC)gscpm.h -$(GLSRC)gscicach.h:$(GLSRC)gsiparam.h -$(GLSRC)gscicach.h:$(GLSRC)gxhttile.h -$(GLSRC)gscicach.h:$(GLSRC)gp.h -$(GLSRC)gscicach.h:$(GLSRC)memento.h $(GLSRC)gscicach.h:$(GLSRC)gsparam.h -$(GLSRC)gscicach.h:$(GLSRC)gsmatrix.h -$(GLSRC)gscicach.h:$(GLSRC)gxbitmap.h -$(GLSRC)gscicach.h:$(GLSRC)srdline.h +$(GLSRC)gscicach.h:$(GLSRC)gp.h +$(GLSRC)gscicach.h:$(GLSRC)gsccolor.h $(GLSRC)gscicach.h:$(GLSRC)gsstruct.h $(GLSRC)gscicach.h:$(GLSRC)gxsync.h -$(GLSRC)gscicach.h:$(GLSRC)gscsel.h +$(GLSRC)gscicach.h:$(GLSRC)srdline.h $(GLSRC)gscicach.h:$(GLSRC)scommon.h +$(GLSRC)gscicach.h:$(GLSRC)memento.h +$(GLSRC)gscicach.h:$(GLSRC)gscsel.h $(GLSRC)gscicach.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscicach.h:$(GLSRC)gsccolor.h $(GLSRC)gscicach.h:$(GLSRC)gsstype.h +$(GLSRC)gscicach.h:$(GLSRC)stat_.h +$(GLSRC)gscicach.h:$(GLSRC)gxtmap.h $(GLSRC)gscicach.h:$(GLSRC)gsmemory.h $(GLSRC)gscicach.h:$(GLSRC)gpsync.h -$(GLSRC)gscicach.h:$(GLSRC)gpgetenv.h $(GLSRC)gscicach.h:$(GLSRC)memory_.h +$(GLSRC)gscicach.h:$(GLSRC)gpgetenv.h $(GLSRC)gscicach.h:$(GLSRC)gslibctx.h $(GLSRC)gscicach.h:$(GLSRC)gscdefs.h +$(GLSRC)gscicach.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gscicach.h:$(GLSRC)stdio_.h $(GLSRC)gscicach.h:$(GLSRC)gscompt.h $(GLSRC)gscicach.h:$(GLSRC)gxcindex.h -$(GLSRC)gscicach.h:$(GLSRC)stdint_.h $(GLSRC)gscicach.h:$(GLSRC)gsgstate.h +$(GLSRC)gscicach.h:$(GLSRC)stdint_.h +$(GLSRC)gscicach.h:$(GLSRC)gssprintf.h $(GLSRC)gscicach.h:$(GLSRC)gsccode.h -$(GLSRC)gscicach.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gscicach.h:$(GLSRC)stdio_.h -$(GLSRC)gscicach.h:$(GLSRC)gstypes.h $(GLSRC)gscicach.h:$(GLSRC)std.h +$(GLSRC)gscicach.h:$(GLSRC)gstypes.h $(GLSRC)gscicach.h:$(GLSRC)stdpre.h $(GLSRC)gscicach.h:$(GLGEN)arch.h -$(GLSRC)gscicach.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevice.h:$(GLSRC)gxdevcli.h $(GLSRC)gxdevice.h:$(GLSRC)gxtext.h $(GLSRC)gxdevice.h:$(GLSRC)gstext.h +$(GLSRC)gxdevice.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdevice.h:$(GLSRC)gstparam.h -$(GLSRC)gxdevice.h:$(GLSRC)gxcmap.h -$(GLSRC)gxdevice.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxdevice.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevice.h:$(GLSRC)gxcspace.h $(GLSRC)gxdevice.h:$(GLSRC)gsropt.h $(GLSRC)gxdevice.h:$(GLSRC)gsfunc.h -$(GLSRC)gxdevice.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxdevice.h:$(GLSRC)gsmalloc.h $(GLSRC)gxdevice.h:$(GLSRC)gxrplane.h -$(GLSRC)gxdevice.h:$(GLSRC)gxcspace.h -$(GLSRC)gxdevice.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdevice.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevice.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdevice.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevice.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxdevice.h:$(GLSRC)gxdda.h +$(GLSRC)gxdevice.h:$(GLSRC)gxcvalue.h $(GLSRC)gxdevice.h:$(GLSRC)gsfont.h $(GLSRC)gxdevice.h:$(GLSRC)gxfmap.h -$(GLSRC)gxdevice.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxdevice.h:$(GLSRC)gxpath.h -$(GLSRC)gxdevice.h:$(GLSRC)gspenum.h -$(GLSRC)gxdevice.h:$(GLSRC)gxtmap.h -$(GLSRC)gxdevice.h:$(GLSRC)gsimage.h +$(GLSRC)gxdevice.h:$(GLSRC)gxftype.h $(GLSRC)gxdevice.h:$(GLSRC)gxfrac.h -$(GLSRC)gxdevice.h:$(GLSRC)gxdda.h -$(GLSRC)gxdevice.h:$(GLSRC)gslparam.h -$(GLSRC)gxdevice.h:$(GLSRC)gxbcache.h -$(GLSRC)gxdevice.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxdevice.h:$(GLSRC)gsrect.h $(GLSRC)gxdevice.h:$(GLSRC)gscms.h -$(GLSRC)gxdevice.h:$(GLSRC)gxftype.h -$(GLSRC)gxdevice.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevice.h:$(GLSRC)gscspace.h -$(GLSRC)gxdevice.h:$(GLSRC)gsuid.h +$(GLSRC)gxdevice.h:$(GLSRC)gxpath.h +$(GLSRC)gxdevice.h:$(GLSRC)gxbcache.h +$(GLSRC)gxdevice.h:$(GLSRC)gsdevice.h $(GLSRC)gxdevice.h:$(GLSRC)gxarith.h -$(GLSRC)gxdevice.h:$(GLSRC)gsdsrc.h $(GLSRC)gxdevice.h:$(GLSRC)gxstdio.h +$(GLSRC)gxdevice.h:$(GLSRC)gspenum.h +$(GLSRC)gxdevice.h:$(GLSRC)gxhttile.h +$(GLSRC)gxdevice.h:$(GLSRC)gsrect.h +$(GLSRC)gxdevice.h:$(GLSRC)gslparam.h $(GLSRC)gxdevice.h:$(GLSRC)gsxfont.h -$(GLSRC)gxdevice.h:$(GLSRC)gxfixed.h -$(GLSRC)gxdevice.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdevice.h:$(GLSRC)gscpm.h $(GLSRC)gxdevice.h:$(GLSRC)gsiparam.h -$(GLSRC)gxdevice.h:$(GLSRC)gxhttile.h +$(GLSRC)gxdevice.h:$(GLSRC)gsdsrc.h $(GLSRC)gxdevice.h:$(GLSRC)gsio.h -$(GLSRC)gxdevice.h:$(GLSRC)gp.h -$(GLSRC)gxdevice.h:$(GLSRC)memento.h -$(GLSRC)gxdevice.h:$(GLSRC)gsparam.h -$(GLSRC)gxdevice.h:$(GLSRC)gsmatrix.h $(GLSRC)gxdevice.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxdevice.h:$(GLSRC)srdline.h +$(GLSRC)gxdevice.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdevice.h:$(GLSRC)gscpm.h +$(GLSRC)gxdevice.h:$(GLSRC)gxfixed.h +$(GLSRC)gxdevice.h:$(GLSRC)gsrefct.h +$(GLSRC)gxdevice.h:$(GLSRC)gsparam.h +$(GLSRC)gxdevice.h:$(GLSRC)gp.h +$(GLSRC)gxdevice.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevice.h:$(GLSRC)gsstruct.h $(GLSRC)gxdevice.h:$(GLSRC)gxsync.h -$(GLSRC)gxdevice.h:$(GLSRC)gscsel.h +$(GLSRC)gxdevice.h:$(GLSRC)srdline.h $(GLSRC)gxdevice.h:$(GLSRC)scommon.h +$(GLSRC)gxdevice.h:$(GLSRC)memento.h +$(GLSRC)gxdevice.h:$(GLSRC)gscsel.h $(GLSRC)gxdevice.h:$(GLSRC)gsbitmap.h $(GLSRC)gxdevice.h:$(GLSRC)gsfname.h -$(GLSRC)gxdevice.h:$(GLSRC)gsccolor.h $(GLSRC)gxdevice.h:$(GLSRC)gsstype.h +$(GLSRC)gxdevice.h:$(GLSRC)stat_.h +$(GLSRC)gxdevice.h:$(GLSRC)gxtmap.h $(GLSRC)gxdevice.h:$(GLSRC)gsmemory.h $(GLSRC)gxdevice.h:$(GLSRC)gpsync.h -$(GLSRC)gxdevice.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevice.h:$(GLSRC)memory_.h +$(GLSRC)gxdevice.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdevice.h:$(GLSRC)gslibctx.h $(GLSRC)gxdevice.h:$(GLSRC)gscdefs.h +$(GLSRC)gxdevice.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxdevice.h:$(GLSRC)stdio_.h $(GLSRC)gxdevice.h:$(GLSRC)gscompt.h $(GLSRC)gxdevice.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdevice.h:$(GLSRC)stdint_.h $(GLSRC)gxdevice.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdevice.h:$(GLSRC)stdint_.h +$(GLSRC)gxdevice.h:$(GLSRC)gssprintf.h $(GLSRC)gxdevice.h:$(GLSRC)gsccode.h -$(GLSRC)gxdevice.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxdevice.h:$(GLSRC)stdio_.h -$(GLSRC)gxdevice.h:$(GLSRC)gstypes.h $(GLSRC)gxdevice.h:$(GLSRC)std.h +$(GLSRC)gxdevice.h:$(GLSRC)gstypes.h $(GLSRC)gxdevice.h:$(GLSRC)stdpre.h $(GLSRC)gxdevice.h:$(GLGEN)arch.h -$(GLSRC)gxdevice.h:$(GLSRC)gssprintf.h $(GLSRC)gxdht.h:$(GLSRC)gxht.h $(GLSRC)gxdht.h:$(GLSRC)gxhttype.h $(GLSRC)gxdht.h:$(GLSRC)gsht1.h $(GLSRC)gxdht.h:$(GLSRC)gsht.h -$(GLSRC)gxdht.h:$(GLSRC)gxtmap.h -$(GLSRC)gxdht.h:$(GLSRC)gxfrac.h $(GLSRC)gxdht.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxdht.h:$(GLSRC)gxfrac.h $(GLSRC)gxdht.h:$(GLSRC)gscms.h -$(GLSRC)gxdht.h:$(GLSRC)gsdevice.h $(GLSRC)gxdht.h:$(GLSRC)gscspace.h +$(GLSRC)gxdht.h:$(GLSRC)gsdevice.h $(GLSRC)gxdht.h:$(GLSRC)gxarith.h -$(GLSRC)gxdht.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdht.h:$(GLSRC)gsiparam.h $(GLSRC)gxdht.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdht.h:$(GLSRC)memento.h -$(GLSRC)gxdht.h:$(GLSRC)gsparam.h -$(GLSRC)gxdht.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdht.h:$(GLSRC)gsiparam.h $(GLSRC)gxdht.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdht.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdht.h:$(GLSRC)gsrefct.h +$(GLSRC)gxdht.h:$(GLSRC)gsparam.h +$(GLSRC)gxdht.h:$(GLSRC)gsccolor.h $(GLSRC)gxdht.h:$(GLSRC)gxsync.h $(GLSRC)gxdht.h:$(GLSRC)scommon.h +$(GLSRC)gxdht.h:$(GLSRC)memento.h $(GLSRC)gxdht.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdht.h:$(GLSRC)gsccolor.h $(GLSRC)gxdht.h:$(GLSRC)gsstype.h +$(GLSRC)gxdht.h:$(GLSRC)gxtmap.h $(GLSRC)gxdht.h:$(GLSRC)gsmemory.h $(GLSRC)gxdht.h:$(GLSRC)gpsync.h $(GLSRC)gxdht.h:$(GLSRC)gslibctx.h -$(GLSRC)gxdht.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdht.h:$(GLSRC)stdint_.h -$(GLSRC)gxdht.h:$(GLSRC)gsgstate.h $(GLSRC)gxdht.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxdht.h:$(GLSRC)stdio_.h -$(GLSRC)gxdht.h:$(GLSRC)gstypes.h +$(GLSRC)gxdht.h:$(GLSRC)gxcindex.h +$(GLSRC)gxdht.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdht.h:$(GLSRC)stdint_.h +$(GLSRC)gxdht.h:$(GLSRC)gssprintf.h $(GLSRC)gxdht.h:$(GLSRC)std.h +$(GLSRC)gxdht.h:$(GLSRC)gstypes.h $(GLSRC)gxdht.h:$(GLSRC)stdpre.h $(GLSRC)gxdht.h:$(GLGEN)arch.h -$(GLSRC)gxdht.h:$(GLSRC)gssprintf.h $(GLSRC)gxdhtserial.h:$(GLSRC)gsdcolor.h $(GLSRC)gxdhtserial.h:$(GLSRC)gscms.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gsdevice.h $(GLSRC)gxdhtserial.h:$(GLSRC)gscspace.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gsdevice.h $(GLSRC)gxdhtserial.h:$(GLSRC)gxarith.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gsiparam.h $(GLSRC)gxdhtserial.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdhtserial.h:$(GLSRC)memento.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gsparam.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gsiparam.h $(GLSRC)gxdhtserial.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gsrefct.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gsparam.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gsccolor.h $(GLSRC)gxdhtserial.h:$(GLSRC)gxsync.h $(GLSRC)gxdhtserial.h:$(GLSRC)scommon.h +$(GLSRC)gxdhtserial.h:$(GLSRC)memento.h $(GLSRC)gxdhtserial.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gsccolor.h $(GLSRC)gxdhtserial.h:$(GLSRC)gsstype.h $(GLSRC)gxdhtserial.h:$(GLSRC)gsmemory.h $(GLSRC)gxdhtserial.h:$(GLSRC)gpsync.h $(GLSRC)gxdhtserial.h:$(GLSRC)gslibctx.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdhtserial.h:$(GLSRC)stdint_.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gsgstate.h $(GLSRC)gxdhtserial.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxdhtserial.h:$(GLSRC)stdio_.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gstypes.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gxcindex.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdhtserial.h:$(GLSRC)stdint_.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gssprintf.h $(GLSRC)gxdhtserial.h:$(GLSRC)std.h +$(GLSRC)gxdhtserial.h:$(GLSRC)gstypes.h $(GLSRC)gxdhtserial.h:$(GLSRC)stdpre.h $(GLSRC)gxdhtserial.h:$(GLGEN)arch.h -$(GLSRC)gxdhtserial.h:$(GLSRC)gssprintf.h -$(GLSRC)gxdither.h:$(GLSRC)gxfrac.h $(GLSRC)gxdither.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxdither.h:$(GLSRC)gxfrac.h $(GLSRC)gxdither.h:$(GLSRC)gscms.h -$(GLSRC)gxdither.h:$(GLSRC)gsdevice.h $(GLSRC)gxdither.h:$(GLSRC)gscspace.h +$(GLSRC)gxdither.h:$(GLSRC)gsdevice.h $(GLSRC)gxdither.h:$(GLSRC)gxarith.h -$(GLSRC)gxdither.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdither.h:$(GLSRC)gsiparam.h $(GLSRC)gxdither.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdither.h:$(GLSRC)memento.h -$(GLSRC)gxdither.h:$(GLSRC)gsparam.h -$(GLSRC)gxdither.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdither.h:$(GLSRC)gsiparam.h $(GLSRC)gxdither.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdither.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdither.h:$(GLSRC)gsrefct.h +$(GLSRC)gxdither.h:$(GLSRC)gsparam.h +$(GLSRC)gxdither.h:$(GLSRC)gsccolor.h $(GLSRC)gxdither.h:$(GLSRC)gxsync.h $(GLSRC)gxdither.h:$(GLSRC)scommon.h +$(GLSRC)gxdither.h:$(GLSRC)memento.h $(GLSRC)gxdither.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdither.h:$(GLSRC)gsccolor.h $(GLSRC)gxdither.h:$(GLSRC)gsstype.h $(GLSRC)gxdither.h:$(GLSRC)gsmemory.h $(GLSRC)gxdither.h:$(GLSRC)gpsync.h $(GLSRC)gxdither.h:$(GLSRC)gslibctx.h -$(GLSRC)gxdither.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdither.h:$(GLSRC)stdint_.h -$(GLSRC)gxdither.h:$(GLSRC)gsgstate.h $(GLSRC)gxdither.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxdither.h:$(GLSRC)stdio_.h -$(GLSRC)gxdither.h:$(GLSRC)gstypes.h +$(GLSRC)gxdither.h:$(GLSRC)gxcindex.h +$(GLSRC)gxdither.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdither.h:$(GLSRC)stdint_.h +$(GLSRC)gxdither.h:$(GLSRC)gssprintf.h $(GLSRC)gxdither.h:$(GLSRC)std.h +$(GLSRC)gxdither.h:$(GLSRC)gstypes.h $(GLSRC)gxdither.h:$(GLSRC)stdpre.h $(GLSRC)gxdither.h:$(GLGEN)arch.h -$(GLSRC)gxdither.h:$(GLSRC)gssprintf.h $(GLSRC)gxclip2.h:$(GLSRC)gxmclip.h $(GLSRC)gxclip2.h:$(GLSRC)gxclip.h $(GLSRC)gxclip2.h:$(GLSRC)gxdevmem.h $(GLSRC)gxclip2.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclip2.h:$(GLSRC)gxtext.h $(GLSRC)gxclip2.h:$(GLSRC)gstext.h +$(GLSRC)gxclip2.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclip2.h:$(GLSRC)gstparam.h -$(GLSRC)gxclip2.h:$(GLSRC)gxcmap.h +$(GLSRC)gxclip2.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclip2.h:$(GLSRC)gxcspace.h $(GLSRC)gxclip2.h:$(GLSRC)gsropt.h $(GLSRC)gxclip2.h:$(GLSRC)gsfunc.h -$(GLSRC)gxclip2.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclip2.h:$(GLSRC)gxrplane.h -$(GLSRC)gxclip2.h:$(GLSRC)gxcspace.h -$(GLSRC)gxclip2.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclip2.h:$(GLSRC)gsuid.h +$(GLSRC)gxclip2.h:$(GLSRC)gxcmap.h +$(GLSRC)gxclip2.h:$(GLSRC)gsimage.h +$(GLSRC)gxclip2.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxclip2.h:$(GLSRC)gxdda.h +$(GLSRC)gxclip2.h:$(GLSRC)gxcvalue.h $(GLSRC)gxclip2.h:$(GLSRC)gsfont.h $(GLSRC)gxclip2.h:$(GLSRC)gxfmap.h -$(GLSRC)gxclip2.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxclip2.h:$(GLSRC)gxpath.h -$(GLSRC)gxclip2.h:$(GLSRC)gspenum.h -$(GLSRC)gxclip2.h:$(GLSRC)gxtmap.h -$(GLSRC)gxclip2.h:$(GLSRC)gsimage.h +$(GLSRC)gxclip2.h:$(GLSRC)gxftype.h $(GLSRC)gxclip2.h:$(GLSRC)gxfrac.h -$(GLSRC)gxclip2.h:$(GLSRC)gxdda.h -$(GLSRC)gxclip2.h:$(GLSRC)gslparam.h -$(GLSRC)gxclip2.h:$(GLSRC)gxbcache.h -$(GLSRC)gxclip2.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxclip2.h:$(GLSRC)gsrect.h $(GLSRC)gxclip2.h:$(GLSRC)gscms.h -$(GLSRC)gxclip2.h:$(GLSRC)gxftype.h -$(GLSRC)gxclip2.h:$(GLSRC)gsdevice.h $(GLSRC)gxclip2.h:$(GLSRC)gscspace.h -$(GLSRC)gxclip2.h:$(GLSRC)gsuid.h +$(GLSRC)gxclip2.h:$(GLSRC)gxpath.h +$(GLSRC)gxclip2.h:$(GLSRC)gxbcache.h +$(GLSRC)gxclip2.h:$(GLSRC)gsdevice.h $(GLSRC)gxclip2.h:$(GLSRC)gxarith.h -$(GLSRC)gxclip2.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxclip2.h:$(GLSRC)gspenum.h +$(GLSRC)gxclip2.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclip2.h:$(GLSRC)gsrect.h +$(GLSRC)gxclip2.h:$(GLSRC)gslparam.h $(GLSRC)gxclip2.h:$(GLSRC)gsxfont.h +$(GLSRC)gxclip2.h:$(GLSRC)gsiparam.h +$(GLSRC)gxclip2.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxclip2.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxclip2.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxclip2.h:$(GLSRC)gscpm.h $(GLSRC)gxclip2.h:$(GLSRC)gxfixed.h $(GLSRC)gxclip2.h:$(GLSRC)gsrefct.h -$(GLSRC)gxclip2.h:$(GLSRC)gscpm.h -$(GLSRC)gxclip2.h:$(GLSRC)gsiparam.h -$(GLSRC)gxclip2.h:$(GLSRC)gxhttile.h -$(GLSRC)gxclip2.h:$(GLSRC)gp.h -$(GLSRC)gxclip2.h:$(GLSRC)memento.h $(GLSRC)gxclip2.h:$(GLSRC)gsparam.h -$(GLSRC)gxclip2.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxclip2.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxclip2.h:$(GLSRC)srdline.h +$(GLSRC)gxclip2.h:$(GLSRC)gp.h +$(GLSRC)gxclip2.h:$(GLSRC)gsccolor.h $(GLSRC)gxclip2.h:$(GLSRC)gsstruct.h $(GLSRC)gxclip2.h:$(GLSRC)gxsync.h -$(GLSRC)gxclip2.h:$(GLSRC)gscsel.h +$(GLSRC)gxclip2.h:$(GLSRC)srdline.h $(GLSRC)gxclip2.h:$(GLSRC)scommon.h +$(GLSRC)gxclip2.h:$(GLSRC)memento.h +$(GLSRC)gxclip2.h:$(GLSRC)gscsel.h $(GLSRC)gxclip2.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxclip2.h:$(GLSRC)gsccolor.h $(GLSRC)gxclip2.h:$(GLSRC)gsstype.h +$(GLSRC)gxclip2.h:$(GLSRC)stat_.h +$(GLSRC)gxclip2.h:$(GLSRC)gxtmap.h $(GLSRC)gxclip2.h:$(GLSRC)gsmemory.h $(GLSRC)gxclip2.h:$(GLSRC)gpsync.h -$(GLSRC)gxclip2.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclip2.h:$(GLSRC)memory_.h +$(GLSRC)gxclip2.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclip2.h:$(GLSRC)gslibctx.h $(GLSRC)gxclip2.h:$(GLSRC)gscdefs.h +$(GLSRC)gxclip2.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxclip2.h:$(GLSRC)stdio_.h $(GLSRC)gxclip2.h:$(GLSRC)gscompt.h $(GLSRC)gxclip2.h:$(GLSRC)gxcindex.h -$(GLSRC)gxclip2.h:$(GLSRC)stdint_.h $(GLSRC)gxclip2.h:$(GLSRC)gsgstate.h +$(GLSRC)gxclip2.h:$(GLSRC)stdint_.h +$(GLSRC)gxclip2.h:$(GLSRC)gssprintf.h $(GLSRC)gxclip2.h:$(GLSRC)gsccode.h -$(GLSRC)gxclip2.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxclip2.h:$(GLSRC)stdio_.h -$(GLSRC)gxclip2.h:$(GLSRC)gstypes.h $(GLSRC)gxclip2.h:$(GLSRC)std.h +$(GLSRC)gxclip2.h:$(GLSRC)gstypes.h $(GLSRC)gxclip2.h:$(GLSRC)stdpre.h $(GLSRC)gxclip2.h:$(GLGEN)arch.h -$(GLSRC)gxclip2.h:$(GLSRC)gssprintf.h $(GLSRC)gxclipm.h:$(GLSRC)gxmclip.h $(GLSRC)gxclipm.h:$(GLSRC)gxclip.h $(GLSRC)gxclipm.h:$(GLSRC)gxdevmem.h $(GLSRC)gxclipm.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclipm.h:$(GLSRC)gxtext.h $(GLSRC)gxclipm.h:$(GLSRC)gstext.h +$(GLSRC)gxclipm.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclipm.h:$(GLSRC)gstparam.h -$(GLSRC)gxclipm.h:$(GLSRC)gxcmap.h +$(GLSRC)gxclipm.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclipm.h:$(GLSRC)gxcspace.h $(GLSRC)gxclipm.h:$(GLSRC)gsropt.h $(GLSRC)gxclipm.h:$(GLSRC)gsfunc.h -$(GLSRC)gxclipm.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclipm.h:$(GLSRC)gxrplane.h -$(GLSRC)gxclipm.h:$(GLSRC)gxcspace.h -$(GLSRC)gxclipm.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclipm.h:$(GLSRC)gsuid.h +$(GLSRC)gxclipm.h:$(GLSRC)gxcmap.h +$(GLSRC)gxclipm.h:$(GLSRC)gsimage.h +$(GLSRC)gxclipm.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxclipm.h:$(GLSRC)gxdda.h +$(GLSRC)gxclipm.h:$(GLSRC)gxcvalue.h $(GLSRC)gxclipm.h:$(GLSRC)gsfont.h $(GLSRC)gxclipm.h:$(GLSRC)gxfmap.h -$(GLSRC)gxclipm.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxclipm.h:$(GLSRC)gxpath.h -$(GLSRC)gxclipm.h:$(GLSRC)gspenum.h -$(GLSRC)gxclipm.h:$(GLSRC)gxtmap.h -$(GLSRC)gxclipm.h:$(GLSRC)gsimage.h +$(GLSRC)gxclipm.h:$(GLSRC)gxftype.h $(GLSRC)gxclipm.h:$(GLSRC)gxfrac.h -$(GLSRC)gxclipm.h:$(GLSRC)gxdda.h -$(GLSRC)gxclipm.h:$(GLSRC)gslparam.h -$(GLSRC)gxclipm.h:$(GLSRC)gxbcache.h -$(GLSRC)gxclipm.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxclipm.h:$(GLSRC)gsrect.h $(GLSRC)gxclipm.h:$(GLSRC)gscms.h -$(GLSRC)gxclipm.h:$(GLSRC)gxftype.h -$(GLSRC)gxclipm.h:$(GLSRC)gsdevice.h $(GLSRC)gxclipm.h:$(GLSRC)gscspace.h -$(GLSRC)gxclipm.h:$(GLSRC)gsuid.h +$(GLSRC)gxclipm.h:$(GLSRC)gxpath.h +$(GLSRC)gxclipm.h:$(GLSRC)gxbcache.h +$(GLSRC)gxclipm.h:$(GLSRC)gsdevice.h $(GLSRC)gxclipm.h:$(GLSRC)gxarith.h -$(GLSRC)gxclipm.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxclipm.h:$(GLSRC)gspenum.h +$(GLSRC)gxclipm.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclipm.h:$(GLSRC)gsrect.h +$(GLSRC)gxclipm.h:$(GLSRC)gslparam.h $(GLSRC)gxclipm.h:$(GLSRC)gsxfont.h +$(GLSRC)gxclipm.h:$(GLSRC)gsiparam.h +$(GLSRC)gxclipm.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxclipm.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxclipm.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxclipm.h:$(GLSRC)gscpm.h $(GLSRC)gxclipm.h:$(GLSRC)gxfixed.h $(GLSRC)gxclipm.h:$(GLSRC)gsrefct.h -$(GLSRC)gxclipm.h:$(GLSRC)gscpm.h -$(GLSRC)gxclipm.h:$(GLSRC)gsiparam.h -$(GLSRC)gxclipm.h:$(GLSRC)gxhttile.h -$(GLSRC)gxclipm.h:$(GLSRC)gp.h -$(GLSRC)gxclipm.h:$(GLSRC)memento.h $(GLSRC)gxclipm.h:$(GLSRC)gsparam.h -$(GLSRC)gxclipm.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxclipm.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxclipm.h:$(GLSRC)srdline.h +$(GLSRC)gxclipm.h:$(GLSRC)gp.h +$(GLSRC)gxclipm.h:$(GLSRC)gsccolor.h $(GLSRC)gxclipm.h:$(GLSRC)gsstruct.h $(GLSRC)gxclipm.h:$(GLSRC)gxsync.h -$(GLSRC)gxclipm.h:$(GLSRC)gscsel.h +$(GLSRC)gxclipm.h:$(GLSRC)srdline.h $(GLSRC)gxclipm.h:$(GLSRC)scommon.h +$(GLSRC)gxclipm.h:$(GLSRC)memento.h +$(GLSRC)gxclipm.h:$(GLSRC)gscsel.h $(GLSRC)gxclipm.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxclipm.h:$(GLSRC)gsccolor.h $(GLSRC)gxclipm.h:$(GLSRC)gsstype.h +$(GLSRC)gxclipm.h:$(GLSRC)stat_.h +$(GLSRC)gxclipm.h:$(GLSRC)gxtmap.h $(GLSRC)gxclipm.h:$(GLSRC)gsmemory.h $(GLSRC)gxclipm.h:$(GLSRC)gpsync.h -$(GLSRC)gxclipm.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclipm.h:$(GLSRC)memory_.h +$(GLSRC)gxclipm.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclipm.h:$(GLSRC)gslibctx.h $(GLSRC)gxclipm.h:$(GLSRC)gscdefs.h +$(GLSRC)gxclipm.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxclipm.h:$(GLSRC)stdio_.h $(GLSRC)gxclipm.h:$(GLSRC)gscompt.h $(GLSRC)gxclipm.h:$(GLSRC)gxcindex.h -$(GLSRC)gxclipm.h:$(GLSRC)stdint_.h $(GLSRC)gxclipm.h:$(GLSRC)gsgstate.h +$(GLSRC)gxclipm.h:$(GLSRC)stdint_.h +$(GLSRC)gxclipm.h:$(GLSRC)gssprintf.h $(GLSRC)gxclipm.h:$(GLSRC)gsccode.h -$(GLSRC)gxclipm.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxclipm.h:$(GLSRC)stdio_.h -$(GLSRC)gxclipm.h:$(GLSRC)gstypes.h $(GLSRC)gxclipm.h:$(GLSRC)std.h +$(GLSRC)gxclipm.h:$(GLSRC)gstypes.h $(GLSRC)gxclipm.h:$(GLSRC)stdpre.h $(GLSRC)gxclipm.h:$(GLGEN)arch.h -$(GLSRC)gxclipm.h:$(GLSRC)gssprintf.h $(GLSRC)gxctable.h:$(GLSRC)gxfrac.h $(GLSRC)gxctable.h:$(GLSRC)gxfixed.h -$(GLSRC)gxctable.h:$(GLSRC)gstypes.h $(GLSRC)gxctable.h:$(GLSRC)std.h +$(GLSRC)gxctable.h:$(GLSRC)gstypes.h $(GLSRC)gxctable.h:$(GLSRC)stdpre.h $(GLSRC)gxctable.h:$(GLGEN)arch.h +$(GLSRC)gxfcache.h:$(GLSRC)gsuid.h $(GLSRC)gxfcache.h:$(GLSRC)gsfont.h -$(GLSRC)gxfcache.h:$(GLSRC)gxbcache.h $(GLSRC)gxfcache.h:$(GLSRC)gxftype.h -$(GLSRC)gxfcache.h:$(GLSRC)gsuid.h +$(GLSRC)gxfcache.h:$(GLSRC)gxbcache.h $(GLSRC)gxfcache.h:$(GLSRC)gsxfont.h -$(GLSRC)gxfcache.h:$(GLSRC)gxfixed.h -$(GLSRC)gxfcache.h:$(GLSRC)gsmatrix.h $(GLSRC)gxfcache.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfcache.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxfcache.h:$(GLSRC)gxfixed.h $(GLSRC)gxfcache.h:$(GLSRC)scommon.h $(GLSRC)gxfcache.h:$(GLSRC)gsbitmap.h $(GLSRC)gxfcache.h:$(GLSRC)gsstype.h $(GLSRC)gxfcache.h:$(GLSRC)gsmemory.h $(GLSRC)gxfcache.h:$(GLSRC)gslibctx.h -$(GLSRC)gxfcache.h:$(GLSRC)stdint_.h -$(GLSRC)gxfcache.h:$(GLSRC)gsgstate.h -$(GLSRC)gxfcache.h:$(GLSRC)gsccode.h $(GLSRC)gxfcache.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxfcache.h:$(GLSRC)stdio_.h -$(GLSRC)gxfcache.h:$(GLSRC)gstypes.h +$(GLSRC)gxfcache.h:$(GLSRC)gsgstate.h +$(GLSRC)gxfcache.h:$(GLSRC)stdint_.h +$(GLSRC)gxfcache.h:$(GLSRC)gssprintf.h +$(GLSRC)gxfcache.h:$(GLSRC)gsccode.h $(GLSRC)gxfcache.h:$(GLSRC)std.h +$(GLSRC)gxfcache.h:$(GLSRC)gstypes.h $(GLSRC)gxfcache.h:$(GLSRC)stdpre.h $(GLSRC)gxfcache.h:$(GLGEN)arch.h -$(GLSRC)gxfcache.h:$(GLSRC)gssprintf.h $(GLSRC)gxfont.h:$(GLSRC)gspath.h $(GLSRC)gxfont.h:$(GLSRC)gxmatrix.h $(GLSRC)gxfont.h:$(GLSRC)gsgdata.h @@ -7115,962 +7206,967 @@ $(GLSRC)gxfont.h:$(GLSRC)gxfapi.h $(GLSRC)gxfont.h:$(GLSRC)gsnotify.h $(GLSRC)gxfont.h:$(GLSRC)gsfcmap.h $(GLSRC)gxfont.h:$(GLSRC)gstext.h -$(GLSRC)gxfont.h:$(GLSRC)gsfont.h -$(GLSRC)gxfont.h:$(GLSRC)gxpath.h -$(GLSRC)gxfont.h:$(GLSRC)gspenum.h -$(GLSRC)gxfont.h:$(GLSRC)gslparam.h +$(GLSRC)gxfont.h:$(GLSRC)gsuid.h $(GLSRC)gxfont.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxfont.h:$(GLSRC)gsrect.h -$(GLSRC)gxfont.h:$(GLSRC)gscms.h +$(GLSRC)gxfont.h:$(GLSRC)gsfont.h $(GLSRC)gxfont.h:$(GLSRC)gxftype.h -$(GLSRC)gxfont.h:$(GLSRC)gsdevice.h +$(GLSRC)gxfont.h:$(GLSRC)gscms.h $(GLSRC)gxfont.h:$(GLSRC)gscspace.h -$(GLSRC)gxfont.h:$(GLSRC)gsuid.h +$(GLSRC)gxfont.h:$(GLSRC)gxpath.h +$(GLSRC)gxfont.h:$(GLSRC)gsdevice.h $(GLSRC)gxfont.h:$(GLSRC)gxarith.h +$(GLSRC)gxfont.h:$(GLSRC)gspenum.h +$(GLSRC)gxfont.h:$(GLSRC)gxhttile.h +$(GLSRC)gxfont.h:$(GLSRC)gsrect.h +$(GLSRC)gxfont.h:$(GLSRC)gslparam.h +$(GLSRC)gxfont.h:$(GLSRC)gsiparam.h +$(GLSRC)gxfont.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxfont.h:$(GLSRC)gscpm.h $(GLSRC)gxfont.h:$(GLSRC)gxfixed.h $(GLSRC)gxfont.h:$(GLSRC)gsrefct.h -$(GLSRC)gxfont.h:$(GLSRC)gscpm.h -$(GLSRC)gxfont.h:$(GLSRC)gsiparam.h -$(GLSRC)gxfont.h:$(GLSRC)gxhttile.h -$(GLSRC)gxfont.h:$(GLSRC)memento.h $(GLSRC)gxfont.h:$(GLSRC)gsparam.h -$(GLSRC)gxfont.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxfont.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont.h:$(GLSRC)gxsync.h $(GLSRC)gxfont.h:$(GLSRC)scommon.h +$(GLSRC)gxfont.h:$(GLSRC)memento.h $(GLSRC)gxfont.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxfont.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont.h:$(GLSRC)gsstype.h $(GLSRC)gxfont.h:$(GLSRC)gsmemory.h $(GLSRC)gxfont.h:$(GLSRC)gpsync.h $(GLSRC)gxfont.h:$(GLSRC)gslibctx.h +$(GLSRC)gxfont.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxfont.h:$(GLSRC)stdio_.h $(GLSRC)gxfont.h:$(GLSRC)gxcindex.h -$(GLSRC)gxfont.h:$(GLSRC)stdint_.h $(GLSRC)gxfont.h:$(GLSRC)gsgstate.h +$(GLSRC)gxfont.h:$(GLSRC)stdint_.h +$(GLSRC)gxfont.h:$(GLSRC)gssprintf.h $(GLSRC)gxfont.h:$(GLSRC)gsccode.h -$(GLSRC)gxfont.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxfont.h:$(GLSRC)stdio_.h -$(GLSRC)gxfont.h:$(GLSRC)gstypes.h $(GLSRC)gxfont.h:$(GLSRC)std.h +$(GLSRC)gxfont.h:$(GLSRC)gstypes.h $(GLSRC)gxfont.h:$(GLSRC)stdpre.h $(GLSRC)gxfont.h:$(GLGEN)arch.h -$(GLSRC)gxfont.h:$(GLSRC)gssprintf.h $(GLSRC)gxiparam.h:$(GLSRC)gxdevcli.h $(GLSRC)gxiparam.h:$(GLSRC)gxtext.h $(GLSRC)gxiparam.h:$(GLSRC)gstext.h +$(GLSRC)gxiparam.h:$(GLSRC)gsnamecl.h $(GLSRC)gxiparam.h:$(GLSRC)gstparam.h -$(GLSRC)gxiparam.h:$(GLSRC)gxcmap.h +$(GLSRC)gxiparam.h:$(GLSRC)gxfcache.h +$(GLSRC)gxiparam.h:$(GLSRC)gxcspace.h $(GLSRC)gxiparam.h:$(GLSRC)gsropt.h $(GLSRC)gxiparam.h:$(GLSRC)gsfunc.h -$(GLSRC)gxiparam.h:$(GLSRC)gsnamecl.h $(GLSRC)gxiparam.h:$(GLSRC)gxrplane.h -$(GLSRC)gxiparam.h:$(GLSRC)gxcspace.h -$(GLSRC)gxiparam.h:$(GLSRC)gxfcache.h +$(GLSRC)gxiparam.h:$(GLSRC)gsuid.h +$(GLSRC)gxiparam.h:$(GLSRC)gxcmap.h +$(GLSRC)gxiparam.h:$(GLSRC)gsimage.h +$(GLSRC)gxiparam.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxiparam.h:$(GLSRC)gxdda.h +$(GLSRC)gxiparam.h:$(GLSRC)gxcvalue.h $(GLSRC)gxiparam.h:$(GLSRC)gsfont.h $(GLSRC)gxiparam.h:$(GLSRC)gxfmap.h -$(GLSRC)gxiparam.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxiparam.h:$(GLSRC)gxpath.h -$(GLSRC)gxiparam.h:$(GLSRC)gspenum.h -$(GLSRC)gxiparam.h:$(GLSRC)gxtmap.h -$(GLSRC)gxiparam.h:$(GLSRC)gsimage.h +$(GLSRC)gxiparam.h:$(GLSRC)gxftype.h $(GLSRC)gxiparam.h:$(GLSRC)gxfrac.h -$(GLSRC)gxiparam.h:$(GLSRC)gxdda.h -$(GLSRC)gxiparam.h:$(GLSRC)gslparam.h -$(GLSRC)gxiparam.h:$(GLSRC)gxbcache.h -$(GLSRC)gxiparam.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxiparam.h:$(GLSRC)gsrect.h $(GLSRC)gxiparam.h:$(GLSRC)gscms.h -$(GLSRC)gxiparam.h:$(GLSRC)gxftype.h -$(GLSRC)gxiparam.h:$(GLSRC)gsdevice.h $(GLSRC)gxiparam.h:$(GLSRC)gscspace.h -$(GLSRC)gxiparam.h:$(GLSRC)gsuid.h +$(GLSRC)gxiparam.h:$(GLSRC)gxpath.h +$(GLSRC)gxiparam.h:$(GLSRC)gxbcache.h +$(GLSRC)gxiparam.h:$(GLSRC)gsdevice.h $(GLSRC)gxiparam.h:$(GLSRC)gxarith.h -$(GLSRC)gxiparam.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxiparam.h:$(GLSRC)gspenum.h +$(GLSRC)gxiparam.h:$(GLSRC)gxhttile.h +$(GLSRC)gxiparam.h:$(GLSRC)gsrect.h +$(GLSRC)gxiparam.h:$(GLSRC)gslparam.h $(GLSRC)gxiparam.h:$(GLSRC)gsxfont.h +$(GLSRC)gxiparam.h:$(GLSRC)gsiparam.h +$(GLSRC)gxiparam.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxiparam.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxiparam.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxiparam.h:$(GLSRC)gscpm.h $(GLSRC)gxiparam.h:$(GLSRC)gxfixed.h $(GLSRC)gxiparam.h:$(GLSRC)gsrefct.h -$(GLSRC)gxiparam.h:$(GLSRC)gscpm.h -$(GLSRC)gxiparam.h:$(GLSRC)gsiparam.h -$(GLSRC)gxiparam.h:$(GLSRC)gxhttile.h -$(GLSRC)gxiparam.h:$(GLSRC)gp.h -$(GLSRC)gxiparam.h:$(GLSRC)memento.h $(GLSRC)gxiparam.h:$(GLSRC)gsparam.h -$(GLSRC)gxiparam.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxiparam.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxiparam.h:$(GLSRC)srdline.h +$(GLSRC)gxiparam.h:$(GLSRC)gp.h +$(GLSRC)gxiparam.h:$(GLSRC)gsccolor.h $(GLSRC)gxiparam.h:$(GLSRC)gsstruct.h $(GLSRC)gxiparam.h:$(GLSRC)gxsync.h -$(GLSRC)gxiparam.h:$(GLSRC)gscsel.h +$(GLSRC)gxiparam.h:$(GLSRC)srdline.h $(GLSRC)gxiparam.h:$(GLSRC)scommon.h +$(GLSRC)gxiparam.h:$(GLSRC)memento.h +$(GLSRC)gxiparam.h:$(GLSRC)gscsel.h $(GLSRC)gxiparam.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxiparam.h:$(GLSRC)gsccolor.h $(GLSRC)gxiparam.h:$(GLSRC)gsstype.h +$(GLSRC)gxiparam.h:$(GLSRC)stat_.h +$(GLSRC)gxiparam.h:$(GLSRC)gxtmap.h $(GLSRC)gxiparam.h:$(GLSRC)gsmemory.h $(GLSRC)gxiparam.h:$(GLSRC)gpsync.h -$(GLSRC)gxiparam.h:$(GLSRC)gpgetenv.h $(GLSRC)gxiparam.h:$(GLSRC)memory_.h +$(GLSRC)gxiparam.h:$(GLSRC)gpgetenv.h $(GLSRC)gxiparam.h:$(GLSRC)gslibctx.h $(GLSRC)gxiparam.h:$(GLSRC)gscdefs.h +$(GLSRC)gxiparam.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxiparam.h:$(GLSRC)stdio_.h $(GLSRC)gxiparam.h:$(GLSRC)gscompt.h $(GLSRC)gxiparam.h:$(GLSRC)gxcindex.h -$(GLSRC)gxiparam.h:$(GLSRC)stdint_.h $(GLSRC)gxiparam.h:$(GLSRC)gsgstate.h +$(GLSRC)gxiparam.h:$(GLSRC)stdint_.h +$(GLSRC)gxiparam.h:$(GLSRC)gssprintf.h $(GLSRC)gxiparam.h:$(GLSRC)gsccode.h -$(GLSRC)gxiparam.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxiparam.h:$(GLSRC)stdio_.h -$(GLSRC)gxiparam.h:$(GLSRC)gstypes.h $(GLSRC)gxiparam.h:$(GLSRC)std.h +$(GLSRC)gxiparam.h:$(GLSRC)gstypes.h $(GLSRC)gxiparam.h:$(GLSRC)stdpre.h $(GLSRC)gxiparam.h:$(GLGEN)arch.h -$(GLSRC)gxiparam.h:$(GLSRC)gssprintf.h $(GLSRC)gximask.h:$(GLSRC)gsropt.h -$(GLSRC)gximask.h:$(GLSRC)gxpath.h -$(GLSRC)gximask.h:$(GLSRC)gspenum.h -$(GLSRC)gximask.h:$(GLSRC)gslparam.h $(GLSRC)gximask.h:$(GLSRC)gsdcolor.h -$(GLSRC)gximask.h:$(GLSRC)gsrect.h $(GLSRC)gximask.h:$(GLSRC)gscms.h -$(GLSRC)gximask.h:$(GLSRC)gsdevice.h $(GLSRC)gximask.h:$(GLSRC)gscspace.h +$(GLSRC)gximask.h:$(GLSRC)gxpath.h +$(GLSRC)gximask.h:$(GLSRC)gsdevice.h $(GLSRC)gximask.h:$(GLSRC)gxarith.h +$(GLSRC)gximask.h:$(GLSRC)gspenum.h +$(GLSRC)gximask.h:$(GLSRC)gxhttile.h +$(GLSRC)gximask.h:$(GLSRC)gsrect.h +$(GLSRC)gximask.h:$(GLSRC)gslparam.h +$(GLSRC)gximask.h:$(GLSRC)gsiparam.h +$(GLSRC)gximask.h:$(GLSRC)gxbitmap.h +$(GLSRC)gximask.h:$(GLSRC)gsmatrix.h +$(GLSRC)gximask.h:$(GLSRC)gscpm.h $(GLSRC)gximask.h:$(GLSRC)gxfixed.h $(GLSRC)gximask.h:$(GLSRC)gsrefct.h -$(GLSRC)gximask.h:$(GLSRC)gscpm.h -$(GLSRC)gximask.h:$(GLSRC)gsiparam.h -$(GLSRC)gximask.h:$(GLSRC)gxhttile.h -$(GLSRC)gximask.h:$(GLSRC)memento.h $(GLSRC)gximask.h:$(GLSRC)gsparam.h -$(GLSRC)gximask.h:$(GLSRC)gsmatrix.h -$(GLSRC)gximask.h:$(GLSRC)gxbitmap.h +$(GLSRC)gximask.h:$(GLSRC)gsccolor.h $(GLSRC)gximask.h:$(GLSRC)gxsync.h $(GLSRC)gximask.h:$(GLSRC)scommon.h +$(GLSRC)gximask.h:$(GLSRC)memento.h $(GLSRC)gximask.h:$(GLSRC)gsbitmap.h -$(GLSRC)gximask.h:$(GLSRC)gsccolor.h $(GLSRC)gximask.h:$(GLSRC)gsstype.h $(GLSRC)gximask.h:$(GLSRC)gsmemory.h $(GLSRC)gximask.h:$(GLSRC)gpsync.h $(GLSRC)gximask.h:$(GLSRC)gslibctx.h -$(GLSRC)gximask.h:$(GLSRC)gxcindex.h -$(GLSRC)gximask.h:$(GLSRC)stdint_.h -$(GLSRC)gximask.h:$(GLSRC)gsgstate.h $(GLSRC)gximask.h:$(GLSRC)gs_dll_call.h $(GLSRC)gximask.h:$(GLSRC)stdio_.h -$(GLSRC)gximask.h:$(GLSRC)gstypes.h +$(GLSRC)gximask.h:$(GLSRC)gxcindex.h +$(GLSRC)gximask.h:$(GLSRC)gsgstate.h +$(GLSRC)gximask.h:$(GLSRC)stdint_.h +$(GLSRC)gximask.h:$(GLSRC)gssprintf.h $(GLSRC)gximask.h:$(GLSRC)std.h +$(GLSRC)gximask.h:$(GLSRC)gstypes.h $(GLSRC)gximask.h:$(GLSRC)stdpre.h $(GLSRC)gximask.h:$(GLGEN)arch.h -$(GLSRC)gximask.h:$(GLSRC)gssprintf.h $(GLSRC)gscie.h:$(GLSRC)gxctable.h $(GLSRC)gscie.h:$(GLSRC)gxfrac.h $(GLSRC)gscie.h:$(GLSRC)gscspace.h -$(GLSRC)gscie.h:$(GLSRC)gxfixed.h -$(GLSRC)gscie.h:$(GLSRC)gsrefct.h $(GLSRC)gscie.h:$(GLSRC)gsiparam.h -$(GLSRC)gscie.h:$(GLSRC)memento.h -$(GLSRC)gscie.h:$(GLSRC)gsmatrix.h $(GLSRC)gscie.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscie.h:$(GLSRC)gsmatrix.h +$(GLSRC)gscie.h:$(GLSRC)gxfixed.h +$(GLSRC)gscie.h:$(GLSRC)gsrefct.h +$(GLSRC)gscie.h:$(GLSRC)gsccolor.h $(GLSRC)gscie.h:$(GLSRC)scommon.h +$(GLSRC)gscie.h:$(GLSRC)memento.h $(GLSRC)gscie.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscie.h:$(GLSRC)gsccolor.h $(GLSRC)gscie.h:$(GLSRC)gsstype.h $(GLSRC)gscie.h:$(GLSRC)gsmemory.h $(GLSRC)gscie.h:$(GLSRC)gslibctx.h -$(GLSRC)gscie.h:$(GLSRC)stdint_.h -$(GLSRC)gscie.h:$(GLSRC)gsgstate.h $(GLSRC)gscie.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscie.h:$(GLSRC)stdio_.h -$(GLSRC)gscie.h:$(GLSRC)gstypes.h +$(GLSRC)gscie.h:$(GLSRC)gsgstate.h +$(GLSRC)gscie.h:$(GLSRC)stdint_.h +$(GLSRC)gscie.h:$(GLSRC)gssprintf.h $(GLSRC)gscie.h:$(GLSRC)std.h +$(GLSRC)gscie.h:$(GLSRC)gstypes.h $(GLSRC)gscie.h:$(GLSRC)stdpre.h $(GLSRC)gscie.h:$(GLGEN)arch.h -$(GLSRC)gscie.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc.h:$(GLSRC)gscie.h -$(GLSRC)gsicc.h:$(GLSRC)gxctable.h $(GLSRC)gsicc.h:$(GLSRC)gxcspace.h -$(GLSRC)gsicc.h:$(GLSRC)gxfrac.h +$(GLSRC)gsicc.h:$(GLSRC)gxctable.h $(GLSRC)gsicc.h:$(GLSRC)gsdcolor.h +$(GLSRC)gsicc.h:$(GLSRC)gxfrac.h $(GLSRC)gsicc.h:$(GLSRC)gscms.h -$(GLSRC)gsicc.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc.h:$(GLSRC)gscspace.h +$(GLSRC)gsicc.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc.h:$(GLSRC)gxarith.h +$(GLSRC)gsicc.h:$(GLSRC)gxhttile.h +$(GLSRC)gsicc.h:$(GLSRC)gsiparam.h +$(GLSRC)gsicc.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsicc.h:$(GLSRC)gsmatrix.h $(GLSRC)gsicc.h:$(GLSRC)gxfixed.h $(GLSRC)gsicc.h:$(GLSRC)gsrefct.h -$(GLSRC)gsicc.h:$(GLSRC)gsiparam.h -$(GLSRC)gsicc.h:$(GLSRC)gxhttile.h -$(GLSRC)gsicc.h:$(GLSRC)memento.h $(GLSRC)gsicc.h:$(GLSRC)gsparam.h -$(GLSRC)gsicc.h:$(GLSRC)gsmatrix.h -$(GLSRC)gsicc.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsicc.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc.h:$(GLSRC)gxsync.h -$(GLSRC)gsicc.h:$(GLSRC)gscsel.h $(GLSRC)gsicc.h:$(GLSRC)scommon.h +$(GLSRC)gsicc.h:$(GLSRC)memento.h +$(GLSRC)gsicc.h:$(GLSRC)gscsel.h $(GLSRC)gsicc.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsicc.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc.h:$(GLSRC)gsstype.h $(GLSRC)gsicc.h:$(GLSRC)gsmemory.h $(GLSRC)gsicc.h:$(GLSRC)gpsync.h $(GLSRC)gsicc.h:$(GLSRC)gslibctx.h -$(GLSRC)gsicc.h:$(GLSRC)gxcindex.h -$(GLSRC)gsicc.h:$(GLSRC)stdint_.h -$(GLSRC)gsicc.h:$(GLSRC)gsgstate.h $(GLSRC)gsicc.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsicc.h:$(GLSRC)stdio_.h -$(GLSRC)gsicc.h:$(GLSRC)gstypes.h +$(GLSRC)gsicc.h:$(GLSRC)gxcindex.h +$(GLSRC)gsicc.h:$(GLSRC)gsgstate.h +$(GLSRC)gsicc.h:$(GLSRC)stdint_.h +$(GLSRC)gsicc.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc.h:$(GLSRC)std.h +$(GLSRC)gsicc.h:$(GLSRC)gstypes.h $(GLSRC)gsicc.h:$(GLSRC)stdpre.h $(GLSRC)gsicc.h:$(GLGEN)arch.h -$(GLSRC)gsicc.h:$(GLSRC)gssprintf.h $(GLSRC)gscrd.h:$(GLSRC)gscie.h $(GLSRC)gscrd.h:$(GLSRC)gxctable.h $(GLSRC)gscrd.h:$(GLSRC)gxfrac.h $(GLSRC)gscrd.h:$(GLSRC)gscspace.h -$(GLSRC)gscrd.h:$(GLSRC)gxfixed.h -$(GLSRC)gscrd.h:$(GLSRC)gsrefct.h $(GLSRC)gscrd.h:$(GLSRC)gsiparam.h -$(GLSRC)gscrd.h:$(GLSRC)memento.h -$(GLSRC)gscrd.h:$(GLSRC)gsmatrix.h $(GLSRC)gscrd.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscrd.h:$(GLSRC)gsmatrix.h +$(GLSRC)gscrd.h:$(GLSRC)gxfixed.h +$(GLSRC)gscrd.h:$(GLSRC)gsrefct.h +$(GLSRC)gscrd.h:$(GLSRC)gsccolor.h $(GLSRC)gscrd.h:$(GLSRC)scommon.h +$(GLSRC)gscrd.h:$(GLSRC)memento.h $(GLSRC)gscrd.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscrd.h:$(GLSRC)gsccolor.h $(GLSRC)gscrd.h:$(GLSRC)gsstype.h $(GLSRC)gscrd.h:$(GLSRC)gsmemory.h $(GLSRC)gscrd.h:$(GLSRC)gslibctx.h -$(GLSRC)gscrd.h:$(GLSRC)stdint_.h -$(GLSRC)gscrd.h:$(GLSRC)gsgstate.h $(GLSRC)gscrd.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscrd.h:$(GLSRC)stdio_.h -$(GLSRC)gscrd.h:$(GLSRC)gstypes.h +$(GLSRC)gscrd.h:$(GLSRC)gsgstate.h +$(GLSRC)gscrd.h:$(GLSRC)stdint_.h +$(GLSRC)gscrd.h:$(GLSRC)gssprintf.h $(GLSRC)gscrd.h:$(GLSRC)std.h +$(GLSRC)gscrd.h:$(GLSRC)gstypes.h $(GLSRC)gscrd.h:$(GLSRC)stdpre.h $(GLSRC)gscrd.h:$(GLGEN)arch.h -$(GLSRC)gscrd.h:$(GLSRC)gssprintf.h $(GLSRC)gscrdp.h:$(GLSRC)gscie.h $(GLSRC)gscrdp.h:$(GLSRC)gxctable.h $(GLSRC)gscrdp.h:$(GLSRC)gxfrac.h -$(GLSRC)gscrdp.h:$(GLSRC)gsdevice.h $(GLSRC)gscrdp.h:$(GLSRC)gscspace.h +$(GLSRC)gscrdp.h:$(GLSRC)gsdevice.h +$(GLSRC)gscrdp.h:$(GLSRC)gsiparam.h +$(GLSRC)gscrdp.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscrdp.h:$(GLSRC)gsmatrix.h $(GLSRC)gscrdp.h:$(GLSRC)gxfixed.h $(GLSRC)gscrdp.h:$(GLSRC)gsrefct.h -$(GLSRC)gscrdp.h:$(GLSRC)gsiparam.h -$(GLSRC)gscrdp.h:$(GLSRC)memento.h $(GLSRC)gscrdp.h:$(GLSRC)gsparam.h -$(GLSRC)gscrdp.h:$(GLSRC)gsmatrix.h -$(GLSRC)gscrdp.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscrdp.h:$(GLSRC)gsccolor.h $(GLSRC)gscrdp.h:$(GLSRC)scommon.h +$(GLSRC)gscrdp.h:$(GLSRC)memento.h $(GLSRC)gscrdp.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscrdp.h:$(GLSRC)gsccolor.h $(GLSRC)gscrdp.h:$(GLSRC)gsstype.h $(GLSRC)gscrdp.h:$(GLSRC)gsmemory.h $(GLSRC)gscrdp.h:$(GLSRC)gslibctx.h -$(GLSRC)gscrdp.h:$(GLSRC)stdint_.h -$(GLSRC)gscrdp.h:$(GLSRC)gsgstate.h $(GLSRC)gscrdp.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscrdp.h:$(GLSRC)stdio_.h -$(GLSRC)gscrdp.h:$(GLSRC)gstypes.h +$(GLSRC)gscrdp.h:$(GLSRC)gsgstate.h +$(GLSRC)gscrdp.h:$(GLSRC)stdint_.h +$(GLSRC)gscrdp.h:$(GLSRC)gssprintf.h $(GLSRC)gscrdp.h:$(GLSRC)std.h +$(GLSRC)gscrdp.h:$(GLSRC)gstypes.h $(GLSRC)gscrdp.h:$(GLSRC)stdpre.h $(GLSRC)gscrdp.h:$(GLGEN)arch.h -$(GLSRC)gscrdp.h:$(GLSRC)gssprintf.h $(GLSRC)gscdevn.h:$(GLSRC)gsfunc.h $(GLSRC)gscdevn.h:$(GLSRC)gscspace.h +$(GLSRC)gscdevn.h:$(GLSRC)gsiparam.h $(GLSRC)gscdevn.h:$(GLSRC)gsdsrc.h +$(GLSRC)gscdevn.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscdevn.h:$(GLSRC)gsmatrix.h $(GLSRC)gscdevn.h:$(GLSRC)gsrefct.h -$(GLSRC)gscdevn.h:$(GLSRC)gsiparam.h -$(GLSRC)gscdevn.h:$(GLSRC)memento.h $(GLSRC)gscdevn.h:$(GLSRC)gsparam.h -$(GLSRC)gscdevn.h:$(GLSRC)gsmatrix.h -$(GLSRC)gscdevn.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscdevn.h:$(GLSRC)gsccolor.h $(GLSRC)gscdevn.h:$(GLSRC)gsstruct.h $(GLSRC)gscdevn.h:$(GLSRC)scommon.h +$(GLSRC)gscdevn.h:$(GLSRC)memento.h $(GLSRC)gscdevn.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscdevn.h:$(GLSRC)gsccolor.h $(GLSRC)gscdevn.h:$(GLSRC)gsstype.h $(GLSRC)gscdevn.h:$(GLSRC)gsmemory.h $(GLSRC)gscdevn.h:$(GLSRC)gslibctx.h -$(GLSRC)gscdevn.h:$(GLSRC)stdint_.h -$(GLSRC)gscdevn.h:$(GLSRC)gsgstate.h $(GLSRC)gscdevn.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscdevn.h:$(GLSRC)stdio_.h -$(GLSRC)gscdevn.h:$(GLSRC)gstypes.h +$(GLSRC)gscdevn.h:$(GLSRC)gsgstate.h +$(GLSRC)gscdevn.h:$(GLSRC)stdint_.h +$(GLSRC)gscdevn.h:$(GLSRC)gssprintf.h $(GLSRC)gscdevn.h:$(GLSRC)std.h +$(GLSRC)gscdevn.h:$(GLSRC)gstypes.h $(GLSRC)gscdevn.h:$(GLSRC)stdpre.h $(GLSRC)gscdevn.h:$(GLGEN)arch.h -$(GLSRC)gscdevn.h:$(GLSRC)gssprintf.h $(GLSRC)gscindex.h:$(GLSRC)gxfrac.h $(GLSRC)gscindex.h:$(GLSRC)gscspace.h -$(GLSRC)gscindex.h:$(GLSRC)gsrefct.h $(GLSRC)gscindex.h:$(GLSRC)gsiparam.h -$(GLSRC)gscindex.h:$(GLSRC)memento.h -$(GLSRC)gscindex.h:$(GLSRC)gsmatrix.h $(GLSRC)gscindex.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscindex.h:$(GLSRC)gsmatrix.h +$(GLSRC)gscindex.h:$(GLSRC)gsrefct.h +$(GLSRC)gscindex.h:$(GLSRC)gsccolor.h $(GLSRC)gscindex.h:$(GLSRC)scommon.h +$(GLSRC)gscindex.h:$(GLSRC)memento.h $(GLSRC)gscindex.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscindex.h:$(GLSRC)gsccolor.h $(GLSRC)gscindex.h:$(GLSRC)gsstype.h $(GLSRC)gscindex.h:$(GLSRC)gsmemory.h $(GLSRC)gscindex.h:$(GLSRC)gslibctx.h -$(GLSRC)gscindex.h:$(GLSRC)stdint_.h -$(GLSRC)gscindex.h:$(GLSRC)gsgstate.h $(GLSRC)gscindex.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscindex.h:$(GLSRC)stdio_.h -$(GLSRC)gscindex.h:$(GLSRC)gstypes.h +$(GLSRC)gscindex.h:$(GLSRC)gsgstate.h +$(GLSRC)gscindex.h:$(GLSRC)stdint_.h +$(GLSRC)gscindex.h:$(GLSRC)gssprintf.h $(GLSRC)gscindex.h:$(GLSRC)std.h +$(GLSRC)gscindex.h:$(GLSRC)gstypes.h $(GLSRC)gscindex.h:$(GLSRC)stdpre.h $(GLSRC)gscindex.h:$(GLGEN)arch.h -$(GLSRC)gscindex.h:$(GLSRC)gssprintf.h $(GLSRC)gscolor2.h:$(GLSRC)gscindex.h $(GLSRC)gscolor2.h:$(GLSRC)gsptype1.h -$(GLSRC)gscolor2.h:$(GLSRC)gspcolor.h $(GLSRC)gscolor2.h:$(GLSRC)gscie.h +$(GLSRC)gscolor2.h:$(GLSRC)gspcolor.h $(GLSRC)gscolor2.h:$(GLSRC)gxctable.h -$(GLSRC)gscolor2.h:$(GLSRC)gxfrac.h +$(GLSRC)gscolor2.h:$(GLSRC)gsuid.h $(GLSRC)gscolor2.h:$(GLSRC)gsdcolor.h +$(GLSRC)gscolor2.h:$(GLSRC)gxfrac.h $(GLSRC)gscolor2.h:$(GLSRC)gscms.h -$(GLSRC)gscolor2.h:$(GLSRC)gsdevice.h $(GLSRC)gscolor2.h:$(GLSRC)gscspace.h -$(GLSRC)gscolor2.h:$(GLSRC)gsuid.h +$(GLSRC)gscolor2.h:$(GLSRC)gsdevice.h $(GLSRC)gscolor2.h:$(GLSRC)gxarith.h +$(GLSRC)gscolor2.h:$(GLSRC)gxhttile.h +$(GLSRC)gscolor2.h:$(GLSRC)gsiparam.h +$(GLSRC)gscolor2.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscolor2.h:$(GLSRC)gsmatrix.h $(GLSRC)gscolor2.h:$(GLSRC)gxfixed.h $(GLSRC)gscolor2.h:$(GLSRC)gsrefct.h -$(GLSRC)gscolor2.h:$(GLSRC)gsiparam.h -$(GLSRC)gscolor2.h:$(GLSRC)gxhttile.h -$(GLSRC)gscolor2.h:$(GLSRC)memento.h $(GLSRC)gscolor2.h:$(GLSRC)gsparam.h -$(GLSRC)gscolor2.h:$(GLSRC)gsmatrix.h -$(GLSRC)gscolor2.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscolor2.h:$(GLSRC)gsccolor.h $(GLSRC)gscolor2.h:$(GLSRC)gxsync.h $(GLSRC)gscolor2.h:$(GLSRC)scommon.h +$(GLSRC)gscolor2.h:$(GLSRC)memento.h $(GLSRC)gscolor2.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscolor2.h:$(GLSRC)gsccolor.h $(GLSRC)gscolor2.h:$(GLSRC)gsstype.h $(GLSRC)gscolor2.h:$(GLSRC)gsmemory.h $(GLSRC)gscolor2.h:$(GLSRC)gpsync.h $(GLSRC)gscolor2.h:$(GLSRC)gslibctx.h -$(GLSRC)gscolor2.h:$(GLSRC)gxcindex.h -$(GLSRC)gscolor2.h:$(GLSRC)stdint_.h -$(GLSRC)gscolor2.h:$(GLSRC)gsgstate.h $(GLSRC)gscolor2.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscolor2.h:$(GLSRC)stdio_.h -$(GLSRC)gscolor2.h:$(GLSRC)gstypes.h +$(GLSRC)gscolor2.h:$(GLSRC)gxcindex.h +$(GLSRC)gscolor2.h:$(GLSRC)gsgstate.h +$(GLSRC)gscolor2.h:$(GLSRC)stdint_.h +$(GLSRC)gscolor2.h:$(GLSRC)gssprintf.h $(GLSRC)gscolor2.h:$(GLSRC)std.h +$(GLSRC)gscolor2.h:$(GLSRC)gstypes.h $(GLSRC)gscolor2.h:$(GLSRC)stdpre.h $(GLSRC)gscolor2.h:$(GLGEN)arch.h -$(GLSRC)gscolor2.h:$(GLSRC)gssprintf.h $(GLSRC)gscsepr.h:$(GLSRC)gsfunc.h $(GLSRC)gscsepr.h:$(GLSRC)gscspace.h +$(GLSRC)gscsepr.h:$(GLSRC)gsiparam.h $(GLSRC)gscsepr.h:$(GLSRC)gsdsrc.h +$(GLSRC)gscsepr.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscsepr.h:$(GLSRC)gsmatrix.h $(GLSRC)gscsepr.h:$(GLSRC)gsrefct.h -$(GLSRC)gscsepr.h:$(GLSRC)gsiparam.h -$(GLSRC)gscsepr.h:$(GLSRC)memento.h $(GLSRC)gscsepr.h:$(GLSRC)gsparam.h -$(GLSRC)gscsepr.h:$(GLSRC)gsmatrix.h -$(GLSRC)gscsepr.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscsepr.h:$(GLSRC)gsccolor.h $(GLSRC)gscsepr.h:$(GLSRC)gsstruct.h $(GLSRC)gscsepr.h:$(GLSRC)scommon.h +$(GLSRC)gscsepr.h:$(GLSRC)memento.h $(GLSRC)gscsepr.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscsepr.h:$(GLSRC)gsccolor.h $(GLSRC)gscsepr.h:$(GLSRC)gsstype.h $(GLSRC)gscsepr.h:$(GLSRC)gsmemory.h $(GLSRC)gscsepr.h:$(GLSRC)gslibctx.h -$(GLSRC)gscsepr.h:$(GLSRC)stdint_.h -$(GLSRC)gscsepr.h:$(GLSRC)gsgstate.h $(GLSRC)gscsepr.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscsepr.h:$(GLSRC)stdio_.h -$(GLSRC)gscsepr.h:$(GLSRC)gstypes.h +$(GLSRC)gscsepr.h:$(GLSRC)gsgstate.h +$(GLSRC)gscsepr.h:$(GLSRC)stdint_.h +$(GLSRC)gscsepr.h:$(GLSRC)gssprintf.h $(GLSRC)gscsepr.h:$(GLSRC)std.h +$(GLSRC)gscsepr.h:$(GLSRC)gstypes.h $(GLSRC)gscsepr.h:$(GLSRC)stdpre.h $(GLSRC)gscsepr.h:$(GLGEN)arch.h -$(GLSRC)gscsepr.h:$(GLSRC)gssprintf.h $(GLSRC)gxdcconv.h:$(GLSRC)gxfrac.h $(GLSRC)gxdcconv.h:$(GLSRC)gsgstate.h $(GLSRC)gxdcconv.h:$(GLSRC)std.h $(GLSRC)gxdcconv.h:$(GLSRC)stdpre.h $(GLSRC)gxdcconv.h:$(GLGEN)arch.h -$(GLSRC)gxfmap.h:$(GLSRC)gxtmap.h $(GLSRC)gxfmap.h:$(GLSRC)gxfrac.h $(GLSRC)gxfmap.h:$(GLSRC)gsrefct.h $(GLSRC)gxfmap.h:$(GLSRC)memento.h $(GLSRC)gxfmap.h:$(GLSRC)gsstype.h +$(GLSRC)gxfmap.h:$(GLSRC)gxtmap.h $(GLSRC)gxfmap.h:$(GLSRC)gsmemory.h $(GLSRC)gxfmap.h:$(GLSRC)gslibctx.h $(GLSRC)gxfmap.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxfmap.h:$(GLSRC)stdio_.h -$(GLSRC)gxfmap.h:$(GLSRC)gstypes.h +$(GLSRC)gxfmap.h:$(GLSRC)gssprintf.h $(GLSRC)gxfmap.h:$(GLSRC)std.h +$(GLSRC)gxfmap.h:$(GLSRC)gstypes.h $(GLSRC)gxfmap.h:$(GLSRC)stdpre.h $(GLSRC)gxfmap.h:$(GLGEN)arch.h -$(GLSRC)gxfmap.h:$(GLSRC)gssprintf.h -$(GLSRC)gxcmap.h:$(GLSRC)gxfmap.h +$(GLSRC)gxcmap.h:$(GLSRC)gsdcolor.h $(GLSRC)gxcmap.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxcmap.h:$(GLSRC)gxtmap.h +$(GLSRC)gxcmap.h:$(GLSRC)gxfmap.h $(GLSRC)gxcmap.h:$(GLSRC)gxfrac.h -$(GLSRC)gxcmap.h:$(GLSRC)gsdcolor.h $(GLSRC)gxcmap.h:$(GLSRC)gscms.h -$(GLSRC)gxcmap.h:$(GLSRC)gsdevice.h $(GLSRC)gxcmap.h:$(GLSRC)gscspace.h +$(GLSRC)gxcmap.h:$(GLSRC)gsdevice.h $(GLSRC)gxcmap.h:$(GLSRC)gxarith.h -$(GLSRC)gxcmap.h:$(GLSRC)gsrefct.h -$(GLSRC)gxcmap.h:$(GLSRC)gsiparam.h $(GLSRC)gxcmap.h:$(GLSRC)gxhttile.h -$(GLSRC)gxcmap.h:$(GLSRC)memento.h -$(GLSRC)gxcmap.h:$(GLSRC)gsparam.h -$(GLSRC)gxcmap.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxcmap.h:$(GLSRC)gsiparam.h $(GLSRC)gxcmap.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxcmap.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxcmap.h:$(GLSRC)gsrefct.h +$(GLSRC)gxcmap.h:$(GLSRC)gsparam.h +$(GLSRC)gxcmap.h:$(GLSRC)gsccolor.h $(GLSRC)gxcmap.h:$(GLSRC)gxsync.h -$(GLSRC)gxcmap.h:$(GLSRC)gscsel.h $(GLSRC)gxcmap.h:$(GLSRC)scommon.h +$(GLSRC)gxcmap.h:$(GLSRC)memento.h +$(GLSRC)gxcmap.h:$(GLSRC)gscsel.h $(GLSRC)gxcmap.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxcmap.h:$(GLSRC)gsccolor.h $(GLSRC)gxcmap.h:$(GLSRC)gsstype.h +$(GLSRC)gxcmap.h:$(GLSRC)gxtmap.h $(GLSRC)gxcmap.h:$(GLSRC)gsmemory.h $(GLSRC)gxcmap.h:$(GLSRC)gpsync.h $(GLSRC)gxcmap.h:$(GLSRC)gslibctx.h -$(GLSRC)gxcmap.h:$(GLSRC)gxcindex.h -$(GLSRC)gxcmap.h:$(GLSRC)stdint_.h -$(GLSRC)gxcmap.h:$(GLSRC)gsgstate.h $(GLSRC)gxcmap.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxcmap.h:$(GLSRC)stdio_.h -$(GLSRC)gxcmap.h:$(GLSRC)gstypes.h +$(GLSRC)gxcmap.h:$(GLSRC)gxcindex.h +$(GLSRC)gxcmap.h:$(GLSRC)gsgstate.h +$(GLSRC)gxcmap.h:$(GLSRC)stdint_.h +$(GLSRC)gxcmap.h:$(GLSRC)gssprintf.h $(GLSRC)gxcmap.h:$(GLSRC)std.h +$(GLSRC)gxcmap.h:$(GLSRC)gstypes.h $(GLSRC)gxcmap.h:$(GLSRC)stdpre.h $(GLSRC)gxcmap.h:$(GLGEN)arch.h -$(GLSRC)gxcmap.h:$(GLSRC)gssprintf.h -$(GLSRC)gxgstate.h:$(GLSRC)gstrans.h $(GLSRC)gxgstate.h:$(GLSRC)gxline.h +$(GLSRC)gxgstate.h:$(GLSRC)gstrans.h $(GLSRC)gxgstate.h:$(GLSRC)gsht1.h -$(GLSRC)gxgstate.h:$(GLSRC)gxcomp.h $(GLSRC)gxgstate.h:$(GLSRC)math_.h $(GLSRC)gxgstate.h:$(GLSRC)gdevp14.h $(GLSRC)gxgstate.h:$(GLSRC)gxcolor2.h $(GLSRC)gxgstate.h:$(GLSRC)gxpcolor.h $(GLSRC)gxgstate.h:$(GLSRC)gdevdevn.h +$(GLSRC)gxgstate.h:$(GLSRC)gsequivc.h $(GLSRC)gxgstate.h:$(GLSRC)gxblend.h +$(GLSRC)gxgstate.h:$(GLSRC)gxclipsr.h +$(GLSRC)gxgstate.h:$(GLSRC)gxcomp.h +$(GLSRC)gxgstate.h:$(GLSRC)gxdcolor.h $(GLSRC)gxgstate.h:$(GLSRC)gxmatrix.h $(GLSRC)gxgstate.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gxgstate.h:$(GLSRC)gsequivc.h -$(GLSRC)gxgstate.h:$(GLSRC)gxclipsr.h $(GLSRC)gxgstate.h:$(GLSRC)gscolor2.h +$(GLSRC)gxgstate.h:$(GLSRC)gscindex.h $(GLSRC)gxgstate.h:$(GLSRC)gxdevice.h -$(GLSRC)gxgstate.h:$(GLSRC)gxcpath.h $(GLSRC)gxgstate.h:$(GLSRC)gsht.h +$(GLSRC)gxgstate.h:$(GLSRC)gxcpath.h $(GLSRC)gxgstate.h:$(GLSRC)gxdevmem.h +$(GLSRC)gxgstate.h:$(GLSRC)gxdevcli.h $(GLSRC)gxgstate.h:$(GLSRC)gxpcache.h -$(GLSRC)gxgstate.h:$(GLSRC)gscindex.h $(GLSRC)gxgstate.h:$(GLSRC)gsptype1.h -$(GLSRC)gxgstate.h:$(GLSRC)gxdevcli.h $(GLSRC)gxgstate.h:$(GLSRC)gxtext.h -$(GLSRC)gxgstate.h:$(GLSRC)gspcolor.h +$(GLSRC)gxgstate.h:$(GLSRC)gscie.h $(GLSRC)gxgstate.h:$(GLSRC)gstext.h -$(GLSRC)gxgstate.h:$(GLSRC)gxdcolor.h +$(GLSRC)gxgstate.h:$(GLSRC)gsnamecl.h $(GLSRC)gxgstate.h:$(GLSRC)gstparam.h -$(GLSRC)gxgstate.h:$(GLSRC)gscie.h $(GLSRC)gxgstate.h:$(GLSRC)gxstate.h -$(GLSRC)gxgstate.h:$(GLSRC)gxcmap.h -$(GLSRC)gxgstate.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxgstate.h:$(GLSRC)gspcolor.h +$(GLSRC)gxgstate.h:$(GLSRC)gxfcache.h +$(GLSRC)gxgstate.h:$(GLSRC)gxcspace.h $(GLSRC)gxgstate.h:$(GLSRC)gsropt.h $(GLSRC)gxgstate.h:$(GLSRC)gsfunc.h -$(GLSRC)gxgstate.h:$(GLSRC)gxctable.h -$(GLSRC)gxgstate.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxgstate.h:$(GLSRC)gsmalloc.h $(GLSRC)gxgstate.h:$(GLSRC)gxrplane.h -$(GLSRC)gxgstate.h:$(GLSRC)gxcspace.h -$(GLSRC)gxgstate.h:$(GLSRC)gxiclass.h -$(GLSRC)gxgstate.h:$(GLSRC)gxfcache.h +$(GLSRC)gxgstate.h:$(GLSRC)gxctable.h +$(GLSRC)gxgstate.h:$(GLSRC)gsuid.h +$(GLSRC)gxgstate.h:$(GLSRC)gxcmap.h +$(GLSRC)gxgstate.h:$(GLSRC)gsimage.h +$(GLSRC)gxgstate.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxgstate.h:$(GLSRC)gxdda.h +$(GLSRC)gxgstate.h:$(GLSRC)gxcvalue.h $(GLSRC)gxgstate.h:$(GLSRC)gsfont.h $(GLSRC)gxgstate.h:$(GLSRC)gxfmap.h -$(GLSRC)gxgstate.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxgstate.h:$(GLSRC)gxpath.h -$(GLSRC)gxgstate.h:$(GLSRC)gspenum.h -$(GLSRC)gxgstate.h:$(GLSRC)gxtmap.h -$(GLSRC)gxgstate.h:$(GLSRC)gsimage.h +$(GLSRC)gxgstate.h:$(GLSRC)gxiclass.h +$(GLSRC)gxgstate.h:$(GLSRC)gxftype.h $(GLSRC)gxgstate.h:$(GLSRC)gxfrac.h -$(GLSRC)gxgstate.h:$(GLSRC)gxdda.h -$(GLSRC)gxgstate.h:$(GLSRC)gslparam.h -$(GLSRC)gxgstate.h:$(GLSRC)gxbcache.h -$(GLSRC)gxgstate.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxgstate.h:$(GLSRC)gsrect.h $(GLSRC)gxgstate.h:$(GLSRC)gscms.h -$(GLSRC)gxgstate.h:$(GLSRC)gxftype.h -$(GLSRC)gxgstate.h:$(GLSRC)gsdevice.h $(GLSRC)gxgstate.h:$(GLSRC)gscspace.h -$(GLSRC)gxgstate.h:$(GLSRC)gsuid.h +$(GLSRC)gxgstate.h:$(GLSRC)gxpath.h +$(GLSRC)gxgstate.h:$(GLSRC)gxbcache.h +$(GLSRC)gxgstate.h:$(GLSRC)gsdevice.h $(GLSRC)gxgstate.h:$(GLSRC)gxarith.h -$(GLSRC)gxgstate.h:$(GLSRC)gsdsrc.h $(GLSRC)gxgstate.h:$(GLSRC)gxstdio.h +$(GLSRC)gxgstate.h:$(GLSRC)gspenum.h +$(GLSRC)gxgstate.h:$(GLSRC)gxhttile.h +$(GLSRC)gxgstate.h:$(GLSRC)gsrect.h +$(GLSRC)gxgstate.h:$(GLSRC)gslparam.h $(GLSRC)gxgstate.h:$(GLSRC)gsxfont.h -$(GLSRC)gxgstate.h:$(GLSRC)gxfixed.h -$(GLSRC)gxgstate.h:$(GLSRC)gsrefct.h -$(GLSRC)gxgstate.h:$(GLSRC)gscpm.h $(GLSRC)gxgstate.h:$(GLSRC)gsiparam.h -$(GLSRC)gxgstate.h:$(GLSRC)gxhttile.h +$(GLSRC)gxgstate.h:$(GLSRC)gsdsrc.h $(GLSRC)gxgstate.h:$(GLSRC)gsio.h -$(GLSRC)gxgstate.h:$(GLSRC)gp.h -$(GLSRC)gxgstate.h:$(GLSRC)memento.h -$(GLSRC)gxgstate.h:$(GLSRC)gsparam.h -$(GLSRC)gxgstate.h:$(GLSRC)gsmatrix.h $(GLSRC)gxgstate.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxgstate.h:$(GLSRC)srdline.h +$(GLSRC)gxgstate.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxgstate.h:$(GLSRC)gscpm.h +$(GLSRC)gxgstate.h:$(GLSRC)gxfixed.h +$(GLSRC)gxgstate.h:$(GLSRC)gsrefct.h +$(GLSRC)gxgstate.h:$(GLSRC)gsparam.h +$(GLSRC)gxgstate.h:$(GLSRC)gp.h +$(GLSRC)gxgstate.h:$(GLSRC)gsccolor.h $(GLSRC)gxgstate.h:$(GLSRC)gsstruct.h $(GLSRC)gxgstate.h:$(GLSRC)gxsync.h +$(GLSRC)gxgstate.h:$(GLSRC)srdline.h +$(GLSRC)gxgstate.h:$(GLSRC)scommon.h +$(GLSRC)gxgstate.h:$(GLSRC)memento.h $(GLSRC)gxgstate.h:$(GLSRC)vmsmath.h $(GLSRC)gxgstate.h:$(GLSRC)gscsel.h -$(GLSRC)gxgstate.h:$(GLSRC)scommon.h $(GLSRC)gxgstate.h:$(GLSRC)gsbitmap.h $(GLSRC)gxgstate.h:$(GLSRC)gsfname.h -$(GLSRC)gxgstate.h:$(GLSRC)gsccolor.h $(GLSRC)gxgstate.h:$(GLSRC)gsstype.h +$(GLSRC)gxgstate.h:$(GLSRC)stat_.h +$(GLSRC)gxgstate.h:$(GLSRC)gxtmap.h $(GLSRC)gxgstate.h:$(GLSRC)gsmemory.h $(GLSRC)gxgstate.h:$(GLSRC)gpsync.h -$(GLSRC)gxgstate.h:$(GLSRC)gpgetenv.h $(GLSRC)gxgstate.h:$(GLSRC)memory_.h +$(GLSRC)gxgstate.h:$(GLSRC)gpgetenv.h $(GLSRC)gxgstate.h:$(GLSRC)gslibctx.h $(GLSRC)gxgstate.h:$(GLSRC)gscdefs.h +$(GLSRC)gxgstate.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxgstate.h:$(GLSRC)stdio_.h $(GLSRC)gxgstate.h:$(GLSRC)gscompt.h $(GLSRC)gxgstate.h:$(GLSRC)gxcindex.h -$(GLSRC)gxgstate.h:$(GLSRC)stdint_.h $(GLSRC)gxgstate.h:$(GLSRC)gsgstate.h +$(GLSRC)gxgstate.h:$(GLSRC)stdint_.h +$(GLSRC)gxgstate.h:$(GLSRC)gssprintf.h $(GLSRC)gxgstate.h:$(GLSRC)gsccode.h -$(GLSRC)gxgstate.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxgstate.h:$(GLSRC)stdio_.h -$(GLSRC)gxgstate.h:$(GLSRC)gstypes.h $(GLSRC)gxgstate.h:$(GLSRC)std.h +$(GLSRC)gxgstate.h:$(GLSRC)gstypes.h $(GLSRC)gxgstate.h:$(GLSRC)stdpre.h $(GLSRC)gxgstate.h:$(GLGEN)arch.h -$(GLSRC)gxgstate.h:$(GLSRC)gssprintf.h $(GLSRC)gxcolor2.h:$(GLSRC)gscolor2.h $(GLSRC)gxcolor2.h:$(GLSRC)gscindex.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsptype1.h $(GLSRC)gxcolor2.h:$(GLSRC)gxdevcli.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsptype1.h $(GLSRC)gxcolor2.h:$(GLSRC)gxtext.h -$(GLSRC)gxcolor2.h:$(GLSRC)gspcolor.h +$(GLSRC)gxcolor2.h:$(GLSRC)gscie.h $(GLSRC)gxcolor2.h:$(GLSRC)gstext.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsnamecl.h $(GLSRC)gxcolor2.h:$(GLSRC)gstparam.h -$(GLSRC)gxcolor2.h:$(GLSRC)gscie.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxcmap.h +$(GLSRC)gxcolor2.h:$(GLSRC)gspcolor.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxfcache.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxcspace.h $(GLSRC)gxcolor2.h:$(GLSRC)gsropt.h $(GLSRC)gxcolor2.h:$(GLSRC)gsfunc.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxctable.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsnamecl.h $(GLSRC)gxcolor2.h:$(GLSRC)gxrplane.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxcspace.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxfcache.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxctable.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsuid.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxcmap.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsimage.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxdda.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxcvalue.h $(GLSRC)gxcolor2.h:$(GLSRC)gsfont.h $(GLSRC)gxcolor2.h:$(GLSRC)gxfmap.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxpath.h -$(GLSRC)gxcolor2.h:$(GLSRC)gspenum.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxtmap.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsimage.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxftype.h $(GLSRC)gxcolor2.h:$(GLSRC)gxfrac.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxdda.h -$(GLSRC)gxcolor2.h:$(GLSRC)gslparam.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxbcache.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsrect.h $(GLSRC)gxcolor2.h:$(GLSRC)gscms.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxftype.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsdevice.h $(GLSRC)gxcolor2.h:$(GLSRC)gscspace.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsuid.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxpath.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxbcache.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsdevice.h $(GLSRC)gxcolor2.h:$(GLSRC)gxarith.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxcolor2.h:$(GLSRC)gspenum.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxhttile.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsrect.h +$(GLSRC)gxcolor2.h:$(GLSRC)gslparam.h $(GLSRC)gxcolor2.h:$(GLSRC)gsxfont.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsiparam.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxcolor2.h:$(GLSRC)gscpm.h $(GLSRC)gxcolor2.h:$(GLSRC)gxfixed.h $(GLSRC)gxcolor2.h:$(GLSRC)gsrefct.h -$(GLSRC)gxcolor2.h:$(GLSRC)gscpm.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsiparam.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxhttile.h -$(GLSRC)gxcolor2.h:$(GLSRC)gp.h -$(GLSRC)gxcolor2.h:$(GLSRC)memento.h $(GLSRC)gxcolor2.h:$(GLSRC)gsparam.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxcolor2.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxcolor2.h:$(GLSRC)srdline.h +$(GLSRC)gxcolor2.h:$(GLSRC)gp.h +$(GLSRC)gxcolor2.h:$(GLSRC)gsccolor.h $(GLSRC)gxcolor2.h:$(GLSRC)gsstruct.h $(GLSRC)gxcolor2.h:$(GLSRC)gxsync.h -$(GLSRC)gxcolor2.h:$(GLSRC)gscsel.h +$(GLSRC)gxcolor2.h:$(GLSRC)srdline.h $(GLSRC)gxcolor2.h:$(GLSRC)scommon.h +$(GLSRC)gxcolor2.h:$(GLSRC)memento.h +$(GLSRC)gxcolor2.h:$(GLSRC)gscsel.h $(GLSRC)gxcolor2.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxcolor2.h:$(GLSRC)gsccolor.h $(GLSRC)gxcolor2.h:$(GLSRC)gsstype.h +$(GLSRC)gxcolor2.h:$(GLSRC)stat_.h +$(GLSRC)gxcolor2.h:$(GLSRC)gxtmap.h $(GLSRC)gxcolor2.h:$(GLSRC)gsmemory.h $(GLSRC)gxcolor2.h:$(GLSRC)gpsync.h -$(GLSRC)gxcolor2.h:$(GLSRC)gpgetenv.h $(GLSRC)gxcolor2.h:$(GLSRC)memory_.h +$(GLSRC)gxcolor2.h:$(GLSRC)gpgetenv.h $(GLSRC)gxcolor2.h:$(GLSRC)gslibctx.h $(GLSRC)gxcolor2.h:$(GLSRC)gscdefs.h +$(GLSRC)gxcolor2.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxcolor2.h:$(GLSRC)stdio_.h $(GLSRC)gxcolor2.h:$(GLSRC)gscompt.h $(GLSRC)gxcolor2.h:$(GLSRC)gxcindex.h -$(GLSRC)gxcolor2.h:$(GLSRC)stdint_.h $(GLSRC)gxcolor2.h:$(GLSRC)gsgstate.h +$(GLSRC)gxcolor2.h:$(GLSRC)stdint_.h +$(GLSRC)gxcolor2.h:$(GLSRC)gssprintf.h $(GLSRC)gxcolor2.h:$(GLSRC)gsccode.h -$(GLSRC)gxcolor2.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxcolor2.h:$(GLSRC)stdio_.h -$(GLSRC)gxcolor2.h:$(GLSRC)gstypes.h $(GLSRC)gxcolor2.h:$(GLSRC)std.h +$(GLSRC)gxcolor2.h:$(GLSRC)gstypes.h $(GLSRC)gxcolor2.h:$(GLSRC)stdpre.h $(GLSRC)gxcolor2.h:$(GLGEN)arch.h -$(GLSRC)gxcolor2.h:$(GLSRC)gssprintf.h $(GLSRC)gxclist.h:$(GLSRC)gxgstate.h -$(GLSRC)gxclist.h:$(GLSRC)gstrans.h $(GLSRC)gxclist.h:$(GLSRC)gxline.h +$(GLSRC)gxclist.h:$(GLSRC)gstrans.h $(GLSRC)gxclist.h:$(GLSRC)gsht1.h -$(GLSRC)gxclist.h:$(GLSRC)gxcomp.h $(GLSRC)gxclist.h:$(GLSRC)math_.h $(GLSRC)gxclist.h:$(GLSRC)gdevp14.h $(GLSRC)gxclist.h:$(GLSRC)gxcolor2.h $(GLSRC)gxclist.h:$(GLSRC)gxpcolor.h $(GLSRC)gxclist.h:$(GLSRC)gdevdevn.h +$(GLSRC)gxclist.h:$(GLSRC)gsequivc.h $(GLSRC)gxclist.h:$(GLSRC)gxblend.h +$(GLSRC)gxclist.h:$(GLSRC)gxclipsr.h +$(GLSRC)gxclist.h:$(GLSRC)gxcomp.h +$(GLSRC)gxclist.h:$(GLSRC)gxdcolor.h $(GLSRC)gxclist.h:$(GLSRC)gxmatrix.h +$(GLSRC)gxclist.h:$(GLSRC)gxbitfmt.h $(GLSRC)gxclist.h:$(GLSRC)gxdevbuf.h $(GLSRC)gxclist.h:$(GLSRC)gxband.h -$(GLSRC)gxclist.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gxclist.h:$(GLSRC)gsequivc.h -$(GLSRC)gxclist.h:$(GLSRC)gxclipsr.h $(GLSRC)gxclist.h:$(GLSRC)gscolor2.h +$(GLSRC)gxclist.h:$(GLSRC)gscindex.h $(GLSRC)gxclist.h:$(GLSRC)gxdevice.h -$(GLSRC)gxclist.h:$(GLSRC)gxcpath.h $(GLSRC)gxclist.h:$(GLSRC)gsht.h +$(GLSRC)gxclist.h:$(GLSRC)gxcpath.h $(GLSRC)gxclist.h:$(GLSRC)gxdevmem.h +$(GLSRC)gxclist.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclist.h:$(GLSRC)gxpcache.h -$(GLSRC)gxclist.h:$(GLSRC)gscindex.h $(GLSRC)gxclist.h:$(GLSRC)gsptype1.h -$(GLSRC)gxclist.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclist.h:$(GLSRC)gxtext.h -$(GLSRC)gxclist.h:$(GLSRC)gspcolor.h +$(GLSRC)gxclist.h:$(GLSRC)gscie.h $(GLSRC)gxclist.h:$(GLSRC)gstext.h -$(GLSRC)gxclist.h:$(GLSRC)gxdcolor.h +$(GLSRC)gxclist.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclist.h:$(GLSRC)gstparam.h -$(GLSRC)gxclist.h:$(GLSRC)gscie.h $(GLSRC)gxclist.h:$(GLSRC)gxstate.h -$(GLSRC)gxclist.h:$(GLSRC)gxcmap.h -$(GLSRC)gxclist.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxclist.h:$(GLSRC)gspcolor.h +$(GLSRC)gxclist.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclist.h:$(GLSRC)gxcspace.h $(GLSRC)gxclist.h:$(GLSRC)gsropt.h $(GLSRC)gxclist.h:$(GLSRC)gsfunc.h -$(GLSRC)gxclist.h:$(GLSRC)gxctable.h -$(GLSRC)gxclist.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxclist.h:$(GLSRC)gsmalloc.h $(GLSRC)gxclist.h:$(GLSRC)gxrplane.h -$(GLSRC)gxclist.h:$(GLSRC)gxcspace.h -$(GLSRC)gxclist.h:$(GLSRC)gxiclass.h -$(GLSRC)gxclist.h:$(GLSRC)gxclio.h -$(GLSRC)gxclist.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclist.h:$(GLSRC)gxctable.h +$(GLSRC)gxclist.h:$(GLSRC)gsuid.h +$(GLSRC)gxclist.h:$(GLSRC)gxcmap.h +$(GLSRC)gxclist.h:$(GLSRC)gsimage.h +$(GLSRC)gxclist.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxclist.h:$(GLSRC)gxdda.h +$(GLSRC)gxclist.h:$(GLSRC)gxcvalue.h $(GLSRC)gxclist.h:$(GLSRC)gsfont.h $(GLSRC)gxclist.h:$(GLSRC)gxfmap.h -$(GLSRC)gxclist.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxclist.h:$(GLSRC)gxpath.h -$(GLSRC)gxclist.h:$(GLSRC)gspenum.h -$(GLSRC)gxclist.h:$(GLSRC)gxtmap.h -$(GLSRC)gxclist.h:$(GLSRC)gsimage.h +$(GLSRC)gxclist.h:$(GLSRC)gxiclass.h +$(GLSRC)gxclist.h:$(GLSRC)gxftype.h $(GLSRC)gxclist.h:$(GLSRC)gxfrac.h -$(GLSRC)gxclist.h:$(GLSRC)gxdda.h -$(GLSRC)gxclist.h:$(GLSRC)gslparam.h -$(GLSRC)gxclist.h:$(GLSRC)gxbcache.h -$(GLSRC)gxclist.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxclist.h:$(GLSRC)gsrect.h $(GLSRC)gxclist.h:$(GLSRC)gscms.h -$(GLSRC)gxclist.h:$(GLSRC)gxftype.h -$(GLSRC)gxclist.h:$(GLSRC)gsdevice.h $(GLSRC)gxclist.h:$(GLSRC)gscspace.h -$(GLSRC)gxclist.h:$(GLSRC)gsuid.h +$(GLSRC)gxclist.h:$(GLSRC)gxpath.h +$(GLSRC)gxclist.h:$(GLSRC)gxbcache.h +$(GLSRC)gxclist.h:$(GLSRC)gsdevice.h $(GLSRC)gxclist.h:$(GLSRC)gxarith.h -$(GLSRC)gxclist.h:$(GLSRC)gsdsrc.h $(GLSRC)gxclist.h:$(GLSRC)gxstdio.h +$(GLSRC)gxclist.h:$(GLSRC)gspenum.h +$(GLSRC)gxclist.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclist.h:$(GLSRC)gsrect.h +$(GLSRC)gxclist.h:$(GLSRC)gslparam.h $(GLSRC)gxclist.h:$(GLSRC)gsxfont.h -$(GLSRC)gxclist.h:$(GLSRC)gxfixed.h -$(GLSRC)gxclist.h:$(GLSRC)gsrefct.h -$(GLSRC)gxclist.h:$(GLSRC)gscpm.h +$(GLSRC)gxclist.h:$(GLSRC)gxclio.h $(GLSRC)gxclist.h:$(GLSRC)gsiparam.h -$(GLSRC)gxclist.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclist.h:$(GLSRC)gsdsrc.h $(GLSRC)gxclist.h:$(GLSRC)gsio.h -$(GLSRC)gxclist.h:$(GLSRC)gp.h -$(GLSRC)gxclist.h:$(GLSRC)memento.h -$(GLSRC)gxclist.h:$(GLSRC)gsparam.h -$(GLSRC)gxclist.h:$(GLSRC)gsmatrix.h $(GLSRC)gxclist.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxclist.h:$(GLSRC)srdline.h +$(GLSRC)gxclist.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxclist.h:$(GLSRC)gscpm.h +$(GLSRC)gxclist.h:$(GLSRC)gxfixed.h +$(GLSRC)gxclist.h:$(GLSRC)gsrefct.h +$(GLSRC)gxclist.h:$(GLSRC)gsparam.h +$(GLSRC)gxclist.h:$(GLSRC)gp.h +$(GLSRC)gxclist.h:$(GLSRC)gsccolor.h $(GLSRC)gxclist.h:$(GLSRC)gsstruct.h $(GLSRC)gxclist.h:$(GLSRC)gxsync.h +$(GLSRC)gxclist.h:$(GLSRC)srdline.h +$(GLSRC)gxclist.h:$(GLSRC)scommon.h +$(GLSRC)gxclist.h:$(GLSRC)memento.h $(GLSRC)gxclist.h:$(GLSRC)vmsmath.h $(GLSRC)gxclist.h:$(GLSRC)gscsel.h -$(GLSRC)gxclist.h:$(GLSRC)scommon.h $(GLSRC)gxclist.h:$(GLSRC)gsbitmap.h $(GLSRC)gxclist.h:$(GLSRC)gsfname.h -$(GLSRC)gxclist.h:$(GLSRC)gsccolor.h $(GLSRC)gxclist.h:$(GLSRC)gsstype.h +$(GLSRC)gxclist.h:$(GLSRC)stat_.h +$(GLSRC)gxclist.h:$(GLSRC)gxtmap.h $(GLSRC)gxclist.h:$(GLSRC)gsmemory.h $(GLSRC)gxclist.h:$(GLSRC)gpsync.h -$(GLSRC)gxclist.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclist.h:$(GLSRC)memory_.h +$(GLSRC)gxclist.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclist.h:$(GLSRC)gslibctx.h $(GLSRC)gxclist.h:$(GLSRC)gscdefs.h +$(GLSRC)gxclist.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxclist.h:$(GLSRC)stdio_.h $(GLSRC)gxclist.h:$(GLSRC)gscompt.h $(GLSRC)gxclist.h:$(GLSRC)gxcindex.h -$(GLSRC)gxclist.h:$(GLSRC)stdint_.h $(GLSRC)gxclist.h:$(GLSRC)gsgstate.h +$(GLSRC)gxclist.h:$(GLSRC)stdint_.h +$(GLSRC)gxclist.h:$(GLSRC)gssprintf.h $(GLSRC)gxclist.h:$(GLSRC)gsccode.h -$(GLSRC)gxclist.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxclist.h:$(GLSRC)stdio_.h -$(GLSRC)gxclist.h:$(GLSRC)gstypes.h $(GLSRC)gxclist.h:$(GLSRC)std.h +$(GLSRC)gxclist.h:$(GLSRC)gstypes.h $(GLSRC)gxclist.h:$(GLSRC)stdpre.h $(GLSRC)gxclist.h:$(GLGEN)arch.h -$(GLSRC)gxclist.h:$(GLSRC)gssprintf.h -$(GLSRC)gxcspace.h:$(GLSRC)gxfrac.h $(GLSRC)gxcspace.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxcspace.h:$(GLSRC)gxfrac.h $(GLSRC)gxcspace.h:$(GLSRC)gscms.h -$(GLSRC)gxcspace.h:$(GLSRC)gsdevice.h $(GLSRC)gxcspace.h:$(GLSRC)gscspace.h +$(GLSRC)gxcspace.h:$(GLSRC)gsdevice.h $(GLSRC)gxcspace.h:$(GLSRC)gxarith.h -$(GLSRC)gxcspace.h:$(GLSRC)gsrefct.h -$(GLSRC)gxcspace.h:$(GLSRC)gsiparam.h $(GLSRC)gxcspace.h:$(GLSRC)gxhttile.h -$(GLSRC)gxcspace.h:$(GLSRC)memento.h -$(GLSRC)gxcspace.h:$(GLSRC)gsparam.h -$(GLSRC)gxcspace.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxcspace.h:$(GLSRC)gsiparam.h $(GLSRC)gxcspace.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxcspace.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxcspace.h:$(GLSRC)gsrefct.h +$(GLSRC)gxcspace.h:$(GLSRC)gsparam.h +$(GLSRC)gxcspace.h:$(GLSRC)gsccolor.h $(GLSRC)gxcspace.h:$(GLSRC)gxsync.h -$(GLSRC)gxcspace.h:$(GLSRC)gscsel.h $(GLSRC)gxcspace.h:$(GLSRC)scommon.h +$(GLSRC)gxcspace.h:$(GLSRC)memento.h +$(GLSRC)gxcspace.h:$(GLSRC)gscsel.h $(GLSRC)gxcspace.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxcspace.h:$(GLSRC)gsccolor.h $(GLSRC)gxcspace.h:$(GLSRC)gsstype.h $(GLSRC)gxcspace.h:$(GLSRC)gsmemory.h $(GLSRC)gxcspace.h:$(GLSRC)gpsync.h $(GLSRC)gxcspace.h:$(GLSRC)gslibctx.h -$(GLSRC)gxcspace.h:$(GLSRC)gxcindex.h -$(GLSRC)gxcspace.h:$(GLSRC)stdint_.h -$(GLSRC)gxcspace.h:$(GLSRC)gsgstate.h $(GLSRC)gxcspace.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxcspace.h:$(GLSRC)stdio_.h -$(GLSRC)gxcspace.h:$(GLSRC)gstypes.h +$(GLSRC)gxcspace.h:$(GLSRC)gxcindex.h +$(GLSRC)gxcspace.h:$(GLSRC)gsgstate.h +$(GLSRC)gxcspace.h:$(GLSRC)stdint_.h +$(GLSRC)gxcspace.h:$(GLSRC)gssprintf.h $(GLSRC)gxcspace.h:$(GLSRC)std.h +$(GLSRC)gxcspace.h:$(GLSRC)gstypes.h $(GLSRC)gxcspace.h:$(GLSRC)stdpre.h $(GLSRC)gxcspace.h:$(GLGEN)arch.h -$(GLSRC)gxcspace.h:$(GLSRC)gssprintf.h $(GLSRC)gxht.h:$(GLSRC)gxhttype.h $(GLSRC)gxht.h:$(GLSRC)gsht1.h $(GLSRC)gxht.h:$(GLSRC)gsht.h -$(GLSRC)gxht.h:$(GLSRC)gxtmap.h $(GLSRC)gxht.h:$(GLSRC)gscspace.h -$(GLSRC)gxht.h:$(GLSRC)gsrefct.h $(GLSRC)gxht.h:$(GLSRC)gsiparam.h -$(GLSRC)gxht.h:$(GLSRC)memento.h -$(GLSRC)gxht.h:$(GLSRC)gsmatrix.h $(GLSRC)gxht.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxht.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxht.h:$(GLSRC)gsrefct.h +$(GLSRC)gxht.h:$(GLSRC)gsccolor.h $(GLSRC)gxht.h:$(GLSRC)scommon.h +$(GLSRC)gxht.h:$(GLSRC)memento.h $(GLSRC)gxht.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxht.h:$(GLSRC)gsccolor.h $(GLSRC)gxht.h:$(GLSRC)gsstype.h +$(GLSRC)gxht.h:$(GLSRC)gxtmap.h $(GLSRC)gxht.h:$(GLSRC)gsmemory.h $(GLSRC)gxht.h:$(GLSRC)gslibctx.h -$(GLSRC)gxht.h:$(GLSRC)stdint_.h -$(GLSRC)gxht.h:$(GLSRC)gsgstate.h $(GLSRC)gxht.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxht.h:$(GLSRC)stdio_.h -$(GLSRC)gxht.h:$(GLSRC)gstypes.h +$(GLSRC)gxht.h:$(GLSRC)gsgstate.h +$(GLSRC)gxht.h:$(GLSRC)stdint_.h +$(GLSRC)gxht.h:$(GLSRC)gssprintf.h $(GLSRC)gxht.h:$(GLSRC)std.h +$(GLSRC)gxht.h:$(GLSRC)gstypes.h $(GLSRC)gxht.h:$(GLSRC)stdpre.h $(GLSRC)gxht.h:$(GLGEN)arch.h -$(GLSRC)gxht.h:$(GLSRC)gssprintf.h $(GLSRC)gxcie.h:$(GLSRC)gscie.h -$(GLSRC)gxcie.h:$(GLSRC)gxctable.h $(GLSRC)gxcie.h:$(GLSRC)gsnamecl.h $(GLSRC)gxcie.h:$(GLSRC)gxcspace.h -$(GLSRC)gxcie.h:$(GLSRC)gxfrac.h +$(GLSRC)gxcie.h:$(GLSRC)gxctable.h $(GLSRC)gxcie.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxcie.h:$(GLSRC)gxfrac.h $(GLSRC)gxcie.h:$(GLSRC)gscms.h -$(GLSRC)gxcie.h:$(GLSRC)gsdevice.h $(GLSRC)gxcie.h:$(GLSRC)gscspace.h +$(GLSRC)gxcie.h:$(GLSRC)gsdevice.h $(GLSRC)gxcie.h:$(GLSRC)gxarith.h +$(GLSRC)gxcie.h:$(GLSRC)gxhttile.h +$(GLSRC)gxcie.h:$(GLSRC)gsiparam.h +$(GLSRC)gxcie.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxcie.h:$(GLSRC)gsmatrix.h $(GLSRC)gxcie.h:$(GLSRC)gxfixed.h $(GLSRC)gxcie.h:$(GLSRC)gsrefct.h -$(GLSRC)gxcie.h:$(GLSRC)gsiparam.h -$(GLSRC)gxcie.h:$(GLSRC)gxhttile.h -$(GLSRC)gxcie.h:$(GLSRC)memento.h $(GLSRC)gxcie.h:$(GLSRC)gsparam.h -$(GLSRC)gxcie.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxcie.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxcie.h:$(GLSRC)gsccolor.h $(GLSRC)gxcie.h:$(GLSRC)gxsync.h -$(GLSRC)gxcie.h:$(GLSRC)gscsel.h $(GLSRC)gxcie.h:$(GLSRC)scommon.h +$(GLSRC)gxcie.h:$(GLSRC)memento.h +$(GLSRC)gxcie.h:$(GLSRC)gscsel.h $(GLSRC)gxcie.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxcie.h:$(GLSRC)gsccolor.h $(GLSRC)gxcie.h:$(GLSRC)gsstype.h $(GLSRC)gxcie.h:$(GLSRC)gsmemory.h $(GLSRC)gxcie.h:$(GLSRC)gpsync.h $(GLSRC)gxcie.h:$(GLSRC)gslibctx.h -$(GLSRC)gxcie.h:$(GLSRC)gxcindex.h -$(GLSRC)gxcie.h:$(GLSRC)stdint_.h -$(GLSRC)gxcie.h:$(GLSRC)gsgstate.h $(GLSRC)gxcie.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxcie.h:$(GLSRC)stdio_.h -$(GLSRC)gxcie.h:$(GLSRC)gstypes.h +$(GLSRC)gxcie.h:$(GLSRC)gxcindex.h +$(GLSRC)gxcie.h:$(GLSRC)gsgstate.h +$(GLSRC)gxcie.h:$(GLSRC)stdint_.h +$(GLSRC)gxcie.h:$(GLSRC)gssprintf.h $(GLSRC)gxcie.h:$(GLSRC)std.h +$(GLSRC)gxcie.h:$(GLSRC)gstypes.h $(GLSRC)gxcie.h:$(GLSRC)stdpre.h $(GLSRC)gxcie.h:$(GLGEN)arch.h -$(GLSRC)gxcie.h:$(GLSRC)gssprintf.h -$(GLSRC)gxht_thresh.h:$(GLSRC)gxiclass.h $(GLSRC)gxht_thresh.h:$(GLSRC)gxdda.h +$(GLSRC)gxht_thresh.h:$(GLSRC)gxiclass.h $(GLSRC)gxht_thresh.h:$(GLSRC)gsdevice.h -$(GLSRC)gxht_thresh.h:$(GLSRC)gxfixed.h $(GLSRC)gxht_thresh.h:$(GLSRC)gsiparam.h -$(GLSRC)gxht_thresh.h:$(GLSRC)gsparam.h -$(GLSRC)gxht_thresh.h:$(GLSRC)gsmatrix.h $(GLSRC)gxht_thresh.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxht_thresh.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxht_thresh.h:$(GLSRC)gxfixed.h +$(GLSRC)gxht_thresh.h:$(GLSRC)gsparam.h +$(GLSRC)gxht_thresh.h:$(GLSRC)gsccolor.h $(GLSRC)gxht_thresh.h:$(GLSRC)scommon.h $(GLSRC)gxht_thresh.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxht_thresh.h:$(GLSRC)gsccolor.h $(GLSRC)gxht_thresh.h:$(GLSRC)gsstype.h $(GLSRC)gxht_thresh.h:$(GLSRC)gsmemory.h $(GLSRC)gxht_thresh.h:$(GLSRC)gslibctx.h -$(GLSRC)gxht_thresh.h:$(GLSRC)stdint_.h -$(GLSRC)gxht_thresh.h:$(GLSRC)gsgstate.h $(GLSRC)gxht_thresh.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxht_thresh.h:$(GLSRC)stdio_.h -$(GLSRC)gxht_thresh.h:$(GLSRC)gstypes.h +$(GLSRC)gxht_thresh.h:$(GLSRC)gsgstate.h +$(GLSRC)gxht_thresh.h:$(GLSRC)stdint_.h +$(GLSRC)gxht_thresh.h:$(GLSRC)gssprintf.h $(GLSRC)gxht_thresh.h:$(GLSRC)std.h +$(GLSRC)gxht_thresh.h:$(GLSRC)gstypes.h $(GLSRC)gxht_thresh.h:$(GLSRC)stdpre.h $(GLSRC)gxht_thresh.h:$(GLGEN)arch.h -$(GLSRC)gxht_thresh.h:$(GLSRC)gssprintf.h $(GLSRC)gxpcolor.h:$(GLSRC)gxblend.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxdcolor.h $(GLSRC)gxpcolor.h:$(GLSRC)gxdevice.h $(GLSRC)gxpcolor.h:$(GLSRC)gxcpath.h $(GLSRC)gxpcolor.h:$(GLSRC)gxdevmem.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxpcache.h $(GLSRC)gxpcolor.h:$(GLSRC)gxdevcli.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxpcache.h $(GLSRC)gxpcolor.h:$(GLSRC)gxtext.h -$(GLSRC)gxpcolor.h:$(GLSRC)gspcolor.h $(GLSRC)gxpcolor.h:$(GLSRC)gstext.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxdcolor.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsnamecl.h $(GLSRC)gxpcolor.h:$(GLSRC)gstparam.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxcmap.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxpcolor.h:$(GLSRC)gspcolor.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxfcache.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxcspace.h $(GLSRC)gxpcolor.h:$(GLSRC)gsropt.h $(GLSRC)gxpcolor.h:$(GLSRC)gsfunc.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsmalloc.h $(GLSRC)gxpcolor.h:$(GLSRC)gxrplane.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxcspace.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxiclass.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxfcache.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsuid.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxcmap.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsimage.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxdda.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxcvalue.h $(GLSRC)gxpcolor.h:$(GLSRC)gsfont.h $(GLSRC)gxpcolor.h:$(GLSRC)gxfmap.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxpath.h -$(GLSRC)gxpcolor.h:$(GLSRC)gspenum.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxtmap.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsimage.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxiclass.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxftype.h $(GLSRC)gxpcolor.h:$(GLSRC)gxfrac.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxdda.h -$(GLSRC)gxpcolor.h:$(GLSRC)gslparam.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxbcache.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsrect.h $(GLSRC)gxpcolor.h:$(GLSRC)gscms.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxftype.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsdevice.h $(GLSRC)gxpcolor.h:$(GLSRC)gscspace.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsuid.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxpath.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxbcache.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsdevice.h $(GLSRC)gxpcolor.h:$(GLSRC)gxarith.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsdsrc.h $(GLSRC)gxpcolor.h:$(GLSRC)gxstdio.h +$(GLSRC)gxpcolor.h:$(GLSRC)gspenum.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxhttile.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsrect.h +$(GLSRC)gxpcolor.h:$(GLSRC)gslparam.h $(GLSRC)gxpcolor.h:$(GLSRC)gsxfont.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxfixed.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsrefct.h -$(GLSRC)gxpcolor.h:$(GLSRC)gscpm.h $(GLSRC)gxpcolor.h:$(GLSRC)gsiparam.h -$(GLSRC)gxpcolor.h:$(GLSRC)gxhttile.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsdsrc.h $(GLSRC)gxpcolor.h:$(GLSRC)gsio.h -$(GLSRC)gxpcolor.h:$(GLSRC)gp.h -$(GLSRC)gxpcolor.h:$(GLSRC)memento.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsparam.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsmatrix.h $(GLSRC)gxpcolor.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxpcolor.h:$(GLSRC)srdline.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxpcolor.h:$(GLSRC)gscpm.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxfixed.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsrefct.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsparam.h +$(GLSRC)gxpcolor.h:$(GLSRC)gp.h +$(GLSRC)gxpcolor.h:$(GLSRC)gsccolor.h $(GLSRC)gxpcolor.h:$(GLSRC)gsstruct.h $(GLSRC)gxpcolor.h:$(GLSRC)gxsync.h -$(GLSRC)gxpcolor.h:$(GLSRC)gscsel.h +$(GLSRC)gxpcolor.h:$(GLSRC)srdline.h $(GLSRC)gxpcolor.h:$(GLSRC)scommon.h +$(GLSRC)gxpcolor.h:$(GLSRC)memento.h +$(GLSRC)gxpcolor.h:$(GLSRC)gscsel.h $(GLSRC)gxpcolor.h:$(GLSRC)gsbitmap.h $(GLSRC)gxpcolor.h:$(GLSRC)gsfname.h -$(GLSRC)gxpcolor.h:$(GLSRC)gsccolor.h $(GLSRC)gxpcolor.h:$(GLSRC)gsstype.h +$(GLSRC)gxpcolor.h:$(GLSRC)stat_.h +$(GLSRC)gxpcolor.h:$(GLSRC)gxtmap.h $(GLSRC)gxpcolor.h:$(GLSRC)gsmemory.h $(GLSRC)gxpcolor.h:$(GLSRC)gpsync.h -$(GLSRC)gxpcolor.h:$(GLSRC)gpgetenv.h $(GLSRC)gxpcolor.h:$(GLSRC)memory_.h +$(GLSRC)gxpcolor.h:$(GLSRC)gpgetenv.h $(GLSRC)gxpcolor.h:$(GLSRC)gslibctx.h $(GLSRC)gxpcolor.h:$(GLSRC)gscdefs.h +$(GLSRC)gxpcolor.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxpcolor.h:$(GLSRC)stdio_.h $(GLSRC)gxpcolor.h:$(GLSRC)gscompt.h $(GLSRC)gxpcolor.h:$(GLSRC)gxcindex.h -$(GLSRC)gxpcolor.h:$(GLSRC)stdint_.h $(GLSRC)gxpcolor.h:$(GLSRC)gsgstate.h +$(GLSRC)gxpcolor.h:$(GLSRC)stdint_.h +$(GLSRC)gxpcolor.h:$(GLSRC)gssprintf.h $(GLSRC)gxpcolor.h:$(GLSRC)gsccode.h -$(GLSRC)gxpcolor.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxpcolor.h:$(GLSRC)stdio_.h -$(GLSRC)gxpcolor.h:$(GLSRC)gstypes.h $(GLSRC)gxpcolor.h:$(GLSRC)std.h +$(GLSRC)gxpcolor.h:$(GLSRC)gstypes.h $(GLSRC)gxpcolor.h:$(GLSRC)stdpre.h $(GLSRC)gxpcolor.h:$(GLGEN)arch.h -$(GLSRC)gxpcolor.h:$(GLSRC)gssprintf.h $(GLSRC)gscolor.h:$(GLSRC)gxtmap.h $(GLSRC)gscolor.h:$(GLSRC)gsgstate.h $(GLSRC)gscolor.h:$(GLSRC)stdpre.h $(GLSRC)gsstate.h:$(GLSRC)gsovrc.h $(GLSRC)gsstate.h:$(GLSRC)gscolor.h -$(GLSRC)gsstate.h:$(GLSRC)gsline.h $(GLSRC)gsstate.h:$(GLSRC)gxcomp.h +$(GLSRC)gsstate.h:$(GLSRC)gsline.h $(GLSRC)gsstate.h:$(GLSRC)gxbitfmt.h $(GLSRC)gsstate.h:$(GLSRC)gsht.h -$(GLSRC)gsstate.h:$(GLSRC)gxtmap.h -$(GLSRC)gsstate.h:$(GLSRC)gslparam.h $(GLSRC)gsstate.h:$(GLSRC)gsdevice.h -$(GLSRC)gsstate.h:$(GLSRC)gsrefct.h +$(GLSRC)gsstate.h:$(GLSRC)gslparam.h +$(GLSRC)gsstate.h:$(GLSRC)gsmatrix.h $(GLSRC)gsstate.h:$(GLSRC)gscpm.h -$(GLSRC)gsstate.h:$(GLSRC)memento.h +$(GLSRC)gsstate.h:$(GLSRC)gsrefct.h $(GLSRC)gsstate.h:$(GLSRC)gsparam.h -$(GLSRC)gsstate.h:$(GLSRC)gsmatrix.h -$(GLSRC)gsstate.h:$(GLSRC)gscsel.h $(GLSRC)gsstate.h:$(GLSRC)scommon.h +$(GLSRC)gsstate.h:$(GLSRC)memento.h +$(GLSRC)gsstate.h:$(GLSRC)gscsel.h $(GLSRC)gsstate.h:$(GLSRC)gsstype.h +$(GLSRC)gsstate.h:$(GLSRC)gxtmap.h $(GLSRC)gsstate.h:$(GLSRC)gsmemory.h $(GLSRC)gsstate.h:$(GLSRC)gslibctx.h +$(GLSRC)gsstate.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gsstate.h:$(GLSRC)stdio_.h $(GLSRC)gsstate.h:$(GLSRC)gscompt.h $(GLSRC)gsstate.h:$(GLSRC)gxcindex.h -$(GLSRC)gsstate.h:$(GLSRC)stdint_.h $(GLSRC)gsstate.h:$(GLSRC)gsgstate.h -$(GLSRC)gsstate.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gsstate.h:$(GLSRC)stdio_.h -$(GLSRC)gsstate.h:$(GLSRC)gstypes.h +$(GLSRC)gsstate.h:$(GLSRC)stdint_.h +$(GLSRC)gsstate.h:$(GLSRC)gssprintf.h $(GLSRC)gsstate.h:$(GLSRC)std.h +$(GLSRC)gsstate.h:$(GLSRC)gstypes.h $(GLSRC)gsstate.h:$(GLSRC)stdpre.h $(GLSRC)gsstate.h:$(GLGEN)arch.h -$(GLSRC)gsstate.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_create.h:$(GLSRC)gscie.h $(GLSRC)gsicc_create.h:$(GLSRC)gxctable.h $(GLSRC)gsicc_create.h:$(GLSRC)gxfrac.h $(GLSRC)gsicc_create.h:$(GLSRC)gscspace.h -$(GLSRC)gsicc_create.h:$(GLSRC)gxfixed.h -$(GLSRC)gsicc_create.h:$(GLSRC)gsrefct.h $(GLSRC)gsicc_create.h:$(GLSRC)gsiparam.h -$(GLSRC)gsicc_create.h:$(GLSRC)memento.h -$(GLSRC)gsicc_create.h:$(GLSRC)gsmatrix.h $(GLSRC)gsicc_create.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsicc_create.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsicc_create.h:$(GLSRC)gxfixed.h +$(GLSRC)gsicc_create.h:$(GLSRC)gsrefct.h +$(GLSRC)gsicc_create.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_create.h:$(GLSRC)scommon.h +$(GLSRC)gsicc_create.h:$(GLSRC)memento.h $(GLSRC)gsicc_create.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsicc_create.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_create.h:$(GLSRC)gsstype.h $(GLSRC)gsicc_create.h:$(GLSRC)gsmemory.h $(GLSRC)gsicc_create.h:$(GLSRC)gslibctx.h -$(GLSRC)gsicc_create.h:$(GLSRC)stdint_.h -$(GLSRC)gsicc_create.h:$(GLSRC)gsgstate.h $(GLSRC)gsicc_create.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsicc_create.h:$(GLSRC)stdio_.h -$(GLSRC)gsicc_create.h:$(GLSRC)gstypes.h +$(GLSRC)gsicc_create.h:$(GLSRC)gsgstate.h +$(GLSRC)gsicc_create.h:$(GLSRC)stdint_.h +$(GLSRC)gsicc_create.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_create.h:$(GLSRC)std.h +$(GLSRC)gsicc_create.h:$(GLSRC)gstypes.h $(GLSRC)gsicc_create.h:$(GLSRC)stdpre.h $(GLSRC)gsicc_create.h:$(GLGEN)arch.h -$(GLSRC)gsicc_create.h:$(GLSRC)gssprintf.h $(GLSRC)gximdecode.h:$(GLSRC)gximage.h $(GLSRC)gximdecode.h:$(GLSRC)gxsample.h $(GLSRC)gximdecode.h:$(GLSRC)sisparam.h @@ -8081,215 +8177,218 @@ $(GLSRC)gximdecode.h:$(GLSRC)gxiparam.h $(GLSRC)gximdecode.h:$(GLSRC)gxdevcli.h $(GLSRC)gximdecode.h:$(GLSRC)gxtext.h $(GLSRC)gximdecode.h:$(GLSRC)gstext.h +$(GLSRC)gximdecode.h:$(GLSRC)gsnamecl.h $(GLSRC)gximdecode.h:$(GLSRC)gstparam.h -$(GLSRC)gximdecode.h:$(GLSRC)gxcmap.h +$(GLSRC)gximdecode.h:$(GLSRC)gxfcache.h +$(GLSRC)gximdecode.h:$(GLSRC)gxcspace.h $(GLSRC)gximdecode.h:$(GLSRC)gsropt.h $(GLSRC)gximdecode.h:$(GLSRC)gsfunc.h -$(GLSRC)gximdecode.h:$(GLSRC)gsnamecl.h $(GLSRC)gximdecode.h:$(GLSRC)gxrplane.h -$(GLSRC)gximdecode.h:$(GLSRC)gxcspace.h +$(GLSRC)gximdecode.h:$(GLSRC)gsuid.h +$(GLSRC)gximdecode.h:$(GLSRC)gxcmap.h $(GLSRC)gximdecode.h:$(GLSRC)strimpl.h -$(GLSRC)gximdecode.h:$(GLSRC)gxiclass.h -$(GLSRC)gximdecode.h:$(GLSRC)gxfcache.h +$(GLSRC)gximdecode.h:$(GLSRC)gsimage.h +$(GLSRC)gximdecode.h:$(GLSRC)gsdcolor.h +$(GLSRC)gximdecode.h:$(GLSRC)gxdda.h +$(GLSRC)gximdecode.h:$(GLSRC)gxcvalue.h $(GLSRC)gximdecode.h:$(GLSRC)gsfont.h $(GLSRC)gximdecode.h:$(GLSRC)gxfmap.h -$(GLSRC)gximdecode.h:$(GLSRC)gxcvalue.h -$(GLSRC)gximdecode.h:$(GLSRC)gxpath.h -$(GLSRC)gximdecode.h:$(GLSRC)gspenum.h -$(GLSRC)gximdecode.h:$(GLSRC)gxtmap.h -$(GLSRC)gximdecode.h:$(GLSRC)gsimage.h +$(GLSRC)gximdecode.h:$(GLSRC)gxiclass.h +$(GLSRC)gximdecode.h:$(GLSRC)gxftype.h $(GLSRC)gximdecode.h:$(GLSRC)gxfrac.h -$(GLSRC)gximdecode.h:$(GLSRC)gxdda.h -$(GLSRC)gximdecode.h:$(GLSRC)gslparam.h -$(GLSRC)gximdecode.h:$(GLSRC)gxbcache.h -$(GLSRC)gximdecode.h:$(GLSRC)gsdcolor.h -$(GLSRC)gximdecode.h:$(GLSRC)gsrect.h $(GLSRC)gximdecode.h:$(GLSRC)gscms.h -$(GLSRC)gximdecode.h:$(GLSRC)gxftype.h -$(GLSRC)gximdecode.h:$(GLSRC)gsdevice.h $(GLSRC)gximdecode.h:$(GLSRC)gscspace.h -$(GLSRC)gximdecode.h:$(GLSRC)gsuid.h +$(GLSRC)gximdecode.h:$(GLSRC)gxpath.h +$(GLSRC)gximdecode.h:$(GLSRC)gxbcache.h +$(GLSRC)gximdecode.h:$(GLSRC)gsdevice.h $(GLSRC)gximdecode.h:$(GLSRC)gxarith.h -$(GLSRC)gximdecode.h:$(GLSRC)gsdsrc.h +$(GLSRC)gximdecode.h:$(GLSRC)gspenum.h +$(GLSRC)gximdecode.h:$(GLSRC)gxhttile.h +$(GLSRC)gximdecode.h:$(GLSRC)gsrect.h +$(GLSRC)gximdecode.h:$(GLSRC)gslparam.h $(GLSRC)gximdecode.h:$(GLSRC)gsxfont.h -$(GLSRC)gximdecode.h:$(GLSRC)gxfixed.h -$(GLSRC)gximdecode.h:$(GLSRC)gsrefct.h -$(GLSRC)gximdecode.h:$(GLSRC)gscpm.h $(GLSRC)gximdecode.h:$(GLSRC)gsiparam.h -$(GLSRC)gximdecode.h:$(GLSRC)gxhttile.h +$(GLSRC)gximdecode.h:$(GLSRC)gsdsrc.h $(GLSRC)gximdecode.h:$(GLSRC)gsio.h -$(GLSRC)gximdecode.h:$(GLSRC)gp.h -$(GLSRC)gximdecode.h:$(GLSRC)memento.h -$(GLSRC)gximdecode.h:$(GLSRC)gsparam.h -$(GLSRC)gximdecode.h:$(GLSRC)gsmatrix.h $(GLSRC)gximdecode.h:$(GLSRC)gxbitmap.h +$(GLSRC)gximdecode.h:$(GLSRC)gsmatrix.h +$(GLSRC)gximdecode.h:$(GLSRC)gscpm.h +$(GLSRC)gximdecode.h:$(GLSRC)gxfixed.h +$(GLSRC)gximdecode.h:$(GLSRC)gsrefct.h +$(GLSRC)gximdecode.h:$(GLSRC)gsparam.h +$(GLSRC)gximdecode.h:$(GLSRC)gp.h +$(GLSRC)gximdecode.h:$(GLSRC)gsccolor.h +$(GLSRC)gximdecode.h:$(GLSRC)gsstruct.h +$(GLSRC)gximdecode.h:$(GLSRC)gxsync.h $(GLSRC)gximdecode.h:$(GLSRC)gdbflags.h $(GLSRC)gximdecode.h:$(GLSRC)srdline.h -$(GLSRC)gximdecode.h:$(GLSRC)gsstruct.h $(GLSRC)gximdecode.h:$(GLSRC)gserrors.h -$(GLSRC)gximdecode.h:$(GLSRC)gxsync.h -$(GLSRC)gximdecode.h:$(GLSRC)gscsel.h $(GLSRC)gximdecode.h:$(GLSRC)scommon.h +$(GLSRC)gximdecode.h:$(GLSRC)memento.h +$(GLSRC)gximdecode.h:$(GLSRC)gscsel.h $(GLSRC)gximdecode.h:$(GLSRC)gsbitmap.h -$(GLSRC)gximdecode.h:$(GLSRC)gsccolor.h $(GLSRC)gximdecode.h:$(GLSRC)gsstype.h +$(GLSRC)gximdecode.h:$(GLSRC)stat_.h +$(GLSRC)gximdecode.h:$(GLSRC)gxtmap.h $(GLSRC)gximdecode.h:$(GLSRC)gsmemory.h $(GLSRC)gximdecode.h:$(GLSRC)gpsync.h -$(GLSRC)gximdecode.h:$(GLSRC)gpgetenv.h $(GLSRC)gximdecode.h:$(GLSRC)memory_.h +$(GLSRC)gximdecode.h:$(GLSRC)gpgetenv.h $(GLSRC)gximdecode.h:$(GLSRC)gslibctx.h $(GLSRC)gximdecode.h:$(GLSRC)gscdefs.h +$(GLSRC)gximdecode.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gximdecode.h:$(GLSRC)stdio_.h $(GLSRC)gximdecode.h:$(GLSRC)gscompt.h $(GLSRC)gximdecode.h:$(GLSRC)gxcindex.h -$(GLSRC)gximdecode.h:$(GLSRC)stdint_.h $(GLSRC)gximdecode.h:$(GLSRC)gsgstate.h +$(GLSRC)gximdecode.h:$(GLSRC)stdint_.h +$(GLSRC)gximdecode.h:$(GLSRC)gssprintf.h $(GLSRC)gximdecode.h:$(GLSRC)gsccode.h -$(GLSRC)gximdecode.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gximdecode.h:$(GLSRC)stdio_.h -$(GLSRC)gximdecode.h:$(GLSRC)gstypes.h $(GLSRC)gximdecode.h:$(GLSRC)std.h +$(GLSRC)gximdecode.h:$(GLSRC)gstypes.h $(GLSRC)gximdecode.h:$(GLSRC)stdpre.h $(GLSRC)gximdecode.h:$(GLGEN)arch.h -$(GLSRC)gximdecode.h:$(GLSRC)gssprintf.h $(GLSRC)gzacpath.h:$(GLSRC)gxcpath.h $(GLSRC)gzacpath.h:$(GLSRC)gxdevcli.h $(GLSRC)gzacpath.h:$(GLSRC)gxtext.h $(GLSRC)gzacpath.h:$(GLSRC)gstext.h +$(GLSRC)gzacpath.h:$(GLSRC)gsnamecl.h $(GLSRC)gzacpath.h:$(GLSRC)gstparam.h -$(GLSRC)gzacpath.h:$(GLSRC)gxcmap.h +$(GLSRC)gzacpath.h:$(GLSRC)gxfcache.h +$(GLSRC)gzacpath.h:$(GLSRC)gxcspace.h $(GLSRC)gzacpath.h:$(GLSRC)gsropt.h $(GLSRC)gzacpath.h:$(GLSRC)gsfunc.h -$(GLSRC)gzacpath.h:$(GLSRC)gsnamecl.h $(GLSRC)gzacpath.h:$(GLSRC)gxrplane.h -$(GLSRC)gzacpath.h:$(GLSRC)gxcspace.h -$(GLSRC)gzacpath.h:$(GLSRC)gxfcache.h +$(GLSRC)gzacpath.h:$(GLSRC)gsuid.h +$(GLSRC)gzacpath.h:$(GLSRC)gxcmap.h +$(GLSRC)gzacpath.h:$(GLSRC)gsimage.h +$(GLSRC)gzacpath.h:$(GLSRC)gsdcolor.h +$(GLSRC)gzacpath.h:$(GLSRC)gxdda.h +$(GLSRC)gzacpath.h:$(GLSRC)gxcvalue.h $(GLSRC)gzacpath.h:$(GLSRC)gsfont.h $(GLSRC)gzacpath.h:$(GLSRC)gxfmap.h -$(GLSRC)gzacpath.h:$(GLSRC)gxcvalue.h -$(GLSRC)gzacpath.h:$(GLSRC)gxpath.h -$(GLSRC)gzacpath.h:$(GLSRC)gspenum.h -$(GLSRC)gzacpath.h:$(GLSRC)gxtmap.h -$(GLSRC)gzacpath.h:$(GLSRC)gsimage.h +$(GLSRC)gzacpath.h:$(GLSRC)gxftype.h $(GLSRC)gzacpath.h:$(GLSRC)gxfrac.h -$(GLSRC)gzacpath.h:$(GLSRC)gxdda.h -$(GLSRC)gzacpath.h:$(GLSRC)gslparam.h -$(GLSRC)gzacpath.h:$(GLSRC)gxbcache.h -$(GLSRC)gzacpath.h:$(GLSRC)gsdcolor.h -$(GLSRC)gzacpath.h:$(GLSRC)gsrect.h $(GLSRC)gzacpath.h:$(GLSRC)gscms.h -$(GLSRC)gzacpath.h:$(GLSRC)gxftype.h -$(GLSRC)gzacpath.h:$(GLSRC)gsdevice.h $(GLSRC)gzacpath.h:$(GLSRC)gscspace.h -$(GLSRC)gzacpath.h:$(GLSRC)gsuid.h +$(GLSRC)gzacpath.h:$(GLSRC)gxpath.h +$(GLSRC)gzacpath.h:$(GLSRC)gxbcache.h +$(GLSRC)gzacpath.h:$(GLSRC)gsdevice.h $(GLSRC)gzacpath.h:$(GLSRC)gxarith.h -$(GLSRC)gzacpath.h:$(GLSRC)gsdsrc.h +$(GLSRC)gzacpath.h:$(GLSRC)gspenum.h +$(GLSRC)gzacpath.h:$(GLSRC)gxhttile.h +$(GLSRC)gzacpath.h:$(GLSRC)gsrect.h +$(GLSRC)gzacpath.h:$(GLSRC)gslparam.h $(GLSRC)gzacpath.h:$(GLSRC)gsxfont.h +$(GLSRC)gzacpath.h:$(GLSRC)gsiparam.h +$(GLSRC)gzacpath.h:$(GLSRC)gsdsrc.h +$(GLSRC)gzacpath.h:$(GLSRC)gxbitmap.h +$(GLSRC)gzacpath.h:$(GLSRC)gsmatrix.h +$(GLSRC)gzacpath.h:$(GLSRC)gscpm.h $(GLSRC)gzacpath.h:$(GLSRC)gxfixed.h $(GLSRC)gzacpath.h:$(GLSRC)gsrefct.h -$(GLSRC)gzacpath.h:$(GLSRC)gscpm.h -$(GLSRC)gzacpath.h:$(GLSRC)gsiparam.h -$(GLSRC)gzacpath.h:$(GLSRC)gxhttile.h -$(GLSRC)gzacpath.h:$(GLSRC)gp.h -$(GLSRC)gzacpath.h:$(GLSRC)memento.h $(GLSRC)gzacpath.h:$(GLSRC)gsparam.h -$(GLSRC)gzacpath.h:$(GLSRC)gsmatrix.h -$(GLSRC)gzacpath.h:$(GLSRC)gxbitmap.h -$(GLSRC)gzacpath.h:$(GLSRC)srdline.h +$(GLSRC)gzacpath.h:$(GLSRC)gp.h +$(GLSRC)gzacpath.h:$(GLSRC)gsccolor.h $(GLSRC)gzacpath.h:$(GLSRC)gsstruct.h $(GLSRC)gzacpath.h:$(GLSRC)gxsync.h -$(GLSRC)gzacpath.h:$(GLSRC)gscsel.h +$(GLSRC)gzacpath.h:$(GLSRC)srdline.h $(GLSRC)gzacpath.h:$(GLSRC)scommon.h +$(GLSRC)gzacpath.h:$(GLSRC)memento.h +$(GLSRC)gzacpath.h:$(GLSRC)gscsel.h $(GLSRC)gzacpath.h:$(GLSRC)gsbitmap.h -$(GLSRC)gzacpath.h:$(GLSRC)gsccolor.h $(GLSRC)gzacpath.h:$(GLSRC)gsstype.h +$(GLSRC)gzacpath.h:$(GLSRC)stat_.h +$(GLSRC)gzacpath.h:$(GLSRC)gxtmap.h $(GLSRC)gzacpath.h:$(GLSRC)gsmemory.h $(GLSRC)gzacpath.h:$(GLSRC)gpsync.h -$(GLSRC)gzacpath.h:$(GLSRC)gpgetenv.h $(GLSRC)gzacpath.h:$(GLSRC)memory_.h +$(GLSRC)gzacpath.h:$(GLSRC)gpgetenv.h $(GLSRC)gzacpath.h:$(GLSRC)gslibctx.h $(GLSRC)gzacpath.h:$(GLSRC)gscdefs.h +$(GLSRC)gzacpath.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gzacpath.h:$(GLSRC)stdio_.h $(GLSRC)gzacpath.h:$(GLSRC)gscompt.h $(GLSRC)gzacpath.h:$(GLSRC)gxcindex.h -$(GLSRC)gzacpath.h:$(GLSRC)stdint_.h $(GLSRC)gzacpath.h:$(GLSRC)gsgstate.h +$(GLSRC)gzacpath.h:$(GLSRC)stdint_.h +$(GLSRC)gzacpath.h:$(GLSRC)gssprintf.h $(GLSRC)gzacpath.h:$(GLSRC)gsccode.h -$(GLSRC)gzacpath.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gzacpath.h:$(GLSRC)stdio_.h -$(GLSRC)gzacpath.h:$(GLSRC)gstypes.h $(GLSRC)gzacpath.h:$(GLSRC)std.h +$(GLSRC)gzacpath.h:$(GLSRC)gstypes.h $(GLSRC)gzacpath.h:$(GLSRC)stdpre.h $(GLSRC)gzacpath.h:$(GLGEN)arch.h -$(GLSRC)gzacpath.h:$(GLSRC)gssprintf.h $(GLSRC)gzcpath.h:$(GLSRC)gzpath.h $(GLSRC)gzcpath.h:$(GLSRC)gxcpath.h $(GLSRC)gzcpath.h:$(GLSRC)gxdevcli.h $(GLSRC)gzcpath.h:$(GLSRC)gxtext.h $(GLSRC)gzcpath.h:$(GLSRC)gstext.h +$(GLSRC)gzcpath.h:$(GLSRC)gsnamecl.h $(GLSRC)gzcpath.h:$(GLSRC)gstparam.h -$(GLSRC)gzcpath.h:$(GLSRC)gxcmap.h +$(GLSRC)gzcpath.h:$(GLSRC)gxfcache.h +$(GLSRC)gzcpath.h:$(GLSRC)gxcspace.h $(GLSRC)gzcpath.h:$(GLSRC)gsropt.h $(GLSRC)gzcpath.h:$(GLSRC)gsfunc.h -$(GLSRC)gzcpath.h:$(GLSRC)gsnamecl.h $(GLSRC)gzcpath.h:$(GLSRC)gxrplane.h -$(GLSRC)gzcpath.h:$(GLSRC)gxcspace.h -$(GLSRC)gzcpath.h:$(GLSRC)gxfcache.h +$(GLSRC)gzcpath.h:$(GLSRC)gsuid.h +$(GLSRC)gzcpath.h:$(GLSRC)gxcmap.h +$(GLSRC)gzcpath.h:$(GLSRC)gsimage.h +$(GLSRC)gzcpath.h:$(GLSRC)gsdcolor.h +$(GLSRC)gzcpath.h:$(GLSRC)gxdda.h +$(GLSRC)gzcpath.h:$(GLSRC)gxcvalue.h $(GLSRC)gzcpath.h:$(GLSRC)gsfont.h $(GLSRC)gzcpath.h:$(GLSRC)gxfmap.h -$(GLSRC)gzcpath.h:$(GLSRC)gxcvalue.h -$(GLSRC)gzcpath.h:$(GLSRC)gxpath.h -$(GLSRC)gzcpath.h:$(GLSRC)gspenum.h -$(GLSRC)gzcpath.h:$(GLSRC)gxtmap.h -$(GLSRC)gzcpath.h:$(GLSRC)gsimage.h +$(GLSRC)gzcpath.h:$(GLSRC)gxftype.h $(GLSRC)gzcpath.h:$(GLSRC)gxfrac.h -$(GLSRC)gzcpath.h:$(GLSRC)gxdda.h -$(GLSRC)gzcpath.h:$(GLSRC)gslparam.h -$(GLSRC)gzcpath.h:$(GLSRC)gxbcache.h -$(GLSRC)gzcpath.h:$(GLSRC)gsdcolor.h -$(GLSRC)gzcpath.h:$(GLSRC)gsrect.h $(GLSRC)gzcpath.h:$(GLSRC)gscms.h -$(GLSRC)gzcpath.h:$(GLSRC)gxftype.h -$(GLSRC)gzcpath.h:$(GLSRC)gsdevice.h $(GLSRC)gzcpath.h:$(GLSRC)gscspace.h -$(GLSRC)gzcpath.h:$(GLSRC)gsuid.h +$(GLSRC)gzcpath.h:$(GLSRC)gxpath.h +$(GLSRC)gzcpath.h:$(GLSRC)gxbcache.h +$(GLSRC)gzcpath.h:$(GLSRC)gsdevice.h $(GLSRC)gzcpath.h:$(GLSRC)gxarith.h -$(GLSRC)gzcpath.h:$(GLSRC)gsdsrc.h +$(GLSRC)gzcpath.h:$(GLSRC)gspenum.h +$(GLSRC)gzcpath.h:$(GLSRC)gxhttile.h +$(GLSRC)gzcpath.h:$(GLSRC)gsrect.h +$(GLSRC)gzcpath.h:$(GLSRC)gslparam.h $(GLSRC)gzcpath.h:$(GLSRC)gsxfont.h +$(GLSRC)gzcpath.h:$(GLSRC)gsiparam.h +$(GLSRC)gzcpath.h:$(GLSRC)gsdsrc.h +$(GLSRC)gzcpath.h:$(GLSRC)gxbitmap.h +$(GLSRC)gzcpath.h:$(GLSRC)gsmatrix.h +$(GLSRC)gzcpath.h:$(GLSRC)gscpm.h $(GLSRC)gzcpath.h:$(GLSRC)gxfixed.h $(GLSRC)gzcpath.h:$(GLSRC)gsrefct.h -$(GLSRC)gzcpath.h:$(GLSRC)gscpm.h -$(GLSRC)gzcpath.h:$(GLSRC)gsiparam.h -$(GLSRC)gzcpath.h:$(GLSRC)gxhttile.h -$(GLSRC)gzcpath.h:$(GLSRC)gp.h -$(GLSRC)gzcpath.h:$(GLSRC)memento.h $(GLSRC)gzcpath.h:$(GLSRC)gsparam.h -$(GLSRC)gzcpath.h:$(GLSRC)gsmatrix.h -$(GLSRC)gzcpath.h:$(GLSRC)gxbitmap.h -$(GLSRC)gzcpath.h:$(GLSRC)srdline.h +$(GLSRC)gzcpath.h:$(GLSRC)gp.h +$(GLSRC)gzcpath.h:$(GLSRC)gsccolor.h $(GLSRC)gzcpath.h:$(GLSRC)gsstruct.h $(GLSRC)gzcpath.h:$(GLSRC)gxsync.h -$(GLSRC)gzcpath.h:$(GLSRC)gscsel.h +$(GLSRC)gzcpath.h:$(GLSRC)srdline.h $(GLSRC)gzcpath.h:$(GLSRC)scommon.h +$(GLSRC)gzcpath.h:$(GLSRC)memento.h +$(GLSRC)gzcpath.h:$(GLSRC)gscsel.h $(GLSRC)gzcpath.h:$(GLSRC)gsbitmap.h -$(GLSRC)gzcpath.h:$(GLSRC)gsccolor.h $(GLSRC)gzcpath.h:$(GLSRC)gsstype.h +$(GLSRC)gzcpath.h:$(GLSRC)stat_.h +$(GLSRC)gzcpath.h:$(GLSRC)gxtmap.h $(GLSRC)gzcpath.h:$(GLSRC)gsmemory.h $(GLSRC)gzcpath.h:$(GLSRC)gpsync.h -$(GLSRC)gzcpath.h:$(GLSRC)gpgetenv.h $(GLSRC)gzcpath.h:$(GLSRC)memory_.h +$(GLSRC)gzcpath.h:$(GLSRC)gpgetenv.h $(GLSRC)gzcpath.h:$(GLSRC)gslibctx.h $(GLSRC)gzcpath.h:$(GLSRC)gscdefs.h +$(GLSRC)gzcpath.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gzcpath.h:$(GLSRC)stdio_.h $(GLSRC)gzcpath.h:$(GLSRC)gscompt.h $(GLSRC)gzcpath.h:$(GLSRC)gxcindex.h -$(GLSRC)gzcpath.h:$(GLSRC)stdint_.h $(GLSRC)gzcpath.h:$(GLSRC)gsgstate.h +$(GLSRC)gzcpath.h:$(GLSRC)stdint_.h +$(GLSRC)gzcpath.h:$(GLSRC)gssprintf.h $(GLSRC)gzcpath.h:$(GLSRC)gsccode.h -$(GLSRC)gzcpath.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gzcpath.h:$(GLSRC)stdio_.h -$(GLSRC)gzcpath.h:$(GLSRC)gstypes.h $(GLSRC)gzcpath.h:$(GLSRC)std.h +$(GLSRC)gzcpath.h:$(GLSRC)gstypes.h $(GLSRC)gzcpath.h:$(GLSRC)stdpre.h $(GLSRC)gzcpath.h:$(GLGEN)arch.h -$(GLSRC)gzcpath.h:$(GLSRC)gssprintf.h $(GLSRC)gzht.h:$(GLSRC)gxdht.h $(GLSRC)gzht.h:$(GLSRC)gxht.h $(GLSRC)gzht.h:$(GLSRC)gxhttype.h @@ -8298,372 +8397,376 @@ $(GLSRC)gzht.h:$(GLSRC)gsht.h $(GLSRC)gzht.h:$(GLSRC)gxdevcli.h $(GLSRC)gzht.h:$(GLSRC)gxtext.h $(GLSRC)gzht.h:$(GLSRC)gstext.h +$(GLSRC)gzht.h:$(GLSRC)gsnamecl.h $(GLSRC)gzht.h:$(GLSRC)gstparam.h -$(GLSRC)gzht.h:$(GLSRC)gxcmap.h +$(GLSRC)gzht.h:$(GLSRC)gxfcache.h +$(GLSRC)gzht.h:$(GLSRC)gxcspace.h $(GLSRC)gzht.h:$(GLSRC)gsropt.h $(GLSRC)gzht.h:$(GLSRC)gsfunc.h -$(GLSRC)gzht.h:$(GLSRC)gsnamecl.h $(GLSRC)gzht.h:$(GLSRC)gxrplane.h -$(GLSRC)gzht.h:$(GLSRC)gxcspace.h -$(GLSRC)gzht.h:$(GLSRC)gxfcache.h +$(GLSRC)gzht.h:$(GLSRC)gsuid.h +$(GLSRC)gzht.h:$(GLSRC)gxcmap.h +$(GLSRC)gzht.h:$(GLSRC)gsimage.h +$(GLSRC)gzht.h:$(GLSRC)gsdcolor.h +$(GLSRC)gzht.h:$(GLSRC)gxdda.h +$(GLSRC)gzht.h:$(GLSRC)gxcvalue.h $(GLSRC)gzht.h:$(GLSRC)gsfont.h $(GLSRC)gzht.h:$(GLSRC)gxfmap.h -$(GLSRC)gzht.h:$(GLSRC)gxcvalue.h -$(GLSRC)gzht.h:$(GLSRC)gxpath.h -$(GLSRC)gzht.h:$(GLSRC)gspenum.h -$(GLSRC)gzht.h:$(GLSRC)gxtmap.h -$(GLSRC)gzht.h:$(GLSRC)gsimage.h +$(GLSRC)gzht.h:$(GLSRC)gxftype.h $(GLSRC)gzht.h:$(GLSRC)gxfrac.h -$(GLSRC)gzht.h:$(GLSRC)gxdda.h -$(GLSRC)gzht.h:$(GLSRC)gslparam.h -$(GLSRC)gzht.h:$(GLSRC)gxbcache.h -$(GLSRC)gzht.h:$(GLSRC)gsdcolor.h -$(GLSRC)gzht.h:$(GLSRC)gsrect.h $(GLSRC)gzht.h:$(GLSRC)gscms.h -$(GLSRC)gzht.h:$(GLSRC)gxftype.h -$(GLSRC)gzht.h:$(GLSRC)gsdevice.h $(GLSRC)gzht.h:$(GLSRC)gscspace.h -$(GLSRC)gzht.h:$(GLSRC)gsuid.h +$(GLSRC)gzht.h:$(GLSRC)gxpath.h +$(GLSRC)gzht.h:$(GLSRC)gxbcache.h +$(GLSRC)gzht.h:$(GLSRC)gsdevice.h $(GLSRC)gzht.h:$(GLSRC)gxarith.h -$(GLSRC)gzht.h:$(GLSRC)gsdsrc.h +$(GLSRC)gzht.h:$(GLSRC)gspenum.h +$(GLSRC)gzht.h:$(GLSRC)gxhttile.h +$(GLSRC)gzht.h:$(GLSRC)gsrect.h +$(GLSRC)gzht.h:$(GLSRC)gslparam.h $(GLSRC)gzht.h:$(GLSRC)gsxfont.h +$(GLSRC)gzht.h:$(GLSRC)gsiparam.h +$(GLSRC)gzht.h:$(GLSRC)gsdsrc.h +$(GLSRC)gzht.h:$(GLSRC)gxbitmap.h +$(GLSRC)gzht.h:$(GLSRC)gsmatrix.h +$(GLSRC)gzht.h:$(GLSRC)gscpm.h $(GLSRC)gzht.h:$(GLSRC)gxfixed.h $(GLSRC)gzht.h:$(GLSRC)gsrefct.h -$(GLSRC)gzht.h:$(GLSRC)gscpm.h -$(GLSRC)gzht.h:$(GLSRC)gsiparam.h -$(GLSRC)gzht.h:$(GLSRC)gxhttile.h -$(GLSRC)gzht.h:$(GLSRC)gp.h -$(GLSRC)gzht.h:$(GLSRC)memento.h $(GLSRC)gzht.h:$(GLSRC)gsparam.h -$(GLSRC)gzht.h:$(GLSRC)gsmatrix.h -$(GLSRC)gzht.h:$(GLSRC)gxbitmap.h -$(GLSRC)gzht.h:$(GLSRC)srdline.h +$(GLSRC)gzht.h:$(GLSRC)gp.h +$(GLSRC)gzht.h:$(GLSRC)gsccolor.h $(GLSRC)gzht.h:$(GLSRC)gsstruct.h $(GLSRC)gzht.h:$(GLSRC)gxsync.h -$(GLSRC)gzht.h:$(GLSRC)gscsel.h +$(GLSRC)gzht.h:$(GLSRC)srdline.h $(GLSRC)gzht.h:$(GLSRC)scommon.h +$(GLSRC)gzht.h:$(GLSRC)memento.h +$(GLSRC)gzht.h:$(GLSRC)gscsel.h $(GLSRC)gzht.h:$(GLSRC)gsbitmap.h -$(GLSRC)gzht.h:$(GLSRC)gsccolor.h $(GLSRC)gzht.h:$(GLSRC)gsstype.h +$(GLSRC)gzht.h:$(GLSRC)stat_.h +$(GLSRC)gzht.h:$(GLSRC)gxtmap.h $(GLSRC)gzht.h:$(GLSRC)gsmemory.h $(GLSRC)gzht.h:$(GLSRC)gpsync.h -$(GLSRC)gzht.h:$(GLSRC)gpgetenv.h $(GLSRC)gzht.h:$(GLSRC)memory_.h +$(GLSRC)gzht.h:$(GLSRC)gpgetenv.h $(GLSRC)gzht.h:$(GLSRC)gslibctx.h $(GLSRC)gzht.h:$(GLSRC)gscdefs.h +$(GLSRC)gzht.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gzht.h:$(GLSRC)stdio_.h $(GLSRC)gzht.h:$(GLSRC)gscompt.h $(GLSRC)gzht.h:$(GLSRC)gxcindex.h -$(GLSRC)gzht.h:$(GLSRC)stdint_.h $(GLSRC)gzht.h:$(GLSRC)gsgstate.h +$(GLSRC)gzht.h:$(GLSRC)stdint_.h +$(GLSRC)gzht.h:$(GLSRC)gssprintf.h $(GLSRC)gzht.h:$(GLSRC)gsccode.h -$(GLSRC)gzht.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gzht.h:$(GLSRC)stdio_.h -$(GLSRC)gzht.h:$(GLSRC)gstypes.h $(GLSRC)gzht.h:$(GLSRC)std.h +$(GLSRC)gzht.h:$(GLSRC)gstypes.h $(GLSRC)gzht.h:$(GLSRC)stdpre.h $(GLSRC)gzht.h:$(GLGEN)arch.h -$(GLSRC)gzht.h:$(GLSRC)gssprintf.h $(GLSRC)gzline.h:$(GLSRC)gxline.h $(GLSRC)gzline.h:$(GLSRC)math_.h $(GLSRC)gzline.h:$(GLSRC)gslparam.h $(GLSRC)gzline.h:$(GLSRC)gsmatrix.h -$(GLSRC)gzline.h:$(GLSRC)vmsmath.h $(GLSRC)gzline.h:$(GLSRC)scommon.h +$(GLSRC)gzline.h:$(GLSRC)vmsmath.h $(GLSRC)gzline.h:$(GLSRC)gsstype.h $(GLSRC)gzline.h:$(GLSRC)gsmemory.h $(GLSRC)gzline.h:$(GLSRC)gslibctx.h -$(GLSRC)gzline.h:$(GLSRC)stdint_.h -$(GLSRC)gzline.h:$(GLSRC)gsgstate.h $(GLSRC)gzline.h:$(GLSRC)gs_dll_call.h $(GLSRC)gzline.h:$(GLSRC)stdio_.h -$(GLSRC)gzline.h:$(GLSRC)gstypes.h +$(GLSRC)gzline.h:$(GLSRC)gsgstate.h +$(GLSRC)gzline.h:$(GLSRC)stdint_.h +$(GLSRC)gzline.h:$(GLSRC)gssprintf.h $(GLSRC)gzline.h:$(GLSRC)std.h +$(GLSRC)gzline.h:$(GLSRC)gstypes.h $(GLSRC)gzline.h:$(GLSRC)stdpre.h $(GLSRC)gzline.h:$(GLGEN)arch.h -$(GLSRC)gzline.h:$(GLSRC)gssprintf.h $(GLSRC)gzpath.h:$(GLSRC)gxpath.h $(GLSRC)gzpath.h:$(GLSRC)gspenum.h -$(GLSRC)gzpath.h:$(GLSRC)gslparam.h $(GLSRC)gzpath.h:$(GLSRC)gsrect.h +$(GLSRC)gzpath.h:$(GLSRC)gslparam.h +$(GLSRC)gzpath.h:$(GLSRC)gsmatrix.h +$(GLSRC)gzpath.h:$(GLSRC)gscpm.h $(GLSRC)gzpath.h:$(GLSRC)gxfixed.h $(GLSRC)gzpath.h:$(GLSRC)gsrefct.h -$(GLSRC)gzpath.h:$(GLSRC)gscpm.h -$(GLSRC)gzpath.h:$(GLSRC)memento.h -$(GLSRC)gzpath.h:$(GLSRC)gsmatrix.h $(GLSRC)gzpath.h:$(GLSRC)scommon.h +$(GLSRC)gzpath.h:$(GLSRC)memento.h $(GLSRC)gzpath.h:$(GLSRC)gsstype.h $(GLSRC)gzpath.h:$(GLSRC)gsmemory.h $(GLSRC)gzpath.h:$(GLSRC)gslibctx.h -$(GLSRC)gzpath.h:$(GLSRC)stdint_.h -$(GLSRC)gzpath.h:$(GLSRC)gsgstate.h $(GLSRC)gzpath.h:$(GLSRC)gs_dll_call.h $(GLSRC)gzpath.h:$(GLSRC)stdio_.h -$(GLSRC)gzpath.h:$(GLSRC)gstypes.h +$(GLSRC)gzpath.h:$(GLSRC)gsgstate.h +$(GLSRC)gzpath.h:$(GLSRC)stdint_.h +$(GLSRC)gzpath.h:$(GLSRC)gssprintf.h $(GLSRC)gzpath.h:$(GLSRC)std.h +$(GLSRC)gzpath.h:$(GLSRC)gstypes.h $(GLSRC)gzpath.h:$(GLSRC)stdpre.h $(GLSRC)gzpath.h:$(GLGEN)arch.h -$(GLSRC)gzpath.h:$(GLSRC)gssprintf.h $(GLSRC)gzstate.h:$(GLSRC)gsstate.h $(GLSRC)gzstate.h:$(GLSRC)gsovrc.h $(GLSRC)gzstate.h:$(GLSRC)gxgstate.h -$(GLSRC)gzstate.h:$(GLSRC)gstrans.h $(GLSRC)gzstate.h:$(GLSRC)gxline.h -$(GLSRC)gzstate.h:$(GLSRC)gsht1.h +$(GLSRC)gzstate.h:$(GLSRC)gstrans.h $(GLSRC)gzstate.h:$(GLSRC)gscolor.h -$(GLSRC)gzstate.h:$(GLSRC)gsline.h -$(GLSRC)gzstate.h:$(GLSRC)gxcomp.h +$(GLSRC)gzstate.h:$(GLSRC)gsht1.h $(GLSRC)gzstate.h:$(GLSRC)math_.h $(GLSRC)gzstate.h:$(GLSRC)gdevp14.h $(GLSRC)gzstate.h:$(GLSRC)gxcolor2.h $(GLSRC)gzstate.h:$(GLSRC)gxpcolor.h $(GLSRC)gzstate.h:$(GLSRC)gdevdevn.h +$(GLSRC)gzstate.h:$(GLSRC)gsequivc.h $(GLSRC)gzstate.h:$(GLSRC)gxblend.h +$(GLSRC)gzstate.h:$(GLSRC)gxclipsr.h +$(GLSRC)gzstate.h:$(GLSRC)gxcomp.h +$(GLSRC)gzstate.h:$(GLSRC)gsline.h +$(GLSRC)gzstate.h:$(GLSRC)gxdcolor.h $(GLSRC)gzstate.h:$(GLSRC)gxmatrix.h $(GLSRC)gzstate.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gzstate.h:$(GLSRC)gsequivc.h -$(GLSRC)gzstate.h:$(GLSRC)gxclipsr.h $(GLSRC)gzstate.h:$(GLSRC)gscolor2.h +$(GLSRC)gzstate.h:$(GLSRC)gscindex.h $(GLSRC)gzstate.h:$(GLSRC)gxdevice.h -$(GLSRC)gzstate.h:$(GLSRC)gxcpath.h $(GLSRC)gzstate.h:$(GLSRC)gsht.h +$(GLSRC)gzstate.h:$(GLSRC)gxcpath.h $(GLSRC)gzstate.h:$(GLSRC)gxdevmem.h +$(GLSRC)gzstate.h:$(GLSRC)gxdevcli.h $(GLSRC)gzstate.h:$(GLSRC)gxpcache.h -$(GLSRC)gzstate.h:$(GLSRC)gscindex.h $(GLSRC)gzstate.h:$(GLSRC)gsptype1.h -$(GLSRC)gzstate.h:$(GLSRC)gxdevcli.h $(GLSRC)gzstate.h:$(GLSRC)gxtext.h -$(GLSRC)gzstate.h:$(GLSRC)gspcolor.h +$(GLSRC)gzstate.h:$(GLSRC)gscie.h $(GLSRC)gzstate.h:$(GLSRC)gstext.h -$(GLSRC)gzstate.h:$(GLSRC)gxdcolor.h +$(GLSRC)gzstate.h:$(GLSRC)gsnamecl.h $(GLSRC)gzstate.h:$(GLSRC)gstparam.h -$(GLSRC)gzstate.h:$(GLSRC)gscie.h $(GLSRC)gzstate.h:$(GLSRC)gxstate.h -$(GLSRC)gzstate.h:$(GLSRC)gxcmap.h -$(GLSRC)gzstate.h:$(GLSRC)gsmalloc.h +$(GLSRC)gzstate.h:$(GLSRC)gspcolor.h +$(GLSRC)gzstate.h:$(GLSRC)gxfcache.h +$(GLSRC)gzstate.h:$(GLSRC)gxcspace.h $(GLSRC)gzstate.h:$(GLSRC)gsropt.h $(GLSRC)gzstate.h:$(GLSRC)gsfunc.h -$(GLSRC)gzstate.h:$(GLSRC)gxctable.h -$(GLSRC)gzstate.h:$(GLSRC)gsnamecl.h +$(GLSRC)gzstate.h:$(GLSRC)gsmalloc.h $(GLSRC)gzstate.h:$(GLSRC)gxrplane.h -$(GLSRC)gzstate.h:$(GLSRC)gxcspace.h -$(GLSRC)gzstate.h:$(GLSRC)gxiclass.h -$(GLSRC)gzstate.h:$(GLSRC)gxfcache.h +$(GLSRC)gzstate.h:$(GLSRC)gxctable.h +$(GLSRC)gzstate.h:$(GLSRC)gsuid.h +$(GLSRC)gzstate.h:$(GLSRC)gxcmap.h +$(GLSRC)gzstate.h:$(GLSRC)gsimage.h +$(GLSRC)gzstate.h:$(GLSRC)gsdcolor.h +$(GLSRC)gzstate.h:$(GLSRC)gxdda.h +$(GLSRC)gzstate.h:$(GLSRC)gxcvalue.h $(GLSRC)gzstate.h:$(GLSRC)gsfont.h $(GLSRC)gzstate.h:$(GLSRC)gxfmap.h -$(GLSRC)gzstate.h:$(GLSRC)gxcvalue.h -$(GLSRC)gzstate.h:$(GLSRC)gxpath.h -$(GLSRC)gzstate.h:$(GLSRC)gspenum.h -$(GLSRC)gzstate.h:$(GLSRC)gxtmap.h -$(GLSRC)gzstate.h:$(GLSRC)gsimage.h +$(GLSRC)gzstate.h:$(GLSRC)gxiclass.h +$(GLSRC)gzstate.h:$(GLSRC)gxftype.h $(GLSRC)gzstate.h:$(GLSRC)gxfrac.h -$(GLSRC)gzstate.h:$(GLSRC)gxdda.h -$(GLSRC)gzstate.h:$(GLSRC)gslparam.h -$(GLSRC)gzstate.h:$(GLSRC)gxbcache.h -$(GLSRC)gzstate.h:$(GLSRC)gsdcolor.h -$(GLSRC)gzstate.h:$(GLSRC)gsrect.h $(GLSRC)gzstate.h:$(GLSRC)gscms.h -$(GLSRC)gzstate.h:$(GLSRC)gxftype.h -$(GLSRC)gzstate.h:$(GLSRC)gsdevice.h $(GLSRC)gzstate.h:$(GLSRC)gscspace.h -$(GLSRC)gzstate.h:$(GLSRC)gsuid.h +$(GLSRC)gzstate.h:$(GLSRC)gxpath.h +$(GLSRC)gzstate.h:$(GLSRC)gxbcache.h +$(GLSRC)gzstate.h:$(GLSRC)gsdevice.h $(GLSRC)gzstate.h:$(GLSRC)gxarith.h -$(GLSRC)gzstate.h:$(GLSRC)gsdsrc.h $(GLSRC)gzstate.h:$(GLSRC)gxstdio.h +$(GLSRC)gzstate.h:$(GLSRC)gspenum.h +$(GLSRC)gzstate.h:$(GLSRC)gxhttile.h +$(GLSRC)gzstate.h:$(GLSRC)gsrect.h +$(GLSRC)gzstate.h:$(GLSRC)gslparam.h $(GLSRC)gzstate.h:$(GLSRC)gsxfont.h -$(GLSRC)gzstate.h:$(GLSRC)gxfixed.h -$(GLSRC)gzstate.h:$(GLSRC)gsrefct.h -$(GLSRC)gzstate.h:$(GLSRC)gscpm.h $(GLSRC)gzstate.h:$(GLSRC)gsiparam.h -$(GLSRC)gzstate.h:$(GLSRC)gxhttile.h +$(GLSRC)gzstate.h:$(GLSRC)gsdsrc.h $(GLSRC)gzstate.h:$(GLSRC)gsio.h -$(GLSRC)gzstate.h:$(GLSRC)gp.h -$(GLSRC)gzstate.h:$(GLSRC)memento.h -$(GLSRC)gzstate.h:$(GLSRC)gsparam.h -$(GLSRC)gzstate.h:$(GLSRC)gsmatrix.h $(GLSRC)gzstate.h:$(GLSRC)gxbitmap.h -$(GLSRC)gzstate.h:$(GLSRC)srdline.h +$(GLSRC)gzstate.h:$(GLSRC)gsmatrix.h +$(GLSRC)gzstate.h:$(GLSRC)gscpm.h +$(GLSRC)gzstate.h:$(GLSRC)gxfixed.h +$(GLSRC)gzstate.h:$(GLSRC)gsrefct.h +$(GLSRC)gzstate.h:$(GLSRC)gsparam.h +$(GLSRC)gzstate.h:$(GLSRC)gp.h +$(GLSRC)gzstate.h:$(GLSRC)gsccolor.h $(GLSRC)gzstate.h:$(GLSRC)gsstruct.h $(GLSRC)gzstate.h:$(GLSRC)gxsync.h +$(GLSRC)gzstate.h:$(GLSRC)srdline.h +$(GLSRC)gzstate.h:$(GLSRC)scommon.h +$(GLSRC)gzstate.h:$(GLSRC)memento.h $(GLSRC)gzstate.h:$(GLSRC)vmsmath.h $(GLSRC)gzstate.h:$(GLSRC)gscsel.h -$(GLSRC)gzstate.h:$(GLSRC)scommon.h $(GLSRC)gzstate.h:$(GLSRC)gsbitmap.h $(GLSRC)gzstate.h:$(GLSRC)gsfname.h -$(GLSRC)gzstate.h:$(GLSRC)gsccolor.h $(GLSRC)gzstate.h:$(GLSRC)gsstype.h +$(GLSRC)gzstate.h:$(GLSRC)stat_.h +$(GLSRC)gzstate.h:$(GLSRC)gxtmap.h $(GLSRC)gzstate.h:$(GLSRC)gsmemory.h $(GLSRC)gzstate.h:$(GLSRC)gpsync.h -$(GLSRC)gzstate.h:$(GLSRC)gpgetenv.h $(GLSRC)gzstate.h:$(GLSRC)memory_.h +$(GLSRC)gzstate.h:$(GLSRC)gpgetenv.h $(GLSRC)gzstate.h:$(GLSRC)gslibctx.h $(GLSRC)gzstate.h:$(GLSRC)gscdefs.h +$(GLSRC)gzstate.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gzstate.h:$(GLSRC)stdio_.h $(GLSRC)gzstate.h:$(GLSRC)gscompt.h $(GLSRC)gzstate.h:$(GLSRC)gxcindex.h -$(GLSRC)gzstate.h:$(GLSRC)stdint_.h $(GLSRC)gzstate.h:$(GLSRC)gsgstate.h +$(GLSRC)gzstate.h:$(GLSRC)stdint_.h +$(GLSRC)gzstate.h:$(GLSRC)gssprintf.h $(GLSRC)gzstate.h:$(GLSRC)gsccode.h -$(GLSRC)gzstate.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gzstate.h:$(GLSRC)stdio_.h -$(GLSRC)gzstate.h:$(GLSRC)gstypes.h $(GLSRC)gzstate.h:$(GLSRC)std.h +$(GLSRC)gzstate.h:$(GLSRC)gstypes.h $(GLSRC)gzstate.h:$(GLSRC)stdpre.h $(GLSRC)gzstate.h:$(GLGEN)arch.h -$(GLSRC)gzstate.h:$(GLSRC)gssprintf.h $(GLSRC)gdevbbox.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevbbox.h:$(GLSRC)gxtext.h $(GLSRC)gdevbbox.h:$(GLSRC)gstext.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevbbox.h:$(GLSRC)gstparam.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxcspace.h $(GLSRC)gdevbbox.h:$(GLSRC)gsropt.h $(GLSRC)gdevbbox.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevbbox.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsuid.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsimage.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxdda.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevbbox.h:$(GLSRC)gsfont.h $(GLSRC)gdevbbox.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxpath.h -$(GLSRC)gdevbbox.h:$(GLSRC)gspenum.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsimage.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxftype.h $(GLSRC)gdevbbox.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxdda.h -$(GLSRC)gdevbbox.h:$(GLSRC)gslparam.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsrect.h $(GLSRC)gdevbbox.h:$(GLSRC)gscms.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxftype.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsdevice.h $(GLSRC)gdevbbox.h:$(GLSRC)gscspace.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsuid.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxpath.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsdevice.h $(GLSRC)gdevbbox.h:$(GLSRC)gxarith.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevbbox.h:$(GLSRC)gspenum.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsrect.h +$(GLSRC)gdevbbox.h:$(GLSRC)gslparam.h $(GLSRC)gdevbbox.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevbbox.h:$(GLSRC)gscpm.h $(GLSRC)gdevbbox.h:$(GLSRC)gxfixed.h $(GLSRC)gdevbbox.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevbbox.h:$(GLSRC)gscpm.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevbbox.h:$(GLSRC)gp.h -$(GLSRC)gdevbbox.h:$(GLSRC)memento.h $(GLSRC)gdevbbox.h:$(GLSRC)gsparam.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevbbox.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevbbox.h:$(GLSRC)srdline.h +$(GLSRC)gdevbbox.h:$(GLSRC)gp.h +$(GLSRC)gdevbbox.h:$(GLSRC)gsccolor.h $(GLSRC)gdevbbox.h:$(GLSRC)gsstruct.h $(GLSRC)gdevbbox.h:$(GLSRC)gxsync.h -$(GLSRC)gdevbbox.h:$(GLSRC)gscsel.h +$(GLSRC)gdevbbox.h:$(GLSRC)srdline.h $(GLSRC)gdevbbox.h:$(GLSRC)scommon.h +$(GLSRC)gdevbbox.h:$(GLSRC)memento.h +$(GLSRC)gdevbbox.h:$(GLSRC)gscsel.h $(GLSRC)gdevbbox.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevbbox.h:$(GLSRC)gsccolor.h $(GLSRC)gdevbbox.h:$(GLSRC)gsstype.h +$(GLSRC)gdevbbox.h:$(GLSRC)stat_.h +$(GLSRC)gdevbbox.h:$(GLSRC)gxtmap.h $(GLSRC)gdevbbox.h:$(GLSRC)gsmemory.h $(GLSRC)gdevbbox.h:$(GLSRC)gpsync.h -$(GLSRC)gdevbbox.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevbbox.h:$(GLSRC)memory_.h +$(GLSRC)gdevbbox.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevbbox.h:$(GLSRC)gslibctx.h $(GLSRC)gdevbbox.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevbbox.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevbbox.h:$(GLSRC)stdio_.h $(GLSRC)gdevbbox.h:$(GLSRC)gscompt.h $(GLSRC)gdevbbox.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevbbox.h:$(GLSRC)stdint_.h $(GLSRC)gdevbbox.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevbbox.h:$(GLSRC)stdint_.h +$(GLSRC)gdevbbox.h:$(GLSRC)gssprintf.h $(GLSRC)gdevbbox.h:$(GLSRC)gsccode.h -$(GLSRC)gdevbbox.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevbbox.h:$(GLSRC)stdio_.h -$(GLSRC)gdevbbox.h:$(GLSRC)gstypes.h $(GLSRC)gdevbbox.h:$(GLSRC)std.h +$(GLSRC)gdevbbox.h:$(GLSRC)gstypes.h $(GLSRC)gdevbbox.h:$(GLSRC)stdpre.h $(GLSRC)gdevbbox.h:$(GLGEN)arch.h -$(GLSRC)gdevbbox.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmem.h:$(GLSRC)gxbitops.h $(GLSRC)gdevmem.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevmem.h:$(GLSRC)gxtext.h $(GLSRC)gdevmem.h:$(GLSRC)gstext.h +$(GLSRC)gdevmem.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevmem.h:$(GLSRC)gstparam.h -$(GLSRC)gdevmem.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevmem.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevmem.h:$(GLSRC)gxcspace.h $(GLSRC)gdevmem.h:$(GLSRC)gsropt.h $(GLSRC)gdevmem.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevmem.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevmem.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevmem.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevmem.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevmem.h:$(GLSRC)gsuid.h +$(GLSRC)gdevmem.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevmem.h:$(GLSRC)gsimage.h +$(GLSRC)gdevmem.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevmem.h:$(GLSRC)gxdda.h +$(GLSRC)gdevmem.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevmem.h:$(GLSRC)gsfont.h $(GLSRC)gdevmem.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevmem.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevmem.h:$(GLSRC)gxpath.h -$(GLSRC)gdevmem.h:$(GLSRC)gspenum.h -$(GLSRC)gdevmem.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevmem.h:$(GLSRC)gsimage.h +$(GLSRC)gdevmem.h:$(GLSRC)gxftype.h $(GLSRC)gdevmem.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevmem.h:$(GLSRC)gxdda.h -$(GLSRC)gdevmem.h:$(GLSRC)gslparam.h -$(GLSRC)gdevmem.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevmem.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevmem.h:$(GLSRC)gsrect.h $(GLSRC)gdevmem.h:$(GLSRC)gscms.h -$(GLSRC)gdevmem.h:$(GLSRC)gxftype.h -$(GLSRC)gdevmem.h:$(GLSRC)gsdevice.h $(GLSRC)gdevmem.h:$(GLSRC)gscspace.h -$(GLSRC)gdevmem.h:$(GLSRC)gsuid.h +$(GLSRC)gdevmem.h:$(GLSRC)gxpath.h +$(GLSRC)gdevmem.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevmem.h:$(GLSRC)gsdevice.h $(GLSRC)gdevmem.h:$(GLSRC)gxarith.h -$(GLSRC)gdevmem.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevmem.h:$(GLSRC)gspenum.h +$(GLSRC)gdevmem.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevmem.h:$(GLSRC)gsrect.h +$(GLSRC)gdevmem.h:$(GLSRC)gslparam.h $(GLSRC)gdevmem.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevmem.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevmem.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevmem.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevmem.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevmem.h:$(GLSRC)gscpm.h $(GLSRC)gdevmem.h:$(GLSRC)gxfixed.h $(GLSRC)gdevmem.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevmem.h:$(GLSRC)gscpm.h -$(GLSRC)gdevmem.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevmem.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevmem.h:$(GLSRC)gp.h -$(GLSRC)gdevmem.h:$(GLSRC)memento.h $(GLSRC)gdevmem.h:$(GLSRC)gsparam.h -$(GLSRC)gdevmem.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevmem.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevmem.h:$(GLSRC)srdline.h +$(GLSRC)gdevmem.h:$(GLSRC)gp.h +$(GLSRC)gdevmem.h:$(GLSRC)gsccolor.h $(GLSRC)gdevmem.h:$(GLSRC)gsstruct.h $(GLSRC)gdevmem.h:$(GLSRC)gxsync.h -$(GLSRC)gdevmem.h:$(GLSRC)gscsel.h +$(GLSRC)gdevmem.h:$(GLSRC)srdline.h $(GLSRC)gdevmem.h:$(GLSRC)scommon.h +$(GLSRC)gdevmem.h:$(GLSRC)memento.h +$(GLSRC)gdevmem.h:$(GLSRC)gscsel.h $(GLSRC)gdevmem.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevmem.h:$(GLSRC)gsccolor.h $(GLSRC)gdevmem.h:$(GLSRC)gsstype.h +$(GLSRC)gdevmem.h:$(GLSRC)stat_.h +$(GLSRC)gdevmem.h:$(GLSRC)gxtmap.h $(GLSRC)gdevmem.h:$(GLSRC)gsmemory.h $(GLSRC)gdevmem.h:$(GLSRC)gpsync.h -$(GLSRC)gdevmem.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevmem.h:$(GLSRC)memory_.h +$(GLSRC)gdevmem.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevmem.h:$(GLSRC)gslibctx.h $(GLSRC)gdevmem.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevmem.h:$(GLSRC)gs_dll_call.h $(GLSRC)gdevmem.h:$(GLSRC)gsbitops.h +$(GLSRC)gdevmem.h:$(GLSRC)stdio_.h $(GLSRC)gdevmem.h:$(GLSRC)gscompt.h $(GLSRC)gdevmem.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevmem.h:$(GLSRC)stdint_.h $(GLSRC)gdevmem.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevmem.h:$(GLSRC)stdint_.h +$(GLSRC)gdevmem.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmem.h:$(GLSRC)gsccode.h -$(GLSRC)gdevmem.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevmem.h:$(GLSRC)stdio_.h -$(GLSRC)gdevmem.h:$(GLSRC)gstypes.h $(GLSRC)gdevmem.h:$(GLSRC)std.h +$(GLSRC)gdevmem.h:$(GLSRC)gstypes.h $(GLSRC)gdevmem.h:$(GLSRC)stdpre.h $(GLSRC)gdevmem.h:$(GLGEN)arch.h -$(GLSRC)gdevmem.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmpla.h:$(GLSRC)gxrplane.h $(GLSRC)gdevmpla.h:$(GLSRC)gsdevice.h -$(GLSRC)gdevmpla.h:$(GLSRC)gsparam.h $(GLSRC)gdevmpla.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevmpla.h:$(GLSRC)gsparam.h $(GLSRC)gdevmpla.h:$(GLSRC)scommon.h $(GLSRC)gdevmpla.h:$(GLSRC)gsstype.h $(GLSRC)gdevmpla.h:$(GLSRC)gsmemory.h $(GLSRC)gdevmpla.h:$(GLSRC)gslibctx.h -$(GLSRC)gdevmpla.h:$(GLSRC)stdint_.h -$(GLSRC)gdevmpla.h:$(GLSRC)gsgstate.h $(GLSRC)gdevmpla.h:$(GLSRC)gs_dll_call.h $(GLSRC)gdevmpla.h:$(GLSRC)stdio_.h -$(GLSRC)gdevmpla.h:$(GLSRC)gstypes.h +$(GLSRC)gdevmpla.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevmpla.h:$(GLSRC)stdint_.h +$(GLSRC)gdevmpla.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmpla.h:$(GLSRC)std.h +$(GLSRC)gdevmpla.h:$(GLSRC)gstypes.h $(GLSRC)gdevmpla.h:$(GLSRC)stdpre.h $(GLSRC)gdevmpla.h:$(GLGEN)arch.h -$(GLSRC)gdevmpla.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmrop.h:$(GLSRC)gximage.h $(GLSRC)gdevmrop.h:$(GLSRC)gxsample.h $(GLSRC)gdevmrop.h:$(GLSRC)sisparam.h @@ -8672,642 +8775,647 @@ $(GLSRC)gdevmrop.h:$(GLSRC)gxiparam.h $(GLSRC)gdevmrop.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevmrop.h:$(GLSRC)gxtext.h $(GLSRC)gdevmrop.h:$(GLSRC)gstext.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevmrop.h:$(GLSRC)gstparam.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxcspace.h $(GLSRC)gdevmrop.h:$(GLSRC)gsropt.h $(GLSRC)gdevmrop.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevmrop.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxcspace.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsuid.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxcmap.h $(GLSRC)gdevmrop.h:$(GLSRC)strimpl.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxiclass.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsimage.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxdda.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevmrop.h:$(GLSRC)gsfont.h $(GLSRC)gdevmrop.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxpath.h -$(GLSRC)gdevmrop.h:$(GLSRC)gspenum.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsimage.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxiclass.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxftype.h $(GLSRC)gdevmrop.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxdda.h -$(GLSRC)gdevmrop.h:$(GLSRC)gslparam.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsrect.h $(GLSRC)gdevmrop.h:$(GLSRC)gscms.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxftype.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsdevice.h $(GLSRC)gdevmrop.h:$(GLSRC)gscspace.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsuid.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxpath.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsdevice.h $(GLSRC)gdevmrop.h:$(GLSRC)gxarith.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevmrop.h:$(GLSRC)gspenum.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsrect.h +$(GLSRC)gdevmrop.h:$(GLSRC)gslparam.h $(GLSRC)gdevmrop.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevmrop.h:$(GLSRC)gscpm.h $(GLSRC)gdevmrop.h:$(GLSRC)gxfixed.h $(GLSRC)gdevmrop.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevmrop.h:$(GLSRC)gscpm.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevmrop.h:$(GLSRC)gp.h -$(GLSRC)gdevmrop.h:$(GLSRC)memento.h $(GLSRC)gdevmrop.h:$(GLSRC)gsparam.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevmrop.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevmrop.h:$(GLSRC)srdline.h +$(GLSRC)gdevmrop.h:$(GLSRC)gp.h +$(GLSRC)gdevmrop.h:$(GLSRC)gsccolor.h $(GLSRC)gdevmrop.h:$(GLSRC)gsstruct.h $(GLSRC)gdevmrop.h:$(GLSRC)gxsync.h -$(GLSRC)gdevmrop.h:$(GLSRC)gscsel.h +$(GLSRC)gdevmrop.h:$(GLSRC)srdline.h $(GLSRC)gdevmrop.h:$(GLSRC)scommon.h +$(GLSRC)gdevmrop.h:$(GLSRC)memento.h +$(GLSRC)gdevmrop.h:$(GLSRC)gscsel.h $(GLSRC)gdevmrop.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevmrop.h:$(GLSRC)gsccolor.h $(GLSRC)gdevmrop.h:$(GLSRC)gsstype.h +$(GLSRC)gdevmrop.h:$(GLSRC)stat_.h +$(GLSRC)gdevmrop.h:$(GLSRC)gxtmap.h $(GLSRC)gdevmrop.h:$(GLSRC)gsmemory.h $(GLSRC)gdevmrop.h:$(GLSRC)gpsync.h -$(GLSRC)gdevmrop.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevmrop.h:$(GLSRC)memory_.h +$(GLSRC)gdevmrop.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevmrop.h:$(GLSRC)gslibctx.h $(GLSRC)gdevmrop.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevmrop.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevmrop.h:$(GLSRC)stdio_.h $(GLSRC)gdevmrop.h:$(GLSRC)gscompt.h $(GLSRC)gdevmrop.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevmrop.h:$(GLSRC)stdint_.h $(GLSRC)gdevmrop.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevmrop.h:$(GLSRC)stdint_.h +$(GLSRC)gdevmrop.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmrop.h:$(GLSRC)gsccode.h -$(GLSRC)gdevmrop.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevmrop.h:$(GLSRC)stdio_.h -$(GLSRC)gdevmrop.h:$(GLSRC)gstypes.h $(GLSRC)gdevmrop.h:$(GLSRC)std.h +$(GLSRC)gdevmrop.h:$(GLSRC)gstypes.h $(GLSRC)gdevmrop.h:$(GLSRC)stdpre.h $(GLSRC)gdevmrop.h:$(GLGEN)arch.h -$(GLSRC)gdevmrop.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmrun.h:$(GLSRC)gxdevmem.h $(GLSRC)gdevmrun.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevmrun.h:$(GLSRC)gxtext.h $(GLSRC)gdevmrun.h:$(GLSRC)gstext.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevmrun.h:$(GLSRC)gstparam.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxcspace.h $(GLSRC)gdevmrun.h:$(GLSRC)gsropt.h $(GLSRC)gdevmrun.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevmrun.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsuid.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsimage.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxdda.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevmrun.h:$(GLSRC)gsfont.h $(GLSRC)gdevmrun.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxpath.h -$(GLSRC)gdevmrun.h:$(GLSRC)gspenum.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsimage.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxftype.h $(GLSRC)gdevmrun.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxdda.h -$(GLSRC)gdevmrun.h:$(GLSRC)gslparam.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsrect.h $(GLSRC)gdevmrun.h:$(GLSRC)gscms.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxftype.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsdevice.h $(GLSRC)gdevmrun.h:$(GLSRC)gscspace.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsuid.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxpath.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsdevice.h $(GLSRC)gdevmrun.h:$(GLSRC)gxarith.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevmrun.h:$(GLSRC)gspenum.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsrect.h +$(GLSRC)gdevmrun.h:$(GLSRC)gslparam.h $(GLSRC)gdevmrun.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevmrun.h:$(GLSRC)gscpm.h $(GLSRC)gdevmrun.h:$(GLSRC)gxfixed.h $(GLSRC)gdevmrun.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevmrun.h:$(GLSRC)gscpm.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevmrun.h:$(GLSRC)gp.h -$(GLSRC)gdevmrun.h:$(GLSRC)memento.h $(GLSRC)gdevmrun.h:$(GLSRC)gsparam.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevmrun.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevmrun.h:$(GLSRC)srdline.h +$(GLSRC)gdevmrun.h:$(GLSRC)gp.h +$(GLSRC)gdevmrun.h:$(GLSRC)gsccolor.h $(GLSRC)gdevmrun.h:$(GLSRC)gsstruct.h $(GLSRC)gdevmrun.h:$(GLSRC)gxsync.h -$(GLSRC)gdevmrun.h:$(GLSRC)gscsel.h +$(GLSRC)gdevmrun.h:$(GLSRC)srdline.h $(GLSRC)gdevmrun.h:$(GLSRC)scommon.h +$(GLSRC)gdevmrun.h:$(GLSRC)memento.h +$(GLSRC)gdevmrun.h:$(GLSRC)gscsel.h $(GLSRC)gdevmrun.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevmrun.h:$(GLSRC)gsccolor.h $(GLSRC)gdevmrun.h:$(GLSRC)gsstype.h +$(GLSRC)gdevmrun.h:$(GLSRC)stat_.h +$(GLSRC)gdevmrun.h:$(GLSRC)gxtmap.h $(GLSRC)gdevmrun.h:$(GLSRC)gsmemory.h $(GLSRC)gdevmrun.h:$(GLSRC)gpsync.h -$(GLSRC)gdevmrun.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevmrun.h:$(GLSRC)memory_.h +$(GLSRC)gdevmrun.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevmrun.h:$(GLSRC)gslibctx.h $(GLSRC)gdevmrun.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevmrun.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevmrun.h:$(GLSRC)stdio_.h $(GLSRC)gdevmrun.h:$(GLSRC)gscompt.h $(GLSRC)gdevmrun.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevmrun.h:$(GLSRC)stdint_.h $(GLSRC)gdevmrun.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevmrun.h:$(GLSRC)stdint_.h +$(GLSRC)gdevmrun.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmrun.h:$(GLSRC)gsccode.h -$(GLSRC)gdevmrun.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevmrun.h:$(GLSRC)stdio_.h -$(GLSRC)gdevmrun.h:$(GLSRC)gstypes.h $(GLSRC)gdevmrun.h:$(GLSRC)std.h +$(GLSRC)gdevmrun.h:$(GLSRC)gstypes.h $(GLSRC)gdevmrun.h:$(GLSRC)stdpre.h $(GLSRC)gdevmrun.h:$(GLGEN)arch.h -$(GLSRC)gdevmrun.h:$(GLSRC)gssprintf.h $(GLSRC)gdevplnx.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevplnx.h:$(GLSRC)gxtext.h $(GLSRC)gdevplnx.h:$(GLSRC)gstext.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevplnx.h:$(GLSRC)gstparam.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxcspace.h $(GLSRC)gdevplnx.h:$(GLSRC)gsropt.h $(GLSRC)gdevplnx.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevplnx.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsuid.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsimage.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxdda.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevplnx.h:$(GLSRC)gsfont.h $(GLSRC)gdevplnx.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxpath.h -$(GLSRC)gdevplnx.h:$(GLSRC)gspenum.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsimage.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxftype.h $(GLSRC)gdevplnx.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxdda.h -$(GLSRC)gdevplnx.h:$(GLSRC)gslparam.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsrect.h $(GLSRC)gdevplnx.h:$(GLSRC)gscms.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxftype.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsdevice.h $(GLSRC)gdevplnx.h:$(GLSRC)gscspace.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsuid.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxpath.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsdevice.h $(GLSRC)gdevplnx.h:$(GLSRC)gxarith.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevplnx.h:$(GLSRC)gspenum.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsrect.h +$(GLSRC)gdevplnx.h:$(GLSRC)gslparam.h $(GLSRC)gdevplnx.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevplnx.h:$(GLSRC)gscpm.h $(GLSRC)gdevplnx.h:$(GLSRC)gxfixed.h $(GLSRC)gdevplnx.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevplnx.h:$(GLSRC)gscpm.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevplnx.h:$(GLSRC)gp.h -$(GLSRC)gdevplnx.h:$(GLSRC)memento.h $(GLSRC)gdevplnx.h:$(GLSRC)gsparam.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevplnx.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevplnx.h:$(GLSRC)srdline.h +$(GLSRC)gdevplnx.h:$(GLSRC)gp.h +$(GLSRC)gdevplnx.h:$(GLSRC)gsccolor.h $(GLSRC)gdevplnx.h:$(GLSRC)gsstruct.h $(GLSRC)gdevplnx.h:$(GLSRC)gxsync.h -$(GLSRC)gdevplnx.h:$(GLSRC)gscsel.h +$(GLSRC)gdevplnx.h:$(GLSRC)srdline.h $(GLSRC)gdevplnx.h:$(GLSRC)scommon.h +$(GLSRC)gdevplnx.h:$(GLSRC)memento.h +$(GLSRC)gdevplnx.h:$(GLSRC)gscsel.h $(GLSRC)gdevplnx.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevplnx.h:$(GLSRC)gsccolor.h $(GLSRC)gdevplnx.h:$(GLSRC)gsstype.h +$(GLSRC)gdevplnx.h:$(GLSRC)stat_.h +$(GLSRC)gdevplnx.h:$(GLSRC)gxtmap.h $(GLSRC)gdevplnx.h:$(GLSRC)gsmemory.h $(GLSRC)gdevplnx.h:$(GLSRC)gpsync.h -$(GLSRC)gdevplnx.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevplnx.h:$(GLSRC)memory_.h +$(GLSRC)gdevplnx.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevplnx.h:$(GLSRC)gslibctx.h $(GLSRC)gdevplnx.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevplnx.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevplnx.h:$(GLSRC)stdio_.h $(GLSRC)gdevplnx.h:$(GLSRC)gscompt.h $(GLSRC)gdevplnx.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevplnx.h:$(GLSRC)stdint_.h $(GLSRC)gdevplnx.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevplnx.h:$(GLSRC)stdint_.h +$(GLSRC)gdevplnx.h:$(GLSRC)gssprintf.h $(GLSRC)gdevplnx.h:$(GLSRC)gsccode.h -$(GLSRC)gdevplnx.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevplnx.h:$(GLSRC)stdio_.h -$(GLSRC)gdevplnx.h:$(GLSRC)gstypes.h $(GLSRC)gdevplnx.h:$(GLSRC)std.h +$(GLSRC)gdevplnx.h:$(GLSRC)gstypes.h $(GLSRC)gdevplnx.h:$(GLSRC)stdpre.h $(GLSRC)gdevplnx.h:$(GLGEN)arch.h -$(GLSRC)gdevplnx.h:$(GLSRC)gssprintf.h $(GLSRC)gdevepo.h:$(GLSRC)gxdevice.h $(GLSRC)gdevepo.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevepo.h:$(GLSRC)gxtext.h $(GLSRC)gdevepo.h:$(GLSRC)gstext.h +$(GLSRC)gdevepo.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevepo.h:$(GLSRC)gstparam.h -$(GLSRC)gdevepo.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevepo.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevepo.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevepo.h:$(GLSRC)gxcspace.h $(GLSRC)gdevepo.h:$(GLSRC)gsropt.h $(GLSRC)gdevepo.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevepo.h:$(GLSRC)gsnamecl.h +$(GLSRC)gdevepo.h:$(GLSRC)gsmalloc.h $(GLSRC)gdevepo.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevepo.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevepo.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevepo.h:$(GLSRC)gsuid.h +$(GLSRC)gdevepo.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevepo.h:$(GLSRC)gsimage.h +$(GLSRC)gdevepo.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevepo.h:$(GLSRC)gxdda.h +$(GLSRC)gdevepo.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevepo.h:$(GLSRC)gsfont.h $(GLSRC)gdevepo.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevepo.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevepo.h:$(GLSRC)gxpath.h -$(GLSRC)gdevepo.h:$(GLSRC)gspenum.h -$(GLSRC)gdevepo.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevepo.h:$(GLSRC)gsimage.h +$(GLSRC)gdevepo.h:$(GLSRC)gxftype.h $(GLSRC)gdevepo.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevepo.h:$(GLSRC)gxdda.h -$(GLSRC)gdevepo.h:$(GLSRC)gslparam.h -$(GLSRC)gdevepo.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevepo.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevepo.h:$(GLSRC)gsrect.h $(GLSRC)gdevepo.h:$(GLSRC)gscms.h -$(GLSRC)gdevepo.h:$(GLSRC)gxftype.h -$(GLSRC)gdevepo.h:$(GLSRC)gsdevice.h $(GLSRC)gdevepo.h:$(GLSRC)gscspace.h -$(GLSRC)gdevepo.h:$(GLSRC)gsuid.h +$(GLSRC)gdevepo.h:$(GLSRC)gxpath.h +$(GLSRC)gdevepo.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevepo.h:$(GLSRC)gsdevice.h $(GLSRC)gdevepo.h:$(GLSRC)gxarith.h -$(GLSRC)gdevepo.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevepo.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevepo.h:$(GLSRC)gspenum.h +$(GLSRC)gdevepo.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevepo.h:$(GLSRC)gsrect.h +$(GLSRC)gdevepo.h:$(GLSRC)gslparam.h $(GLSRC)gdevepo.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevepo.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevepo.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevepo.h:$(GLSRC)gscpm.h $(GLSRC)gdevepo.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevepo.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevepo.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevepo.h:$(GLSRC)gsio.h -$(GLSRC)gdevepo.h:$(GLSRC)gp.h -$(GLSRC)gdevepo.h:$(GLSRC)memento.h -$(GLSRC)gdevepo.h:$(GLSRC)gsparam.h -$(GLSRC)gdevepo.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevepo.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevepo.h:$(GLSRC)srdline.h +$(GLSRC)gdevepo.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevepo.h:$(GLSRC)gscpm.h +$(GLSRC)gdevepo.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevepo.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevepo.h:$(GLSRC)gsparam.h +$(GLSRC)gdevepo.h:$(GLSRC)gp.h +$(GLSRC)gdevepo.h:$(GLSRC)gsccolor.h $(GLSRC)gdevepo.h:$(GLSRC)gsstruct.h $(GLSRC)gdevepo.h:$(GLSRC)gxsync.h -$(GLSRC)gdevepo.h:$(GLSRC)gscsel.h +$(GLSRC)gdevepo.h:$(GLSRC)srdline.h $(GLSRC)gdevepo.h:$(GLSRC)scommon.h +$(GLSRC)gdevepo.h:$(GLSRC)memento.h +$(GLSRC)gdevepo.h:$(GLSRC)gscsel.h $(GLSRC)gdevepo.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevepo.h:$(GLSRC)gsfname.h -$(GLSRC)gdevepo.h:$(GLSRC)gsccolor.h $(GLSRC)gdevepo.h:$(GLSRC)gsstype.h +$(GLSRC)gdevepo.h:$(GLSRC)stat_.h +$(GLSRC)gdevepo.h:$(GLSRC)gxtmap.h $(GLSRC)gdevepo.h:$(GLSRC)gsmemory.h $(GLSRC)gdevepo.h:$(GLSRC)gpsync.h -$(GLSRC)gdevepo.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevepo.h:$(GLSRC)memory_.h +$(GLSRC)gdevepo.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevepo.h:$(GLSRC)gslibctx.h $(GLSRC)gdevepo.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevepo.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevepo.h:$(GLSRC)stdio_.h $(GLSRC)gdevepo.h:$(GLSRC)gscompt.h $(GLSRC)gdevepo.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevepo.h:$(GLSRC)stdint_.h $(GLSRC)gdevepo.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevepo.h:$(GLSRC)stdint_.h +$(GLSRC)gdevepo.h:$(GLSRC)gssprintf.h $(GLSRC)gdevepo.h:$(GLSRC)gsccode.h -$(GLSRC)gdevepo.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevepo.h:$(GLSRC)stdio_.h -$(GLSRC)gdevepo.h:$(GLSRC)gstypes.h $(GLSRC)gdevepo.h:$(GLSRC)std.h +$(GLSRC)gdevepo.h:$(GLSRC)gstypes.h $(GLSRC)gdevepo.h:$(GLSRC)stdpre.h $(GLSRC)gdevepo.h:$(GLGEN)arch.h -$(GLSRC)gdevepo.h:$(GLSRC)gssprintf.h $(GLSRC)sa85d.h:$(GLSRC)scommon.h $(GLSRC)sa85d.h:$(GLSRC)gsstype.h $(GLSRC)sa85d.h:$(GLSRC)gsmemory.h $(GLSRC)sa85d.h:$(GLSRC)gslibctx.h -$(GLSRC)sa85d.h:$(GLSRC)stdint_.h $(GLSRC)sa85d.h:$(GLSRC)gs_dll_call.h $(GLSRC)sa85d.h:$(GLSRC)stdio_.h -$(GLSRC)sa85d.h:$(GLSRC)gstypes.h +$(GLSRC)sa85d.h:$(GLSRC)stdint_.h +$(GLSRC)sa85d.h:$(GLSRC)gssprintf.h $(GLSRC)sa85d.h:$(GLSRC)std.h +$(GLSRC)sa85d.h:$(GLSRC)gstypes.h $(GLSRC)sa85d.h:$(GLSRC)stdpre.h $(GLSRC)sa85d.h:$(GLGEN)arch.h -$(GLSRC)sa85d.h:$(GLSRC)gssprintf.h $(GLSRC)sa85x.h:$(GLSRC)sa85d.h $(GLSRC)sa85x.h:$(GLSRC)scommon.h $(GLSRC)sa85x.h:$(GLSRC)gsstype.h $(GLSRC)sa85x.h:$(GLSRC)gsmemory.h $(GLSRC)sa85x.h:$(GLSRC)gslibctx.h -$(GLSRC)sa85x.h:$(GLSRC)stdint_.h $(GLSRC)sa85x.h:$(GLSRC)gs_dll_call.h $(GLSRC)sa85x.h:$(GLSRC)stdio_.h -$(GLSRC)sa85x.h:$(GLSRC)gstypes.h +$(GLSRC)sa85x.h:$(GLSRC)stdint_.h +$(GLSRC)sa85x.h:$(GLSRC)gssprintf.h $(GLSRC)sa85x.h:$(GLSRC)std.h +$(GLSRC)sa85x.h:$(GLSRC)gstypes.h $(GLSRC)sa85x.h:$(GLSRC)stdpre.h $(GLSRC)sa85x.h:$(GLGEN)arch.h -$(GLSRC)sa85x.h:$(GLSRC)gssprintf.h $(GLSRC)sbcp.h:$(GLSRC)scommon.h $(GLSRC)sbcp.h:$(GLSRC)gsstype.h $(GLSRC)sbcp.h:$(GLSRC)gsmemory.h $(GLSRC)sbcp.h:$(GLSRC)gslibctx.h -$(GLSRC)sbcp.h:$(GLSRC)stdint_.h $(GLSRC)sbcp.h:$(GLSRC)gs_dll_call.h $(GLSRC)sbcp.h:$(GLSRC)stdio_.h -$(GLSRC)sbcp.h:$(GLSRC)gstypes.h +$(GLSRC)sbcp.h:$(GLSRC)stdint_.h +$(GLSRC)sbcp.h:$(GLSRC)gssprintf.h $(GLSRC)sbcp.h:$(GLSRC)std.h +$(GLSRC)sbcp.h:$(GLSRC)gstypes.h $(GLSRC)sbcp.h:$(GLSRC)stdpre.h $(GLSRC)sbcp.h:$(GLGEN)arch.h -$(GLSRC)sbcp.h:$(GLSRC)gssprintf.h $(GLSRC)sbtx.h:$(GLSRC)scommon.h $(GLSRC)sbtx.h:$(GLSRC)gsstype.h $(GLSRC)sbtx.h:$(GLSRC)gsmemory.h $(GLSRC)sbtx.h:$(GLSRC)gslibctx.h -$(GLSRC)sbtx.h:$(GLSRC)stdint_.h $(GLSRC)sbtx.h:$(GLSRC)gs_dll_call.h $(GLSRC)sbtx.h:$(GLSRC)stdio_.h -$(GLSRC)sbtx.h:$(GLSRC)gstypes.h +$(GLSRC)sbtx.h:$(GLSRC)stdint_.h +$(GLSRC)sbtx.h:$(GLSRC)gssprintf.h $(GLSRC)sbtx.h:$(GLSRC)std.h +$(GLSRC)sbtx.h:$(GLSRC)gstypes.h $(GLSRC)sbtx.h:$(GLSRC)stdpre.h $(GLSRC)sbtx.h:$(GLGEN)arch.h -$(GLSRC)sbtx.h:$(GLSRC)gssprintf.h $(GLSRC)scanchar.h:$(GLSRC)scommon.h $(GLSRC)scanchar.h:$(GLSRC)gsstype.h $(GLSRC)scanchar.h:$(GLSRC)gsmemory.h $(GLSRC)scanchar.h:$(GLSRC)gslibctx.h -$(GLSRC)scanchar.h:$(GLSRC)stdint_.h $(GLSRC)scanchar.h:$(GLSRC)gs_dll_call.h $(GLSRC)scanchar.h:$(GLSRC)stdio_.h -$(GLSRC)scanchar.h:$(GLSRC)gstypes.h +$(GLSRC)scanchar.h:$(GLSRC)stdint_.h +$(GLSRC)scanchar.h:$(GLSRC)gssprintf.h $(GLSRC)scanchar.h:$(GLSRC)std.h +$(GLSRC)scanchar.h:$(GLSRC)gstypes.h $(GLSRC)scanchar.h:$(GLSRC)stdpre.h $(GLSRC)scanchar.h:$(GLGEN)arch.h -$(GLSRC)scanchar.h:$(GLSRC)gssprintf.h $(GLSRC)sfilter.h:$(GLSRC)scommon.h $(GLSRC)sfilter.h:$(GLSRC)gsstype.h $(GLSRC)sfilter.h:$(GLSRC)gsmemory.h $(GLSRC)sfilter.h:$(GLSRC)gslibctx.h -$(GLSRC)sfilter.h:$(GLSRC)stdint_.h $(GLSRC)sfilter.h:$(GLSRC)gs_dll_call.h $(GLSRC)sfilter.h:$(GLSRC)stdio_.h -$(GLSRC)sfilter.h:$(GLSRC)gstypes.h +$(GLSRC)sfilter.h:$(GLSRC)stdint_.h +$(GLSRC)sfilter.h:$(GLSRC)gssprintf.h $(GLSRC)sfilter.h:$(GLSRC)std.h +$(GLSRC)sfilter.h:$(GLSRC)gstypes.h $(GLSRC)sfilter.h:$(GLSRC)stdpre.h $(GLSRC)sfilter.h:$(GLGEN)arch.h -$(GLSRC)sfilter.h:$(GLSRC)gssprintf.h $(GLSRC)sdct.h:$(GLSRC)setjmp_.h $(GLSRC)sdct.h:$(GLSRC)strimpl.h $(GLSRC)sdct.h:$(GLSRC)gscms.h -$(GLSRC)sdct.h:$(GLSRC)gsdevice.h $(GLSRC)sdct.h:$(GLSRC)gscspace.h -$(GLSRC)sdct.h:$(GLSRC)gsrefct.h +$(GLSRC)sdct.h:$(GLSRC)gsdevice.h $(GLSRC)sdct.h:$(GLSRC)gsiparam.h -$(GLSRC)sdct.h:$(GLSRC)memento.h -$(GLSRC)sdct.h:$(GLSRC)gsparam.h -$(GLSRC)sdct.h:$(GLSRC)gsmatrix.h $(GLSRC)sdct.h:$(GLSRC)gxbitmap.h +$(GLSRC)sdct.h:$(GLSRC)gsmatrix.h +$(GLSRC)sdct.h:$(GLSRC)gsrefct.h +$(GLSRC)sdct.h:$(GLSRC)gsparam.h +$(GLSRC)sdct.h:$(GLSRC)gsccolor.h $(GLSRC)sdct.h:$(GLSRC)gsstruct.h $(GLSRC)sdct.h:$(GLSRC)gxsync.h $(GLSRC)sdct.h:$(GLSRC)scommon.h +$(GLSRC)sdct.h:$(GLSRC)memento.h $(GLSRC)sdct.h:$(GLSRC)gsbitmap.h -$(GLSRC)sdct.h:$(GLSRC)gsccolor.h $(GLSRC)sdct.h:$(GLSRC)gsstype.h $(GLSRC)sdct.h:$(GLSRC)gsmemory.h $(GLSRC)sdct.h:$(GLSRC)gpsync.h $(GLSRC)sdct.h:$(GLSRC)gslibctx.h -$(GLSRC)sdct.h:$(GLSRC)stdint_.h -$(GLSRC)sdct.h:$(GLSRC)gsgstate.h $(GLSRC)sdct.h:$(GLSRC)gs_dll_call.h $(GLSRC)sdct.h:$(GLSRC)stdio_.h -$(GLSRC)sdct.h:$(GLSRC)gstypes.h +$(GLSRC)sdct.h:$(GLSRC)gsgstate.h +$(GLSRC)sdct.h:$(GLSRC)stdint_.h +$(GLSRC)sdct.h:$(GLSRC)gssprintf.h $(GLSRC)sdct.h:$(GLSRC)std.h +$(GLSRC)sdct.h:$(GLSRC)gstypes.h $(GLSRC)sdct.h:$(GLSRC)stdpre.h $(GLSRC)sdct.h:$(GLGEN)arch.h -$(GLSRC)sdct.h:$(GLSRC)gssprintf.h $(GLSRC)shc.h:$(GLSRC)scommon.h $(GLSRC)shc.h:$(GLSRC)gsstype.h $(GLSRC)shc.h:$(GLSRC)gsmemory.h $(GLSRC)shc.h:$(GLSRC)gslibctx.h -$(GLSRC)shc.h:$(GLSRC)gsbittab.h -$(GLSRC)shc.h:$(GLSRC)stdint_.h $(GLSRC)shc.h:$(GLSRC)gs_dll_call.h $(GLSRC)shc.h:$(GLSRC)stdio_.h -$(GLSRC)shc.h:$(GLSRC)gstypes.h +$(GLSRC)shc.h:$(GLSRC)gsbittab.h +$(GLSRC)shc.h:$(GLSRC)stdint_.h +$(GLSRC)shc.h:$(GLSRC)gssprintf.h $(GLSRC)shc.h:$(GLSRC)std.h +$(GLSRC)shc.h:$(GLSRC)gstypes.h $(GLSRC)shc.h:$(GLSRC)stdpre.h $(GLSRC)shc.h:$(GLGEN)arch.h -$(GLSRC)shc.h:$(GLSRC)gssprintf.h $(GLSRC)sisparam.h:$(GLSRC)gxdda.h $(GLSRC)sisparam.h:$(GLSRC)gxfixed.h $(GLSRC)sisparam.h:$(GLSRC)scommon.h $(GLSRC)sisparam.h:$(GLSRC)gsstype.h $(GLSRC)sisparam.h:$(GLSRC)gsmemory.h $(GLSRC)sisparam.h:$(GLSRC)gslibctx.h -$(GLSRC)sisparam.h:$(GLSRC)stdint_.h $(GLSRC)sisparam.h:$(GLSRC)gs_dll_call.h $(GLSRC)sisparam.h:$(GLSRC)stdio_.h -$(GLSRC)sisparam.h:$(GLSRC)gstypes.h +$(GLSRC)sisparam.h:$(GLSRC)stdint_.h +$(GLSRC)sisparam.h:$(GLSRC)gssprintf.h $(GLSRC)sisparam.h:$(GLSRC)std.h +$(GLSRC)sisparam.h:$(GLSRC)gstypes.h $(GLSRC)sisparam.h:$(GLSRC)stdpre.h $(GLSRC)sisparam.h:$(GLGEN)arch.h -$(GLSRC)sisparam.h:$(GLSRC)gssprintf.h $(GLSRC)sjpeg.h:$(GLSRC)sdct.h $(GLSRC)sjpeg.h:$(GLSRC)setjmp_.h $(GLSRC)sjpeg.h:$(GLSRC)strimpl.h $(GLSRC)sjpeg.h:$(GLSRC)gscms.h -$(GLSRC)sjpeg.h:$(GLSRC)gsdevice.h $(GLSRC)sjpeg.h:$(GLSRC)gscspace.h -$(GLSRC)sjpeg.h:$(GLSRC)gsrefct.h +$(GLSRC)sjpeg.h:$(GLSRC)gsdevice.h $(GLSRC)sjpeg.h:$(GLSRC)gsiparam.h -$(GLSRC)sjpeg.h:$(GLSRC)memento.h -$(GLSRC)sjpeg.h:$(GLSRC)gsparam.h -$(GLSRC)sjpeg.h:$(GLSRC)gsmatrix.h $(GLSRC)sjpeg.h:$(GLSRC)gxbitmap.h +$(GLSRC)sjpeg.h:$(GLSRC)gsmatrix.h +$(GLSRC)sjpeg.h:$(GLSRC)gsrefct.h +$(GLSRC)sjpeg.h:$(GLSRC)gsparam.h +$(GLSRC)sjpeg.h:$(GLSRC)gsccolor.h $(GLSRC)sjpeg.h:$(GLSRC)gsstruct.h $(GLSRC)sjpeg.h:$(GLSRC)gxsync.h $(GLSRC)sjpeg.h:$(GLSRC)scommon.h +$(GLSRC)sjpeg.h:$(GLSRC)memento.h $(GLSRC)sjpeg.h:$(GLSRC)gsbitmap.h -$(GLSRC)sjpeg.h:$(GLSRC)gsccolor.h $(GLSRC)sjpeg.h:$(GLSRC)gsstype.h $(GLSRC)sjpeg.h:$(GLSRC)gsmemory.h $(GLSRC)sjpeg.h:$(GLSRC)gpsync.h $(GLSRC)sjpeg.h:$(GLSRC)gslibctx.h -$(GLSRC)sjpeg.h:$(GLSRC)stdint_.h -$(GLSRC)sjpeg.h:$(GLSRC)gsgstate.h $(GLSRC)sjpeg.h:$(GLSRC)gs_dll_call.h $(GLSRC)sjpeg.h:$(GLSRC)stdio_.h -$(GLSRC)sjpeg.h:$(GLSRC)gstypes.h +$(GLSRC)sjpeg.h:$(GLSRC)gsgstate.h +$(GLSRC)sjpeg.h:$(GLSRC)stdint_.h +$(GLSRC)sjpeg.h:$(GLSRC)gssprintf.h $(GLSRC)sjpeg.h:$(GLSRC)std.h +$(GLSRC)sjpeg.h:$(GLSRC)gstypes.h $(GLSRC)sjpeg.h:$(GLSRC)stdpre.h $(GLSRC)sjpeg.h:$(GLGEN)arch.h -$(GLSRC)sjpeg.h:$(GLSRC)gssprintf.h $(GLSRC)slzwx.h:$(GLSRC)scommon.h $(GLSRC)slzwx.h:$(GLSRC)gsstype.h $(GLSRC)slzwx.h:$(GLSRC)gsmemory.h $(GLSRC)slzwx.h:$(GLSRC)gslibctx.h -$(GLSRC)slzwx.h:$(GLSRC)stdint_.h $(GLSRC)slzwx.h:$(GLSRC)gs_dll_call.h $(GLSRC)slzwx.h:$(GLSRC)stdio_.h -$(GLSRC)slzwx.h:$(GLSRC)gstypes.h +$(GLSRC)slzwx.h:$(GLSRC)stdint_.h +$(GLSRC)slzwx.h:$(GLSRC)gssprintf.h $(GLSRC)slzwx.h:$(GLSRC)std.h +$(GLSRC)slzwx.h:$(GLSRC)gstypes.h $(GLSRC)slzwx.h:$(GLSRC)stdpre.h $(GLSRC)slzwx.h:$(GLGEN)arch.h -$(GLSRC)slzwx.h:$(GLSRC)gssprintf.h $(GLSRC)smd5.h:$(GLSRC)gsmd5.h $(GLSRC)smd5.h:$(GLSRC)scommon.h $(GLSRC)smd5.h:$(GLSRC)gsstype.h $(GLSRC)smd5.h:$(GLSRC)gsmemory.h +$(GLSRC)smd5.h:$(GLSRC)memory_.h $(GLSRC)smd5.h:$(GLSRC)gslibctx.h -$(GLSRC)smd5.h:$(GLSRC)stdint_.h $(GLSRC)smd5.h:$(GLSRC)gs_dll_call.h $(GLSRC)smd5.h:$(GLSRC)stdio_.h -$(GLSRC)smd5.h:$(GLSRC)gstypes.h +$(GLSRC)smd5.h:$(GLSRC)stdint_.h +$(GLSRC)smd5.h:$(GLSRC)gssprintf.h $(GLSRC)smd5.h:$(GLSRC)std.h +$(GLSRC)smd5.h:$(GLSRC)gstypes.h $(GLSRC)smd5.h:$(GLSRC)stdpre.h $(GLSRC)smd5.h:$(GLGEN)arch.h -$(GLSRC)smd5.h:$(GLSRC)gssprintf.h $(GLSRC)sarc4.h:$(GLSRC)scommon.h $(GLSRC)sarc4.h:$(GLSRC)gsstype.h $(GLSRC)sarc4.h:$(GLSRC)gsmemory.h $(GLSRC)sarc4.h:$(GLSRC)gslibctx.h -$(GLSRC)sarc4.h:$(GLSRC)stdint_.h $(GLSRC)sarc4.h:$(GLSRC)gs_dll_call.h $(GLSRC)sarc4.h:$(GLSRC)stdio_.h -$(GLSRC)sarc4.h:$(GLSRC)gstypes.h +$(GLSRC)sarc4.h:$(GLSRC)stdint_.h +$(GLSRC)sarc4.h:$(GLSRC)gssprintf.h $(GLSRC)sarc4.h:$(GLSRC)std.h +$(GLSRC)sarc4.h:$(GLSRC)gstypes.h $(GLSRC)sarc4.h:$(GLSRC)stdpre.h $(GLSRC)sarc4.h:$(GLGEN)arch.h -$(GLSRC)sarc4.h:$(GLSRC)gssprintf.h $(GLSRC)saes.h:$(GLSRC)aes.h $(GLSRC)saes.h:$(GLSRC)scommon.h $(GLSRC)saes.h:$(GLSRC)gsstype.h $(GLSRC)saes.h:$(GLSRC)gsmemory.h $(GLSRC)saes.h:$(GLSRC)gslibctx.h -$(GLSRC)saes.h:$(GLSRC)stdint_.h $(GLSRC)saes.h:$(GLSRC)gs_dll_call.h $(GLSRC)saes.h:$(GLSRC)stdio_.h -$(GLSRC)saes.h:$(GLSRC)gstypes.h +$(GLSRC)saes.h:$(GLSRC)stdint_.h +$(GLSRC)saes.h:$(GLSRC)gssprintf.h $(GLSRC)saes.h:$(GLSRC)std.h +$(GLSRC)saes.h:$(GLSRC)gstypes.h $(GLSRC)saes.h:$(GLSRC)stdpre.h $(GLSRC)saes.h:$(GLGEN)arch.h -$(GLSRC)saes.h:$(GLSRC)gssprintf.h $(GLSRC)sjbig2.h:$(GLSRC)scommon.h $(GLSRC)sjbig2.h:$(GLSRC)gsstype.h $(GLSRC)sjbig2.h:$(GLSRC)gsmemory.h $(GLSRC)sjbig2.h:$(GLSRC)gslibctx.h -$(GLSRC)sjbig2.h:$(GLSRC)stdint_.h $(GLSRC)sjbig2.h:$(GLSRC)gs_dll_call.h $(GLSRC)sjbig2.h:$(GLSRC)stdio_.h -$(GLSRC)sjbig2.h:$(GLSRC)gstypes.h +$(GLSRC)sjbig2.h:$(GLSRC)stdint_.h +$(GLSRC)sjbig2.h:$(GLSRC)gssprintf.h $(GLSRC)sjbig2.h:$(GLSRC)std.h +$(GLSRC)sjbig2.h:$(GLSRC)gstypes.h $(GLSRC)sjbig2.h:$(GLSRC)stdpre.h $(GLSRC)sjbig2.h:$(GLGEN)arch.h -$(GLSRC)sjbig2.h:$(GLSRC)gssprintf.h $(GLSRC)spdiffx.h:$(GLSRC)scommon.h $(GLSRC)spdiffx.h:$(GLSRC)gsstype.h $(GLSRC)spdiffx.h:$(GLSRC)gsmemory.h $(GLSRC)spdiffx.h:$(GLSRC)gslibctx.h -$(GLSRC)spdiffx.h:$(GLSRC)stdint_.h $(GLSRC)spdiffx.h:$(GLSRC)gs_dll_call.h $(GLSRC)spdiffx.h:$(GLSRC)stdio_.h -$(GLSRC)spdiffx.h:$(GLSRC)gstypes.h +$(GLSRC)spdiffx.h:$(GLSRC)stdint_.h +$(GLSRC)spdiffx.h:$(GLSRC)gssprintf.h $(GLSRC)spdiffx.h:$(GLSRC)std.h +$(GLSRC)spdiffx.h:$(GLSRC)gstypes.h $(GLSRC)spdiffx.h:$(GLSRC)stdpre.h $(GLSRC)spdiffx.h:$(GLGEN)arch.h -$(GLSRC)spdiffx.h:$(GLSRC)gssprintf.h $(GLSRC)spngpx.h:$(GLSRC)scommon.h $(GLSRC)spngpx.h:$(GLSRC)gsstype.h $(GLSRC)spngpx.h:$(GLSRC)gsmemory.h $(GLSRC)spngpx.h:$(GLSRC)gslibctx.h -$(GLSRC)spngpx.h:$(GLSRC)stdint_.h $(GLSRC)spngpx.h:$(GLSRC)gs_dll_call.h $(GLSRC)spngpx.h:$(GLSRC)stdio_.h -$(GLSRC)spngpx.h:$(GLSRC)gstypes.h +$(GLSRC)spngpx.h:$(GLSRC)stdint_.h +$(GLSRC)spngpx.h:$(GLSRC)gssprintf.h $(GLSRC)spngpx.h:$(GLSRC)std.h +$(GLSRC)spngpx.h:$(GLSRC)gstypes.h $(GLSRC)spngpx.h:$(GLSRC)stdpre.h $(GLSRC)spngpx.h:$(GLGEN)arch.h -$(GLSRC)spngpx.h:$(GLSRC)gssprintf.h $(GLSRC)spprint.h:$(GLSRC)scommon.h $(GLSRC)spprint.h:$(GLSRC)gsstype.h $(GLSRC)spprint.h:$(GLSRC)gsmemory.h $(GLSRC)spprint.h:$(GLSRC)gslibctx.h -$(GLSRC)spprint.h:$(GLSRC)stdint_.h $(GLSRC)spprint.h:$(GLSRC)gs_dll_call.h $(GLSRC)spprint.h:$(GLSRC)stdio_.h -$(GLSRC)spprint.h:$(GLSRC)gstypes.h +$(GLSRC)spprint.h:$(GLSRC)stdint_.h +$(GLSRC)spprint.h:$(GLSRC)gssprintf.h $(GLSRC)spprint.h:$(GLSRC)std.h +$(GLSRC)spprint.h:$(GLSRC)gstypes.h $(GLSRC)spprint.h:$(GLSRC)stdpre.h $(GLSRC)spprint.h:$(GLGEN)arch.h -$(GLSRC)spprint.h:$(GLSRC)gssprintf.h $(GLSRC)spsdf.h:$(GLSRC)gsparam.h $(GLSRC)spsdf.h:$(GLSRC)scommon.h $(GLSRC)spsdf.h:$(GLSRC)gsstype.h $(GLSRC)spsdf.h:$(GLSRC)gsmemory.h $(GLSRC)spsdf.h:$(GLSRC)gslibctx.h -$(GLSRC)spsdf.h:$(GLSRC)stdint_.h $(GLSRC)spsdf.h:$(GLSRC)gs_dll_call.h $(GLSRC)spsdf.h:$(GLSRC)stdio_.h -$(GLSRC)spsdf.h:$(GLSRC)gstypes.h +$(GLSRC)spsdf.h:$(GLSRC)stdint_.h +$(GLSRC)spsdf.h:$(GLSRC)gssprintf.h $(GLSRC)spsdf.h:$(GLSRC)std.h +$(GLSRC)spsdf.h:$(GLSRC)gstypes.h $(GLSRC)spsdf.h:$(GLSRC)stdpre.h $(GLSRC)spsdf.h:$(GLGEN)arch.h -$(GLSRC)spsdf.h:$(GLSRC)gssprintf.h $(GLSRC)srlx.h:$(GLSRC)scommon.h $(GLSRC)srlx.h:$(GLSRC)gsstype.h $(GLSRC)srlx.h:$(GLSRC)gsmemory.h $(GLSRC)srlx.h:$(GLSRC)gslibctx.h -$(GLSRC)srlx.h:$(GLSRC)stdint_.h $(GLSRC)srlx.h:$(GLSRC)gs_dll_call.h $(GLSRC)srlx.h:$(GLSRC)stdio_.h -$(GLSRC)srlx.h:$(GLSRC)gstypes.h +$(GLSRC)srlx.h:$(GLSRC)stdint_.h +$(GLSRC)srlx.h:$(GLSRC)gssprintf.h $(GLSRC)srlx.h:$(GLSRC)std.h +$(GLSRC)srlx.h:$(GLSRC)gstypes.h $(GLSRC)srlx.h:$(GLSRC)stdpre.h $(GLSRC)srlx.h:$(GLGEN)arch.h -$(GLSRC)srlx.h:$(GLSRC)gssprintf.h $(GLSRC)spwgx.h:$(GLSRC)scommon.h $(GLSRC)spwgx.h:$(GLSRC)gsstype.h $(GLSRC)spwgx.h:$(GLSRC)gsmemory.h $(GLSRC)spwgx.h:$(GLSRC)gslibctx.h -$(GLSRC)spwgx.h:$(GLSRC)stdint_.h $(GLSRC)spwgx.h:$(GLSRC)gs_dll_call.h $(GLSRC)spwgx.h:$(GLSRC)stdio_.h -$(GLSRC)spwgx.h:$(GLSRC)gstypes.h +$(GLSRC)spwgx.h:$(GLSRC)stdint_.h +$(GLSRC)spwgx.h:$(GLSRC)gssprintf.h $(GLSRC)spwgx.h:$(GLSRC)std.h +$(GLSRC)spwgx.h:$(GLSRC)gstypes.h $(GLSRC)spwgx.h:$(GLSRC)stdpre.h $(GLSRC)spwgx.h:$(GLGEN)arch.h -$(GLSRC)spwgx.h:$(GLSRC)gssprintf.h $(GLSRC)sstring.h:$(GLSRC)scommon.h $(GLSRC)sstring.h:$(GLSRC)gsstype.h $(GLSRC)sstring.h:$(GLSRC)gsmemory.h $(GLSRC)sstring.h:$(GLSRC)gslibctx.h -$(GLSRC)sstring.h:$(GLSRC)stdint_.h $(GLSRC)sstring.h:$(GLSRC)gs_dll_call.h $(GLSRC)sstring.h:$(GLSRC)stdio_.h -$(GLSRC)sstring.h:$(GLSRC)gstypes.h +$(GLSRC)sstring.h:$(GLSRC)stdint_.h +$(GLSRC)sstring.h:$(GLSRC)gssprintf.h $(GLSRC)sstring.h:$(GLSRC)std.h +$(GLSRC)sstring.h:$(GLSRC)gstypes.h $(GLSRC)sstring.h:$(GLSRC)stdpre.h $(GLSRC)sstring.h:$(GLGEN)arch.h -$(GLSRC)sstring.h:$(GLSRC)gssprintf.h $(GLSRC)strimpl.h:$(GLSRC)gsstruct.h $(GLSRC)strimpl.h:$(GLSRC)scommon.h $(GLSRC)strimpl.h:$(GLSRC)gsstype.h $(GLSRC)strimpl.h:$(GLSRC)gsmemory.h $(GLSRC)strimpl.h:$(GLSRC)gslibctx.h -$(GLSRC)strimpl.h:$(GLSRC)stdint_.h $(GLSRC)strimpl.h:$(GLSRC)gs_dll_call.h $(GLSRC)strimpl.h:$(GLSRC)stdio_.h -$(GLSRC)strimpl.h:$(GLSRC)gstypes.h +$(GLSRC)strimpl.h:$(GLSRC)stdint_.h +$(GLSRC)strimpl.h:$(GLSRC)gssprintf.h $(GLSRC)strimpl.h:$(GLSRC)std.h +$(GLSRC)strimpl.h:$(GLSRC)gstypes.h $(GLSRC)strimpl.h:$(GLSRC)stdpre.h $(GLSRC)strimpl.h:$(GLGEN)arch.h -$(GLSRC)strimpl.h:$(GLSRC)gssprintf.h $(GLSRC)szlibx.h:$(GLSRC)scommon.h $(GLSRC)szlibx.h:$(GLSRC)gsstype.h $(GLSRC)szlibx.h:$(GLSRC)gsmemory.h $(GLSRC)szlibx.h:$(GLSRC)gslibctx.h -$(GLSRC)szlibx.h:$(GLSRC)stdint_.h $(GLSRC)szlibx.h:$(GLSRC)gs_dll_call.h $(GLSRC)szlibx.h:$(GLSRC)stdio_.h -$(GLSRC)szlibx.h:$(GLSRC)gstypes.h +$(GLSRC)szlibx.h:$(GLSRC)stdint_.h +$(GLSRC)szlibx.h:$(GLSRC)gssprintf.h $(GLSRC)szlibx.h:$(GLSRC)std.h +$(GLSRC)szlibx.h:$(GLSRC)gstypes.h $(GLSRC)szlibx.h:$(GLSRC)stdpre.h $(GLSRC)szlibx.h:$(GLGEN)arch.h -$(GLSRC)szlibx.h:$(GLSRC)gssprintf.h $(GLSRC)scf.h:$(GLSRC)shc.h $(GLSRC)scf.h:$(GLSRC)scommon.h $(GLSRC)scf.h:$(GLSRC)gsstype.h $(GLSRC)scf.h:$(GLSRC)gsmemory.h $(GLSRC)scf.h:$(GLSRC)gslibctx.h -$(GLSRC)scf.h:$(GLSRC)gsbittab.h -$(GLSRC)scf.h:$(GLSRC)stdint_.h $(GLSRC)scf.h:$(GLSRC)gs_dll_call.h $(GLSRC)scf.h:$(GLSRC)stdio_.h -$(GLSRC)scf.h:$(GLSRC)gstypes.h +$(GLSRC)scf.h:$(GLSRC)gsbittab.h +$(GLSRC)scf.h:$(GLSRC)stdint_.h +$(GLSRC)scf.h:$(GLSRC)gssprintf.h $(GLSRC)scf.h:$(GLSRC)std.h +$(GLSRC)scf.h:$(GLSRC)gstypes.h $(GLSRC)scf.h:$(GLSRC)stdpre.h $(GLSRC)scf.h:$(GLGEN)arch.h -$(GLSRC)scf.h:$(GLSRC)gssprintf.h $(GLSRC)scfx.h:$(GLSRC)shc.h $(GLSRC)scfx.h:$(GLSRC)scommon.h $(GLSRC)scfx.h:$(GLSRC)gsstype.h $(GLSRC)scfx.h:$(GLSRC)gsmemory.h $(GLSRC)scfx.h:$(GLSRC)gslibctx.h -$(GLSRC)scfx.h:$(GLSRC)gsbittab.h -$(GLSRC)scfx.h:$(GLSRC)stdint_.h $(GLSRC)scfx.h:$(GLSRC)gs_dll_call.h $(GLSRC)scfx.h:$(GLSRC)stdio_.h -$(GLSRC)scfx.h:$(GLSRC)gstypes.h +$(GLSRC)scfx.h:$(GLSRC)gsbittab.h +$(GLSRC)scfx.h:$(GLSRC)stdint_.h +$(GLSRC)scfx.h:$(GLSRC)gssprintf.h $(GLSRC)scfx.h:$(GLSRC)std.h +$(GLSRC)scfx.h:$(GLSRC)gstypes.h $(GLSRC)scfx.h:$(GLSRC)stdpre.h $(GLSRC)scfx.h:$(GLGEN)arch.h -$(GLSRC)scfx.h:$(GLSRC)gssprintf.h $(GLSRC)siinterp.h:$(GLSRC)sisparam.h $(GLSRC)siinterp.h:$(GLSRC)gxdda.h $(GLSRC)siinterp.h:$(GLSRC)gxfixed.h @@ -9315,14 +9423,14 @@ $(GLSRC)siinterp.h:$(GLSRC)scommon.h $(GLSRC)siinterp.h:$(GLSRC)gsstype.h $(GLSRC)siinterp.h:$(GLSRC)gsmemory.h $(GLSRC)siinterp.h:$(GLSRC)gslibctx.h -$(GLSRC)siinterp.h:$(GLSRC)stdint_.h $(GLSRC)siinterp.h:$(GLSRC)gs_dll_call.h $(GLSRC)siinterp.h:$(GLSRC)stdio_.h -$(GLSRC)siinterp.h:$(GLSRC)gstypes.h +$(GLSRC)siinterp.h:$(GLSRC)stdint_.h +$(GLSRC)siinterp.h:$(GLSRC)gssprintf.h $(GLSRC)siinterp.h:$(GLSRC)std.h +$(GLSRC)siinterp.h:$(GLSRC)gstypes.h $(GLSRC)siinterp.h:$(GLSRC)stdpre.h $(GLSRC)siinterp.h:$(GLGEN)arch.h -$(GLSRC)siinterp.h:$(GLSRC)gssprintf.h $(GLSRC)siscale.h:$(GLSRC)sisparam.h $(GLSRC)siscale.h:$(GLSRC)gxdda.h $(GLSRC)siscale.h:$(GLSRC)gxfixed.h @@ -9330,14 +9438,14 @@ $(GLSRC)siscale.h:$(GLSRC)scommon.h $(GLSRC)siscale.h:$(GLSRC)gsstype.h $(GLSRC)siscale.h:$(GLSRC)gsmemory.h $(GLSRC)siscale.h:$(GLSRC)gslibctx.h -$(GLSRC)siscale.h:$(GLSRC)stdint_.h $(GLSRC)siscale.h:$(GLSRC)gs_dll_call.h $(GLSRC)siscale.h:$(GLSRC)stdio_.h -$(GLSRC)siscale.h:$(GLSRC)gstypes.h +$(GLSRC)siscale.h:$(GLSRC)stdint_.h +$(GLSRC)siscale.h:$(GLSRC)gssprintf.h $(GLSRC)siscale.h:$(GLSRC)std.h +$(GLSRC)siscale.h:$(GLSRC)gstypes.h $(GLSRC)siscale.h:$(GLSRC)stdpre.h $(GLSRC)siscale.h:$(GLGEN)arch.h -$(GLSRC)siscale.h:$(GLSRC)gssprintf.h $(GLSRC)sidscale.h:$(GLSRC)sisparam.h $(GLSRC)sidscale.h:$(GLSRC)gxdda.h $(GLSRC)sidscale.h:$(GLSRC)gxfixed.h @@ -9345,14 +9453,14 @@ $(GLSRC)sidscale.h:$(GLSRC)scommon.h $(GLSRC)sidscale.h:$(GLSRC)gsstype.h $(GLSRC)sidscale.h:$(GLSRC)gsmemory.h $(GLSRC)sidscale.h:$(GLSRC)gslibctx.h -$(GLSRC)sidscale.h:$(GLSRC)stdint_.h $(GLSRC)sidscale.h:$(GLSRC)gs_dll_call.h $(GLSRC)sidscale.h:$(GLSRC)stdio_.h -$(GLSRC)sidscale.h:$(GLSRC)gstypes.h +$(GLSRC)sidscale.h:$(GLSRC)stdint_.h +$(GLSRC)sidscale.h:$(GLSRC)gssprintf.h $(GLSRC)sidscale.h:$(GLSRC)std.h +$(GLSRC)sidscale.h:$(GLSRC)gstypes.h $(GLSRC)sidscale.h:$(GLSRC)stdpre.h $(GLSRC)sidscale.h:$(GLGEN)arch.h -$(GLSRC)sidscale.h:$(GLSRC)gssprintf.h $(GLSRC)simscale.h:$(GLSRC)sisparam.h $(GLSRC)simscale.h:$(GLSRC)gxdda.h $(GLSRC)simscale.h:$(GLSRC)gxfixed.h @@ -9360,14 +9468,14 @@ $(GLSRC)simscale.h:$(GLSRC)scommon.h $(GLSRC)simscale.h:$(GLSRC)gsstype.h $(GLSRC)simscale.h:$(GLSRC)gsmemory.h $(GLSRC)simscale.h:$(GLSRC)gslibctx.h -$(GLSRC)simscale.h:$(GLSRC)stdint_.h $(GLSRC)simscale.h:$(GLSRC)gs_dll_call.h $(GLSRC)simscale.h:$(GLSRC)stdio_.h -$(GLSRC)simscale.h:$(GLSRC)gstypes.h +$(GLSRC)simscale.h:$(GLSRC)stdint_.h +$(GLSRC)simscale.h:$(GLSRC)gssprintf.h $(GLSRC)simscale.h:$(GLSRC)std.h +$(GLSRC)simscale.h:$(GLSRC)gstypes.h $(GLSRC)simscale.h:$(GLSRC)stdpre.h $(GLSRC)simscale.h:$(GLGEN)arch.h -$(GLSRC)simscale.h:$(GLSRC)gssprintf.h $(GLSRC)gximage.h:$(GLSRC)gxsample.h $(GLSRC)gximage.h:$(GLSRC)sisparam.h $(GLSRC)gximage.h:$(GLSRC)gxcpath.h @@ -9375,317 +9483,320 @@ $(GLSRC)gximage.h:$(GLSRC)gxiparam.h $(GLSRC)gximage.h:$(GLSRC)gxdevcli.h $(GLSRC)gximage.h:$(GLSRC)gxtext.h $(GLSRC)gximage.h:$(GLSRC)gstext.h +$(GLSRC)gximage.h:$(GLSRC)gsnamecl.h $(GLSRC)gximage.h:$(GLSRC)gstparam.h -$(GLSRC)gximage.h:$(GLSRC)gxcmap.h +$(GLSRC)gximage.h:$(GLSRC)gxfcache.h +$(GLSRC)gximage.h:$(GLSRC)gxcspace.h $(GLSRC)gximage.h:$(GLSRC)gsropt.h $(GLSRC)gximage.h:$(GLSRC)gsfunc.h -$(GLSRC)gximage.h:$(GLSRC)gsnamecl.h $(GLSRC)gximage.h:$(GLSRC)gxrplane.h -$(GLSRC)gximage.h:$(GLSRC)gxcspace.h +$(GLSRC)gximage.h:$(GLSRC)gsuid.h +$(GLSRC)gximage.h:$(GLSRC)gxcmap.h $(GLSRC)gximage.h:$(GLSRC)strimpl.h -$(GLSRC)gximage.h:$(GLSRC)gxiclass.h -$(GLSRC)gximage.h:$(GLSRC)gxfcache.h +$(GLSRC)gximage.h:$(GLSRC)gsimage.h +$(GLSRC)gximage.h:$(GLSRC)gsdcolor.h +$(GLSRC)gximage.h:$(GLSRC)gxdda.h +$(GLSRC)gximage.h:$(GLSRC)gxcvalue.h $(GLSRC)gximage.h:$(GLSRC)gsfont.h $(GLSRC)gximage.h:$(GLSRC)gxfmap.h -$(GLSRC)gximage.h:$(GLSRC)gxcvalue.h -$(GLSRC)gximage.h:$(GLSRC)gxpath.h -$(GLSRC)gximage.h:$(GLSRC)gspenum.h -$(GLSRC)gximage.h:$(GLSRC)gxtmap.h -$(GLSRC)gximage.h:$(GLSRC)gsimage.h +$(GLSRC)gximage.h:$(GLSRC)gxiclass.h +$(GLSRC)gximage.h:$(GLSRC)gxftype.h $(GLSRC)gximage.h:$(GLSRC)gxfrac.h -$(GLSRC)gximage.h:$(GLSRC)gxdda.h -$(GLSRC)gximage.h:$(GLSRC)gslparam.h -$(GLSRC)gximage.h:$(GLSRC)gxbcache.h -$(GLSRC)gximage.h:$(GLSRC)gsdcolor.h -$(GLSRC)gximage.h:$(GLSRC)gsrect.h $(GLSRC)gximage.h:$(GLSRC)gscms.h -$(GLSRC)gximage.h:$(GLSRC)gxftype.h -$(GLSRC)gximage.h:$(GLSRC)gsdevice.h $(GLSRC)gximage.h:$(GLSRC)gscspace.h -$(GLSRC)gximage.h:$(GLSRC)gsuid.h +$(GLSRC)gximage.h:$(GLSRC)gxpath.h +$(GLSRC)gximage.h:$(GLSRC)gxbcache.h +$(GLSRC)gximage.h:$(GLSRC)gsdevice.h $(GLSRC)gximage.h:$(GLSRC)gxarith.h -$(GLSRC)gximage.h:$(GLSRC)gsdsrc.h +$(GLSRC)gximage.h:$(GLSRC)gspenum.h +$(GLSRC)gximage.h:$(GLSRC)gxhttile.h +$(GLSRC)gximage.h:$(GLSRC)gsrect.h +$(GLSRC)gximage.h:$(GLSRC)gslparam.h $(GLSRC)gximage.h:$(GLSRC)gsxfont.h +$(GLSRC)gximage.h:$(GLSRC)gsiparam.h +$(GLSRC)gximage.h:$(GLSRC)gsdsrc.h +$(GLSRC)gximage.h:$(GLSRC)gxbitmap.h +$(GLSRC)gximage.h:$(GLSRC)gsmatrix.h +$(GLSRC)gximage.h:$(GLSRC)gscpm.h $(GLSRC)gximage.h:$(GLSRC)gxfixed.h $(GLSRC)gximage.h:$(GLSRC)gsrefct.h -$(GLSRC)gximage.h:$(GLSRC)gscpm.h -$(GLSRC)gximage.h:$(GLSRC)gsiparam.h -$(GLSRC)gximage.h:$(GLSRC)gxhttile.h -$(GLSRC)gximage.h:$(GLSRC)gp.h -$(GLSRC)gximage.h:$(GLSRC)memento.h $(GLSRC)gximage.h:$(GLSRC)gsparam.h -$(GLSRC)gximage.h:$(GLSRC)gsmatrix.h -$(GLSRC)gximage.h:$(GLSRC)gxbitmap.h -$(GLSRC)gximage.h:$(GLSRC)srdline.h +$(GLSRC)gximage.h:$(GLSRC)gp.h +$(GLSRC)gximage.h:$(GLSRC)gsccolor.h $(GLSRC)gximage.h:$(GLSRC)gsstruct.h $(GLSRC)gximage.h:$(GLSRC)gxsync.h -$(GLSRC)gximage.h:$(GLSRC)gscsel.h +$(GLSRC)gximage.h:$(GLSRC)srdline.h $(GLSRC)gximage.h:$(GLSRC)scommon.h +$(GLSRC)gximage.h:$(GLSRC)memento.h +$(GLSRC)gximage.h:$(GLSRC)gscsel.h $(GLSRC)gximage.h:$(GLSRC)gsbitmap.h -$(GLSRC)gximage.h:$(GLSRC)gsccolor.h $(GLSRC)gximage.h:$(GLSRC)gsstype.h +$(GLSRC)gximage.h:$(GLSRC)stat_.h +$(GLSRC)gximage.h:$(GLSRC)gxtmap.h $(GLSRC)gximage.h:$(GLSRC)gsmemory.h $(GLSRC)gximage.h:$(GLSRC)gpsync.h -$(GLSRC)gximage.h:$(GLSRC)gpgetenv.h $(GLSRC)gximage.h:$(GLSRC)memory_.h +$(GLSRC)gximage.h:$(GLSRC)gpgetenv.h $(GLSRC)gximage.h:$(GLSRC)gslibctx.h $(GLSRC)gximage.h:$(GLSRC)gscdefs.h +$(GLSRC)gximage.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gximage.h:$(GLSRC)stdio_.h $(GLSRC)gximage.h:$(GLSRC)gscompt.h $(GLSRC)gximage.h:$(GLSRC)gxcindex.h -$(GLSRC)gximage.h:$(GLSRC)stdint_.h $(GLSRC)gximage.h:$(GLSRC)gsgstate.h +$(GLSRC)gximage.h:$(GLSRC)stdint_.h +$(GLSRC)gximage.h:$(GLSRC)gssprintf.h $(GLSRC)gximage.h:$(GLSRC)gsccode.h -$(GLSRC)gximage.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gximage.h:$(GLSRC)stdio_.h -$(GLSRC)gximage.h:$(GLSRC)gstypes.h $(GLSRC)gximage.h:$(GLSRC)std.h +$(GLSRC)gximage.h:$(GLSRC)gstypes.h $(GLSRC)gximage.h:$(GLSRC)stdpre.h $(GLSRC)gximage.h:$(GLGEN)arch.h -$(GLSRC)gximage.h:$(GLSRC)gssprintf.h $(GLSRC)gxhldevc.h:$(GLSRC)gsdcolor.h $(GLSRC)gxhldevc.h:$(GLSRC)gscms.h -$(GLSRC)gxhldevc.h:$(GLSRC)gsdevice.h $(GLSRC)gxhldevc.h:$(GLSRC)gscspace.h +$(GLSRC)gxhldevc.h:$(GLSRC)gsdevice.h $(GLSRC)gxhldevc.h:$(GLSRC)gxarith.h -$(GLSRC)gxhldevc.h:$(GLSRC)gsrefct.h -$(GLSRC)gxhldevc.h:$(GLSRC)gsiparam.h $(GLSRC)gxhldevc.h:$(GLSRC)gxhttile.h -$(GLSRC)gxhldevc.h:$(GLSRC)memento.h -$(GLSRC)gxhldevc.h:$(GLSRC)gsparam.h -$(GLSRC)gxhldevc.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxhldevc.h:$(GLSRC)gsiparam.h $(GLSRC)gxhldevc.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxhldevc.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxhldevc.h:$(GLSRC)gsrefct.h +$(GLSRC)gxhldevc.h:$(GLSRC)gsparam.h +$(GLSRC)gxhldevc.h:$(GLSRC)gsccolor.h $(GLSRC)gxhldevc.h:$(GLSRC)gxsync.h $(GLSRC)gxhldevc.h:$(GLSRC)scommon.h +$(GLSRC)gxhldevc.h:$(GLSRC)memento.h $(GLSRC)gxhldevc.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxhldevc.h:$(GLSRC)gsccolor.h $(GLSRC)gxhldevc.h:$(GLSRC)gsstype.h $(GLSRC)gxhldevc.h:$(GLSRC)gsmemory.h $(GLSRC)gxhldevc.h:$(GLSRC)gpsync.h $(GLSRC)gxhldevc.h:$(GLSRC)gslibctx.h -$(GLSRC)gxhldevc.h:$(GLSRC)gxcindex.h -$(GLSRC)gxhldevc.h:$(GLSRC)stdint_.h -$(GLSRC)gxhldevc.h:$(GLSRC)gsgstate.h $(GLSRC)gxhldevc.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxhldevc.h:$(GLSRC)stdio_.h -$(GLSRC)gxhldevc.h:$(GLSRC)gstypes.h +$(GLSRC)gxhldevc.h:$(GLSRC)gxcindex.h +$(GLSRC)gxhldevc.h:$(GLSRC)gsgstate.h +$(GLSRC)gxhldevc.h:$(GLSRC)stdint_.h +$(GLSRC)gxhldevc.h:$(GLSRC)gssprintf.h $(GLSRC)gxhldevc.h:$(GLSRC)std.h +$(GLSRC)gxhldevc.h:$(GLSRC)gstypes.h $(GLSRC)gxhldevc.h:$(GLSRC)stdpre.h $(GLSRC)gxhldevc.h:$(GLGEN)arch.h -$(GLSRC)gxhldevc.h:$(GLSRC)gssprintf.h $(GLSRC)gsptype2.h:$(GLSRC)gsshade.h $(GLSRC)gsptype2.h:$(GLSRC)gspath.h $(GLSRC)gsptype2.h:$(GLSRC)gxmatrix.h -$(GLSRC)gsptype2.h:$(GLSRC)gspcolor.h $(GLSRC)gsptype2.h:$(GLSRC)gscie.h +$(GLSRC)gsptype2.h:$(GLSRC)gspcolor.h $(GLSRC)gsptype2.h:$(GLSRC)gsfunc.h $(GLSRC)gsptype2.h:$(GLSRC)gxctable.h -$(GLSRC)gsptype2.h:$(GLSRC)gxpath.h -$(GLSRC)gsptype2.h:$(GLSRC)gspenum.h -$(GLSRC)gsptype2.h:$(GLSRC)gxfrac.h -$(GLSRC)gsptype2.h:$(GLSRC)gslparam.h +$(GLSRC)gsptype2.h:$(GLSRC)gsuid.h $(GLSRC)gsptype2.h:$(GLSRC)gsdcolor.h -$(GLSRC)gsptype2.h:$(GLSRC)gsrect.h +$(GLSRC)gsptype2.h:$(GLSRC)gxfrac.h $(GLSRC)gsptype2.h:$(GLSRC)gscms.h -$(GLSRC)gsptype2.h:$(GLSRC)gsdevice.h $(GLSRC)gsptype2.h:$(GLSRC)gscspace.h -$(GLSRC)gsptype2.h:$(GLSRC)gsuid.h +$(GLSRC)gsptype2.h:$(GLSRC)gxpath.h +$(GLSRC)gsptype2.h:$(GLSRC)gsdevice.h $(GLSRC)gsptype2.h:$(GLSRC)gxarith.h +$(GLSRC)gsptype2.h:$(GLSRC)gspenum.h +$(GLSRC)gsptype2.h:$(GLSRC)gxhttile.h +$(GLSRC)gsptype2.h:$(GLSRC)gsrect.h +$(GLSRC)gsptype2.h:$(GLSRC)gslparam.h +$(GLSRC)gsptype2.h:$(GLSRC)gsiparam.h $(GLSRC)gsptype2.h:$(GLSRC)gsdsrc.h +$(GLSRC)gsptype2.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsptype2.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsptype2.h:$(GLSRC)gscpm.h $(GLSRC)gsptype2.h:$(GLSRC)gxfixed.h $(GLSRC)gsptype2.h:$(GLSRC)gsrefct.h -$(GLSRC)gsptype2.h:$(GLSRC)gscpm.h -$(GLSRC)gsptype2.h:$(GLSRC)gsiparam.h -$(GLSRC)gsptype2.h:$(GLSRC)gxhttile.h -$(GLSRC)gsptype2.h:$(GLSRC)memento.h $(GLSRC)gsptype2.h:$(GLSRC)gsparam.h -$(GLSRC)gsptype2.h:$(GLSRC)gsmatrix.h -$(GLSRC)gsptype2.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsptype2.h:$(GLSRC)gsccolor.h $(GLSRC)gsptype2.h:$(GLSRC)gsstruct.h $(GLSRC)gsptype2.h:$(GLSRC)gxsync.h $(GLSRC)gsptype2.h:$(GLSRC)scommon.h +$(GLSRC)gsptype2.h:$(GLSRC)memento.h $(GLSRC)gsptype2.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsptype2.h:$(GLSRC)gsccolor.h $(GLSRC)gsptype2.h:$(GLSRC)gsstype.h $(GLSRC)gsptype2.h:$(GLSRC)gsmemory.h $(GLSRC)gsptype2.h:$(GLSRC)gpsync.h $(GLSRC)gsptype2.h:$(GLSRC)gslibctx.h -$(GLSRC)gsptype2.h:$(GLSRC)gxcindex.h -$(GLSRC)gsptype2.h:$(GLSRC)stdint_.h -$(GLSRC)gsptype2.h:$(GLSRC)gsgstate.h $(GLSRC)gsptype2.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsptype2.h:$(GLSRC)stdio_.h -$(GLSRC)gsptype2.h:$(GLSRC)gstypes.h +$(GLSRC)gsptype2.h:$(GLSRC)gxcindex.h +$(GLSRC)gsptype2.h:$(GLSRC)gsgstate.h +$(GLSRC)gsptype2.h:$(GLSRC)stdint_.h +$(GLSRC)gsptype2.h:$(GLSRC)gssprintf.h $(GLSRC)gsptype2.h:$(GLSRC)std.h +$(GLSRC)gsptype2.h:$(GLSRC)gstypes.h $(GLSRC)gsptype2.h:$(GLSRC)stdpre.h $(GLSRC)gsptype2.h:$(GLGEN)arch.h -$(GLSRC)gsptype2.h:$(GLSRC)gssprintf.h $(GLSRC)gdevddrw.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevddrw.h:$(GLSRC)gxtext.h $(GLSRC)gdevddrw.h:$(GLSRC)gstext.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevddrw.h:$(GLSRC)gstparam.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxcspace.h $(GLSRC)gdevddrw.h:$(GLSRC)gsropt.h $(GLSRC)gdevddrw.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevddrw.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsuid.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsimage.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxdda.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevddrw.h:$(GLSRC)gsfont.h $(GLSRC)gdevddrw.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxpath.h -$(GLSRC)gdevddrw.h:$(GLSRC)gspenum.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsimage.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxftype.h $(GLSRC)gdevddrw.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxdda.h -$(GLSRC)gdevddrw.h:$(GLSRC)gslparam.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsrect.h $(GLSRC)gdevddrw.h:$(GLSRC)gscms.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxftype.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsdevice.h $(GLSRC)gdevddrw.h:$(GLSRC)gscspace.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsuid.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxpath.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsdevice.h $(GLSRC)gdevddrw.h:$(GLSRC)gxarith.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevddrw.h:$(GLSRC)gspenum.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsrect.h +$(GLSRC)gdevddrw.h:$(GLSRC)gslparam.h $(GLSRC)gdevddrw.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevddrw.h:$(GLSRC)gscpm.h $(GLSRC)gdevddrw.h:$(GLSRC)gxfixed.h $(GLSRC)gdevddrw.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevddrw.h:$(GLSRC)gscpm.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevddrw.h:$(GLSRC)gp.h -$(GLSRC)gdevddrw.h:$(GLSRC)memento.h $(GLSRC)gdevddrw.h:$(GLSRC)gsparam.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevddrw.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevddrw.h:$(GLSRC)srdline.h +$(GLSRC)gdevddrw.h:$(GLSRC)gp.h +$(GLSRC)gdevddrw.h:$(GLSRC)gsccolor.h $(GLSRC)gdevddrw.h:$(GLSRC)gsstruct.h $(GLSRC)gdevddrw.h:$(GLSRC)gxsync.h -$(GLSRC)gdevddrw.h:$(GLSRC)gscsel.h +$(GLSRC)gdevddrw.h:$(GLSRC)srdline.h $(GLSRC)gdevddrw.h:$(GLSRC)scommon.h +$(GLSRC)gdevddrw.h:$(GLSRC)memento.h +$(GLSRC)gdevddrw.h:$(GLSRC)gscsel.h $(GLSRC)gdevddrw.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevddrw.h:$(GLSRC)gsccolor.h $(GLSRC)gdevddrw.h:$(GLSRC)gsstype.h +$(GLSRC)gdevddrw.h:$(GLSRC)stat_.h +$(GLSRC)gdevddrw.h:$(GLSRC)gxtmap.h $(GLSRC)gdevddrw.h:$(GLSRC)gsmemory.h $(GLSRC)gdevddrw.h:$(GLSRC)gpsync.h -$(GLSRC)gdevddrw.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevddrw.h:$(GLSRC)memory_.h +$(GLSRC)gdevddrw.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevddrw.h:$(GLSRC)gslibctx.h $(GLSRC)gdevddrw.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevddrw.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevddrw.h:$(GLSRC)stdio_.h $(GLSRC)gdevddrw.h:$(GLSRC)gscompt.h $(GLSRC)gdevddrw.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevddrw.h:$(GLSRC)stdint_.h $(GLSRC)gdevddrw.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevddrw.h:$(GLSRC)stdint_.h +$(GLSRC)gdevddrw.h:$(GLSRC)gssprintf.h $(GLSRC)gdevddrw.h:$(GLSRC)gsccode.h -$(GLSRC)gdevddrw.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevddrw.h:$(GLSRC)stdio_.h -$(GLSRC)gdevddrw.h:$(GLSRC)gstypes.h $(GLSRC)gdevddrw.h:$(GLSRC)std.h +$(GLSRC)gdevddrw.h:$(GLSRC)gstypes.h $(GLSRC)gdevddrw.h:$(GLSRC)stdpre.h $(GLSRC)gdevddrw.h:$(GLGEN)arch.h -$(GLSRC)gdevddrw.h:$(GLSRC)gssprintf.h $(GLSRC)gxfill.h:$(GLSRC)gzpath.h $(GLSRC)gxfill.h:$(GLSRC)gxdevcli.h $(GLSRC)gxfill.h:$(GLSRC)gxtext.h $(GLSRC)gxfill.h:$(GLSRC)gstext.h +$(GLSRC)gxfill.h:$(GLSRC)gsnamecl.h $(GLSRC)gxfill.h:$(GLSRC)gstparam.h -$(GLSRC)gxfill.h:$(GLSRC)gxcmap.h +$(GLSRC)gxfill.h:$(GLSRC)gxfcache.h +$(GLSRC)gxfill.h:$(GLSRC)gxcspace.h $(GLSRC)gxfill.h:$(GLSRC)gsropt.h $(GLSRC)gxfill.h:$(GLSRC)gsfunc.h -$(GLSRC)gxfill.h:$(GLSRC)gsnamecl.h $(GLSRC)gxfill.h:$(GLSRC)gxrplane.h -$(GLSRC)gxfill.h:$(GLSRC)gxcspace.h -$(GLSRC)gxfill.h:$(GLSRC)gxfcache.h +$(GLSRC)gxfill.h:$(GLSRC)gsuid.h +$(GLSRC)gxfill.h:$(GLSRC)gxcmap.h +$(GLSRC)gxfill.h:$(GLSRC)gsimage.h +$(GLSRC)gxfill.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxfill.h:$(GLSRC)gxdda.h +$(GLSRC)gxfill.h:$(GLSRC)gxcvalue.h $(GLSRC)gxfill.h:$(GLSRC)gsfont.h $(GLSRC)gxfill.h:$(GLSRC)gxfmap.h -$(GLSRC)gxfill.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxfill.h:$(GLSRC)gxpath.h -$(GLSRC)gxfill.h:$(GLSRC)gspenum.h -$(GLSRC)gxfill.h:$(GLSRC)gxtmap.h -$(GLSRC)gxfill.h:$(GLSRC)gsimage.h +$(GLSRC)gxfill.h:$(GLSRC)gxftype.h $(GLSRC)gxfill.h:$(GLSRC)gxfrac.h -$(GLSRC)gxfill.h:$(GLSRC)gxdda.h -$(GLSRC)gxfill.h:$(GLSRC)gslparam.h -$(GLSRC)gxfill.h:$(GLSRC)gxbcache.h -$(GLSRC)gxfill.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxfill.h:$(GLSRC)gsrect.h $(GLSRC)gxfill.h:$(GLSRC)gscms.h -$(GLSRC)gxfill.h:$(GLSRC)gxftype.h -$(GLSRC)gxfill.h:$(GLSRC)gsdevice.h $(GLSRC)gxfill.h:$(GLSRC)gscspace.h -$(GLSRC)gxfill.h:$(GLSRC)gsuid.h +$(GLSRC)gxfill.h:$(GLSRC)gxpath.h +$(GLSRC)gxfill.h:$(GLSRC)gxbcache.h +$(GLSRC)gxfill.h:$(GLSRC)gsdevice.h $(GLSRC)gxfill.h:$(GLSRC)gxarith.h -$(GLSRC)gxfill.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxfill.h:$(GLSRC)gspenum.h +$(GLSRC)gxfill.h:$(GLSRC)gxhttile.h +$(GLSRC)gxfill.h:$(GLSRC)gsrect.h +$(GLSRC)gxfill.h:$(GLSRC)gslparam.h $(GLSRC)gxfill.h:$(GLSRC)gsxfont.h +$(GLSRC)gxfill.h:$(GLSRC)gsiparam.h +$(GLSRC)gxfill.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxfill.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfill.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxfill.h:$(GLSRC)gscpm.h $(GLSRC)gxfill.h:$(GLSRC)gxfixed.h $(GLSRC)gxfill.h:$(GLSRC)gsrefct.h -$(GLSRC)gxfill.h:$(GLSRC)gscpm.h -$(GLSRC)gxfill.h:$(GLSRC)gsiparam.h -$(GLSRC)gxfill.h:$(GLSRC)gxhttile.h -$(GLSRC)gxfill.h:$(GLSRC)gp.h -$(GLSRC)gxfill.h:$(GLSRC)memento.h $(GLSRC)gxfill.h:$(GLSRC)gsparam.h -$(GLSRC)gxfill.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxfill.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxfill.h:$(GLSRC)srdline.h +$(GLSRC)gxfill.h:$(GLSRC)gp.h +$(GLSRC)gxfill.h:$(GLSRC)gsccolor.h $(GLSRC)gxfill.h:$(GLSRC)gsstruct.h $(GLSRC)gxfill.h:$(GLSRC)gxsync.h -$(GLSRC)gxfill.h:$(GLSRC)gscsel.h +$(GLSRC)gxfill.h:$(GLSRC)srdline.h $(GLSRC)gxfill.h:$(GLSRC)scommon.h +$(GLSRC)gxfill.h:$(GLSRC)memento.h +$(GLSRC)gxfill.h:$(GLSRC)gscsel.h $(GLSRC)gxfill.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxfill.h:$(GLSRC)gsccolor.h $(GLSRC)gxfill.h:$(GLSRC)gsstype.h +$(GLSRC)gxfill.h:$(GLSRC)stat_.h +$(GLSRC)gxfill.h:$(GLSRC)gxtmap.h $(GLSRC)gxfill.h:$(GLSRC)gsmemory.h $(GLSRC)gxfill.h:$(GLSRC)gpsync.h -$(GLSRC)gxfill.h:$(GLSRC)gpgetenv.h $(GLSRC)gxfill.h:$(GLSRC)memory_.h +$(GLSRC)gxfill.h:$(GLSRC)gpgetenv.h $(GLSRC)gxfill.h:$(GLSRC)gslibctx.h $(GLSRC)gxfill.h:$(GLSRC)gscdefs.h +$(GLSRC)gxfill.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxfill.h:$(GLSRC)stdio_.h $(GLSRC)gxfill.h:$(GLSRC)gscompt.h $(GLSRC)gxfill.h:$(GLSRC)gxcindex.h -$(GLSRC)gxfill.h:$(GLSRC)stdint_.h $(GLSRC)gxfill.h:$(GLSRC)gsgstate.h +$(GLSRC)gxfill.h:$(GLSRC)stdint_.h +$(GLSRC)gxfill.h:$(GLSRC)gssprintf.h $(GLSRC)gxfill.h:$(GLSRC)gsccode.h -$(GLSRC)gxfill.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxfill.h:$(GLSRC)stdio_.h -$(GLSRC)gxfill.h:$(GLSRC)gstypes.h $(GLSRC)gxfill.h:$(GLSRC)std.h +$(GLSRC)gxfill.h:$(GLSRC)gstypes.h $(GLSRC)gxfill.h:$(GLSRC)stdpre.h $(GLSRC)gxfill.h:$(GLGEN)arch.h -$(GLSRC)gxfill.h:$(GLSRC)gssprintf.h $(GLSRC)ttfoutl.h:$(GLSRC)malloc_.h $(GLSRC)ttfoutl.h:$(GLSRC)bobbin.h $(GLSRC)ttfoutl.h:$(GLSRC)gxfcache.h +$(GLSRC)ttfoutl.h:$(GLSRC)gsuid.h $(GLSRC)ttfoutl.h:$(GLSRC)gsfont.h -$(GLSRC)ttfoutl.h:$(GLSRC)gxbcache.h $(GLSRC)ttfoutl.h:$(GLSRC)gxftype.h -$(GLSRC)ttfoutl.h:$(GLSRC)gsuid.h +$(GLSRC)ttfoutl.h:$(GLSRC)gxbcache.h $(GLSRC)ttfoutl.h:$(GLSRC)gsxfont.h -$(GLSRC)ttfoutl.h:$(GLSRC)gxfixed.h -$(GLSRC)ttfoutl.h:$(GLSRC)memento.h -$(GLSRC)ttfoutl.h:$(GLSRC)gsmatrix.h $(GLSRC)ttfoutl.h:$(GLSRC)gxbitmap.h +$(GLSRC)ttfoutl.h:$(GLSRC)gsmatrix.h +$(GLSRC)ttfoutl.h:$(GLSRC)gxfixed.h $(GLSRC)ttfoutl.h:$(GLSRC)scommon.h +$(GLSRC)ttfoutl.h:$(GLSRC)memento.h $(GLSRC)ttfoutl.h:$(GLSRC)gsbitmap.h $(GLSRC)ttfoutl.h:$(GLSRC)gsstype.h $(GLSRC)ttfoutl.h:$(GLSRC)gsmemory.h $(GLSRC)ttfoutl.h:$(GLSRC)gslibctx.h -$(GLSRC)ttfoutl.h:$(GLSRC)stdint_.h -$(GLSRC)ttfoutl.h:$(GLSRC)gsgstate.h -$(GLSRC)ttfoutl.h:$(GLSRC)gsccode.h $(GLSRC)ttfoutl.h:$(GLSRC)gs_dll_call.h $(GLSRC)ttfoutl.h:$(GLSRC)stdio_.h -$(GLSRC)ttfoutl.h:$(GLSRC)gstypes.h +$(GLSRC)ttfoutl.h:$(GLSRC)gsgstate.h +$(GLSRC)ttfoutl.h:$(GLSRC)stdint_.h +$(GLSRC)ttfoutl.h:$(GLSRC)gssprintf.h +$(GLSRC)ttfoutl.h:$(GLSRC)gsccode.h $(GLSRC)ttfoutl.h:$(GLSRC)std.h +$(GLSRC)ttfoutl.h:$(GLSRC)gstypes.h $(GLSRC)ttfoutl.h:$(GLSRC)stdpre.h $(GLSRC)ttfoutl.h:$(GLGEN)arch.h -$(GLSRC)ttfoutl.h:$(GLSRC)gssprintf.h $(GLSRC)gxttfb.h:$(GLSRC)ttfoutl.h -$(GLSRC)gxttfb.h:$(GLSRC)gxfont.h $(GLSRC)gxttfb.h:$(GLSRC)malloc_.h +$(GLSRC)gxttfb.h:$(GLSRC)gxfont.h $(GLSRC)gxttfb.h:$(GLSRC)bobbin.h $(GLSRC)gxttfb.h:$(GLSRC)gspath.h $(GLSRC)gxttfb.h:$(GLSRC)gxmatrix.h @@ -9696,255 +9807,258 @@ $(GLSRC)gxttfb.h:$(GLSRC)gsnotify.h $(GLSRC)gxttfb.h:$(GLSRC)gsfcmap.h $(GLSRC)gxttfb.h:$(GLSRC)gstext.h $(GLSRC)gxttfb.h:$(GLSRC)gxfcache.h +$(GLSRC)gxttfb.h:$(GLSRC)gsuid.h +$(GLSRC)gxttfb.h:$(GLSRC)gsdcolor.h $(GLSRC)gxttfb.h:$(GLSRC)gsfont.h +$(GLSRC)gxttfb.h:$(GLSRC)gxftype.h +$(GLSRC)gxttfb.h:$(GLSRC)gscms.h +$(GLSRC)gxttfb.h:$(GLSRC)gscspace.h $(GLSRC)gxttfb.h:$(GLSRC)gxpath.h -$(GLSRC)gxttfb.h:$(GLSRC)gspenum.h -$(GLSRC)gxttfb.h:$(GLSRC)gslparam.h $(GLSRC)gxttfb.h:$(GLSRC)gxbcache.h -$(GLSRC)gxttfb.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxttfb.h:$(GLSRC)gsrect.h -$(GLSRC)gxttfb.h:$(GLSRC)gscms.h -$(GLSRC)gxttfb.h:$(GLSRC)gxftype.h $(GLSRC)gxttfb.h:$(GLSRC)gsdevice.h -$(GLSRC)gxttfb.h:$(GLSRC)gscspace.h -$(GLSRC)gxttfb.h:$(GLSRC)gsuid.h $(GLSRC)gxttfb.h:$(GLSRC)gxarith.h +$(GLSRC)gxttfb.h:$(GLSRC)gspenum.h +$(GLSRC)gxttfb.h:$(GLSRC)gxhttile.h +$(GLSRC)gxttfb.h:$(GLSRC)gsrect.h +$(GLSRC)gxttfb.h:$(GLSRC)gslparam.h $(GLSRC)gxttfb.h:$(GLSRC)gsxfont.h +$(GLSRC)gxttfb.h:$(GLSRC)gsiparam.h +$(GLSRC)gxttfb.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxttfb.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxttfb.h:$(GLSRC)gscpm.h $(GLSRC)gxttfb.h:$(GLSRC)gxfixed.h $(GLSRC)gxttfb.h:$(GLSRC)gsrefct.h -$(GLSRC)gxttfb.h:$(GLSRC)gscpm.h -$(GLSRC)gxttfb.h:$(GLSRC)gsiparam.h -$(GLSRC)gxttfb.h:$(GLSRC)gxhttile.h -$(GLSRC)gxttfb.h:$(GLSRC)memento.h $(GLSRC)gxttfb.h:$(GLSRC)gsparam.h -$(GLSRC)gxttfb.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxttfb.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxttfb.h:$(GLSRC)gsccolor.h $(GLSRC)gxttfb.h:$(GLSRC)gxsync.h $(GLSRC)gxttfb.h:$(GLSRC)scommon.h +$(GLSRC)gxttfb.h:$(GLSRC)memento.h $(GLSRC)gxttfb.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxttfb.h:$(GLSRC)gsccolor.h $(GLSRC)gxttfb.h:$(GLSRC)gsstype.h $(GLSRC)gxttfb.h:$(GLSRC)gsmemory.h $(GLSRC)gxttfb.h:$(GLSRC)gpsync.h $(GLSRC)gxttfb.h:$(GLSRC)gslibctx.h +$(GLSRC)gxttfb.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxttfb.h:$(GLSRC)stdio_.h $(GLSRC)gxttfb.h:$(GLSRC)gxcindex.h -$(GLSRC)gxttfb.h:$(GLSRC)stdint_.h $(GLSRC)gxttfb.h:$(GLSRC)gsgstate.h +$(GLSRC)gxttfb.h:$(GLSRC)stdint_.h +$(GLSRC)gxttfb.h:$(GLSRC)gssprintf.h $(GLSRC)gxttfb.h:$(GLSRC)gsccode.h -$(GLSRC)gxttfb.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxttfb.h:$(GLSRC)stdio_.h -$(GLSRC)gxttfb.h:$(GLSRC)gstypes.h $(GLSRC)gxttfb.h:$(GLSRC)std.h +$(GLSRC)gxttfb.h:$(GLSRC)gstypes.h $(GLSRC)gxttfb.h:$(GLSRC)stdpre.h $(GLSRC)gxttfb.h:$(GLGEN)arch.h -$(GLSRC)gxttfb.h:$(GLSRC)gssprintf.h $(GLSRC)gzspotan.h:$(GLSRC)gzpath.h $(GLSRC)gzspotan.h:$(GLSRC)gxdevcli.h $(GLSRC)gzspotan.h:$(GLSRC)gxtext.h $(GLSRC)gzspotan.h:$(GLSRC)gstext.h +$(GLSRC)gzspotan.h:$(GLSRC)gsnamecl.h $(GLSRC)gzspotan.h:$(GLSRC)gstparam.h -$(GLSRC)gzspotan.h:$(GLSRC)gxcmap.h +$(GLSRC)gzspotan.h:$(GLSRC)gxfcache.h +$(GLSRC)gzspotan.h:$(GLSRC)gxcspace.h $(GLSRC)gzspotan.h:$(GLSRC)gsropt.h $(GLSRC)gzspotan.h:$(GLSRC)gsfunc.h -$(GLSRC)gzspotan.h:$(GLSRC)gsnamecl.h $(GLSRC)gzspotan.h:$(GLSRC)gxrplane.h -$(GLSRC)gzspotan.h:$(GLSRC)gxcspace.h -$(GLSRC)gzspotan.h:$(GLSRC)gxfcache.h +$(GLSRC)gzspotan.h:$(GLSRC)gsuid.h +$(GLSRC)gzspotan.h:$(GLSRC)gxcmap.h +$(GLSRC)gzspotan.h:$(GLSRC)gsimage.h +$(GLSRC)gzspotan.h:$(GLSRC)gsdcolor.h +$(GLSRC)gzspotan.h:$(GLSRC)gxdda.h +$(GLSRC)gzspotan.h:$(GLSRC)gxcvalue.h $(GLSRC)gzspotan.h:$(GLSRC)gsfont.h $(GLSRC)gzspotan.h:$(GLSRC)gxfmap.h -$(GLSRC)gzspotan.h:$(GLSRC)gxcvalue.h -$(GLSRC)gzspotan.h:$(GLSRC)gxpath.h -$(GLSRC)gzspotan.h:$(GLSRC)gspenum.h -$(GLSRC)gzspotan.h:$(GLSRC)gxtmap.h -$(GLSRC)gzspotan.h:$(GLSRC)gsimage.h +$(GLSRC)gzspotan.h:$(GLSRC)gxftype.h $(GLSRC)gzspotan.h:$(GLSRC)gxfrac.h -$(GLSRC)gzspotan.h:$(GLSRC)gxdda.h -$(GLSRC)gzspotan.h:$(GLSRC)gslparam.h -$(GLSRC)gzspotan.h:$(GLSRC)gxbcache.h -$(GLSRC)gzspotan.h:$(GLSRC)gsdcolor.h -$(GLSRC)gzspotan.h:$(GLSRC)gsrect.h $(GLSRC)gzspotan.h:$(GLSRC)gscms.h -$(GLSRC)gzspotan.h:$(GLSRC)gxftype.h -$(GLSRC)gzspotan.h:$(GLSRC)gsdevice.h $(GLSRC)gzspotan.h:$(GLSRC)gscspace.h -$(GLSRC)gzspotan.h:$(GLSRC)gsuid.h +$(GLSRC)gzspotan.h:$(GLSRC)gxpath.h +$(GLSRC)gzspotan.h:$(GLSRC)gxbcache.h +$(GLSRC)gzspotan.h:$(GLSRC)gsdevice.h $(GLSRC)gzspotan.h:$(GLSRC)gxarith.h -$(GLSRC)gzspotan.h:$(GLSRC)gsdsrc.h +$(GLSRC)gzspotan.h:$(GLSRC)gspenum.h +$(GLSRC)gzspotan.h:$(GLSRC)gxhttile.h +$(GLSRC)gzspotan.h:$(GLSRC)gsrect.h +$(GLSRC)gzspotan.h:$(GLSRC)gslparam.h $(GLSRC)gzspotan.h:$(GLSRC)gsxfont.h +$(GLSRC)gzspotan.h:$(GLSRC)gsiparam.h +$(GLSRC)gzspotan.h:$(GLSRC)gsdsrc.h +$(GLSRC)gzspotan.h:$(GLSRC)gxbitmap.h +$(GLSRC)gzspotan.h:$(GLSRC)gsmatrix.h +$(GLSRC)gzspotan.h:$(GLSRC)gscpm.h $(GLSRC)gzspotan.h:$(GLSRC)gxfixed.h $(GLSRC)gzspotan.h:$(GLSRC)gsrefct.h -$(GLSRC)gzspotan.h:$(GLSRC)gscpm.h -$(GLSRC)gzspotan.h:$(GLSRC)gsiparam.h -$(GLSRC)gzspotan.h:$(GLSRC)gxhttile.h -$(GLSRC)gzspotan.h:$(GLSRC)gp.h -$(GLSRC)gzspotan.h:$(GLSRC)memento.h $(GLSRC)gzspotan.h:$(GLSRC)gsparam.h -$(GLSRC)gzspotan.h:$(GLSRC)gsmatrix.h -$(GLSRC)gzspotan.h:$(GLSRC)gxbitmap.h -$(GLSRC)gzspotan.h:$(GLSRC)srdline.h +$(GLSRC)gzspotan.h:$(GLSRC)gp.h +$(GLSRC)gzspotan.h:$(GLSRC)gsccolor.h $(GLSRC)gzspotan.h:$(GLSRC)gsstruct.h $(GLSRC)gzspotan.h:$(GLSRC)gxsync.h -$(GLSRC)gzspotan.h:$(GLSRC)gscsel.h +$(GLSRC)gzspotan.h:$(GLSRC)srdline.h $(GLSRC)gzspotan.h:$(GLSRC)scommon.h +$(GLSRC)gzspotan.h:$(GLSRC)memento.h +$(GLSRC)gzspotan.h:$(GLSRC)gscsel.h $(GLSRC)gzspotan.h:$(GLSRC)gsbitmap.h -$(GLSRC)gzspotan.h:$(GLSRC)gsccolor.h $(GLSRC)gzspotan.h:$(GLSRC)gsstype.h +$(GLSRC)gzspotan.h:$(GLSRC)stat_.h +$(GLSRC)gzspotan.h:$(GLSRC)gxtmap.h $(GLSRC)gzspotan.h:$(GLSRC)gsmemory.h $(GLSRC)gzspotan.h:$(GLSRC)gpsync.h -$(GLSRC)gzspotan.h:$(GLSRC)gpgetenv.h $(GLSRC)gzspotan.h:$(GLSRC)memory_.h +$(GLSRC)gzspotan.h:$(GLSRC)gpgetenv.h $(GLSRC)gzspotan.h:$(GLSRC)gslibctx.h $(GLSRC)gzspotan.h:$(GLSRC)gscdefs.h +$(GLSRC)gzspotan.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gzspotan.h:$(GLSRC)stdio_.h $(GLSRC)gzspotan.h:$(GLSRC)gscompt.h $(GLSRC)gzspotan.h:$(GLSRC)gxcindex.h -$(GLSRC)gzspotan.h:$(GLSRC)stdint_.h $(GLSRC)gzspotan.h:$(GLSRC)gsgstate.h +$(GLSRC)gzspotan.h:$(GLSRC)stdint_.h +$(GLSRC)gzspotan.h:$(GLSRC)gssprintf.h $(GLSRC)gzspotan.h:$(GLSRC)gsccode.h -$(GLSRC)gzspotan.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gzspotan.h:$(GLSRC)stdio_.h -$(GLSRC)gzspotan.h:$(GLSRC)gstypes.h $(GLSRC)gzspotan.h:$(GLSRC)std.h +$(GLSRC)gzspotan.h:$(GLSRC)gstypes.h $(GLSRC)gzspotan.h:$(GLSRC)stdpre.h $(GLSRC)gzspotan.h:$(GLGEN)arch.h -$(GLSRC)gzspotan.h:$(GLSRC)gssprintf.h $(GLSRC)gsequivc.h:$(GLSRC)gxdevcli.h $(GLSRC)gsequivc.h:$(GLSRC)gxtext.h $(GLSRC)gsequivc.h:$(GLSRC)gstext.h +$(GLSRC)gsequivc.h:$(GLSRC)gsnamecl.h $(GLSRC)gsequivc.h:$(GLSRC)gstparam.h -$(GLSRC)gsequivc.h:$(GLSRC)gxcmap.h +$(GLSRC)gsequivc.h:$(GLSRC)gxfcache.h +$(GLSRC)gsequivc.h:$(GLSRC)gxcspace.h $(GLSRC)gsequivc.h:$(GLSRC)gsropt.h $(GLSRC)gsequivc.h:$(GLSRC)gsfunc.h -$(GLSRC)gsequivc.h:$(GLSRC)gsnamecl.h $(GLSRC)gsequivc.h:$(GLSRC)gxrplane.h -$(GLSRC)gsequivc.h:$(GLSRC)gxcspace.h -$(GLSRC)gsequivc.h:$(GLSRC)gxfcache.h +$(GLSRC)gsequivc.h:$(GLSRC)gsuid.h +$(GLSRC)gsequivc.h:$(GLSRC)gxcmap.h +$(GLSRC)gsequivc.h:$(GLSRC)gsimage.h +$(GLSRC)gsequivc.h:$(GLSRC)gsdcolor.h +$(GLSRC)gsequivc.h:$(GLSRC)gxdda.h +$(GLSRC)gsequivc.h:$(GLSRC)gxcvalue.h $(GLSRC)gsequivc.h:$(GLSRC)gsfont.h $(GLSRC)gsequivc.h:$(GLSRC)gxfmap.h -$(GLSRC)gsequivc.h:$(GLSRC)gxcvalue.h -$(GLSRC)gsequivc.h:$(GLSRC)gxpath.h -$(GLSRC)gsequivc.h:$(GLSRC)gspenum.h -$(GLSRC)gsequivc.h:$(GLSRC)gxtmap.h -$(GLSRC)gsequivc.h:$(GLSRC)gsimage.h +$(GLSRC)gsequivc.h:$(GLSRC)gxftype.h $(GLSRC)gsequivc.h:$(GLSRC)gxfrac.h -$(GLSRC)gsequivc.h:$(GLSRC)gxdda.h -$(GLSRC)gsequivc.h:$(GLSRC)gslparam.h -$(GLSRC)gsequivc.h:$(GLSRC)gxbcache.h -$(GLSRC)gsequivc.h:$(GLSRC)gsdcolor.h -$(GLSRC)gsequivc.h:$(GLSRC)gsrect.h $(GLSRC)gsequivc.h:$(GLSRC)gscms.h -$(GLSRC)gsequivc.h:$(GLSRC)gxftype.h -$(GLSRC)gsequivc.h:$(GLSRC)gsdevice.h $(GLSRC)gsequivc.h:$(GLSRC)gscspace.h -$(GLSRC)gsequivc.h:$(GLSRC)gsuid.h +$(GLSRC)gsequivc.h:$(GLSRC)gxpath.h +$(GLSRC)gsequivc.h:$(GLSRC)gxbcache.h +$(GLSRC)gsequivc.h:$(GLSRC)gsdevice.h $(GLSRC)gsequivc.h:$(GLSRC)gxarith.h -$(GLSRC)gsequivc.h:$(GLSRC)gsdsrc.h +$(GLSRC)gsequivc.h:$(GLSRC)gspenum.h +$(GLSRC)gsequivc.h:$(GLSRC)gxhttile.h +$(GLSRC)gsequivc.h:$(GLSRC)gsrect.h +$(GLSRC)gsequivc.h:$(GLSRC)gslparam.h $(GLSRC)gsequivc.h:$(GLSRC)gsxfont.h +$(GLSRC)gsequivc.h:$(GLSRC)gsiparam.h +$(GLSRC)gsequivc.h:$(GLSRC)gsdsrc.h +$(GLSRC)gsequivc.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsequivc.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsequivc.h:$(GLSRC)gscpm.h $(GLSRC)gsequivc.h:$(GLSRC)gxfixed.h $(GLSRC)gsequivc.h:$(GLSRC)gsrefct.h -$(GLSRC)gsequivc.h:$(GLSRC)gscpm.h -$(GLSRC)gsequivc.h:$(GLSRC)gsiparam.h -$(GLSRC)gsequivc.h:$(GLSRC)gxhttile.h -$(GLSRC)gsequivc.h:$(GLSRC)gp.h -$(GLSRC)gsequivc.h:$(GLSRC)memento.h $(GLSRC)gsequivc.h:$(GLSRC)gsparam.h -$(GLSRC)gsequivc.h:$(GLSRC)gsmatrix.h -$(GLSRC)gsequivc.h:$(GLSRC)gxbitmap.h -$(GLSRC)gsequivc.h:$(GLSRC)srdline.h +$(GLSRC)gsequivc.h:$(GLSRC)gp.h +$(GLSRC)gsequivc.h:$(GLSRC)gsccolor.h $(GLSRC)gsequivc.h:$(GLSRC)gsstruct.h $(GLSRC)gsequivc.h:$(GLSRC)gxsync.h -$(GLSRC)gsequivc.h:$(GLSRC)gscsel.h +$(GLSRC)gsequivc.h:$(GLSRC)srdline.h $(GLSRC)gsequivc.h:$(GLSRC)scommon.h +$(GLSRC)gsequivc.h:$(GLSRC)memento.h +$(GLSRC)gsequivc.h:$(GLSRC)gscsel.h $(GLSRC)gsequivc.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsequivc.h:$(GLSRC)gsccolor.h $(GLSRC)gsequivc.h:$(GLSRC)gsstype.h +$(GLSRC)gsequivc.h:$(GLSRC)stat_.h +$(GLSRC)gsequivc.h:$(GLSRC)gxtmap.h $(GLSRC)gsequivc.h:$(GLSRC)gsmemory.h $(GLSRC)gsequivc.h:$(GLSRC)gpsync.h -$(GLSRC)gsequivc.h:$(GLSRC)gpgetenv.h $(GLSRC)gsequivc.h:$(GLSRC)memory_.h +$(GLSRC)gsequivc.h:$(GLSRC)gpgetenv.h $(GLSRC)gsequivc.h:$(GLSRC)gslibctx.h $(GLSRC)gsequivc.h:$(GLSRC)gscdefs.h +$(GLSRC)gsequivc.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gsequivc.h:$(GLSRC)stdio_.h $(GLSRC)gsequivc.h:$(GLSRC)gscompt.h $(GLSRC)gsequivc.h:$(GLSRC)gxcindex.h -$(GLSRC)gsequivc.h:$(GLSRC)stdint_.h $(GLSRC)gsequivc.h:$(GLSRC)gsgstate.h +$(GLSRC)gsequivc.h:$(GLSRC)stdint_.h +$(GLSRC)gsequivc.h:$(GLSRC)gssprintf.h $(GLSRC)gsequivc.h:$(GLSRC)gsccode.h -$(GLSRC)gsequivc.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gsequivc.h:$(GLSRC)stdio_.h -$(GLSRC)gsequivc.h:$(GLSRC)gstypes.h $(GLSRC)gsequivc.h:$(GLSRC)std.h +$(GLSRC)gsequivc.h:$(GLSRC)gstypes.h $(GLSRC)gsequivc.h:$(GLSRC)stdpre.h $(GLSRC)gsequivc.h:$(GLGEN)arch.h -$(GLSRC)gsequivc.h:$(GLSRC)gssprintf.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxblend.h $(GLSRC)gdevdevn.h:$(GLSRC)gsequivc.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxblend.h $(GLSRC)gdevdevn.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevdevn.h:$(GLSRC)gxtext.h $(GLSRC)gdevdevn.h:$(GLSRC)gstext.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevdevn.h:$(GLSRC)gstparam.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxcspace.h $(GLSRC)gdevdevn.h:$(GLSRC)gsropt.h $(GLSRC)gdevdevn.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevdevn.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsuid.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsimage.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxdda.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevdevn.h:$(GLSRC)gsfont.h $(GLSRC)gdevdevn.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxpath.h -$(GLSRC)gdevdevn.h:$(GLSRC)gspenum.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsimage.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxftype.h $(GLSRC)gdevdevn.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxdda.h -$(GLSRC)gdevdevn.h:$(GLSRC)gslparam.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsrect.h $(GLSRC)gdevdevn.h:$(GLSRC)gscms.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxftype.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsdevice.h $(GLSRC)gdevdevn.h:$(GLSRC)gscspace.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsuid.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxpath.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsdevice.h $(GLSRC)gdevdevn.h:$(GLSRC)gxarith.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevdevn.h:$(GLSRC)gspenum.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsrect.h +$(GLSRC)gdevdevn.h:$(GLSRC)gslparam.h $(GLSRC)gdevdevn.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevdevn.h:$(GLSRC)gscpm.h $(GLSRC)gdevdevn.h:$(GLSRC)gxfixed.h $(GLSRC)gdevdevn.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevdevn.h:$(GLSRC)gscpm.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevdevn.h:$(GLSRC)gp.h -$(GLSRC)gdevdevn.h:$(GLSRC)memento.h $(GLSRC)gdevdevn.h:$(GLSRC)gsparam.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevdevn.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevdevn.h:$(GLSRC)srdline.h +$(GLSRC)gdevdevn.h:$(GLSRC)gp.h +$(GLSRC)gdevdevn.h:$(GLSRC)gsccolor.h $(GLSRC)gdevdevn.h:$(GLSRC)gsstruct.h $(GLSRC)gdevdevn.h:$(GLSRC)gxsync.h -$(GLSRC)gdevdevn.h:$(GLSRC)gscsel.h +$(GLSRC)gdevdevn.h:$(GLSRC)srdline.h $(GLSRC)gdevdevn.h:$(GLSRC)scommon.h +$(GLSRC)gdevdevn.h:$(GLSRC)memento.h +$(GLSRC)gdevdevn.h:$(GLSRC)gscsel.h $(GLSRC)gdevdevn.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevdevn.h:$(GLSRC)gsccolor.h $(GLSRC)gdevdevn.h:$(GLSRC)gsstype.h +$(GLSRC)gdevdevn.h:$(GLSRC)stat_.h +$(GLSRC)gdevdevn.h:$(GLSRC)gxtmap.h $(GLSRC)gdevdevn.h:$(GLSRC)gsmemory.h $(GLSRC)gdevdevn.h:$(GLSRC)gpsync.h -$(GLSRC)gdevdevn.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevdevn.h:$(GLSRC)memory_.h +$(GLSRC)gdevdevn.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevdevn.h:$(GLSRC)gslibctx.h $(GLSRC)gdevdevn.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevdevn.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevdevn.h:$(GLSRC)stdio_.h $(GLSRC)gdevdevn.h:$(GLSRC)gscompt.h $(GLSRC)gdevdevn.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevdevn.h:$(GLSRC)stdint_.h $(GLSRC)gdevdevn.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevdevn.h:$(GLSRC)stdint_.h +$(GLSRC)gdevdevn.h:$(GLSRC)gssprintf.h $(GLSRC)gdevdevn.h:$(GLSRC)gsccode.h -$(GLSRC)gdevdevn.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevdevn.h:$(GLSRC)stdio_.h -$(GLSRC)gdevdevn.h:$(GLSRC)gstypes.h $(GLSRC)gdevdevn.h:$(GLSRC)std.h +$(GLSRC)gdevdevn.h:$(GLSRC)gstypes.h $(GLSRC)gdevdevn.h:$(GLSRC)stdpre.h $(GLSRC)gdevdevn.h:$(GLGEN)arch.h -$(GLSRC)gdevdevn.h:$(GLSRC)gssprintf.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gdevprn.h $(GLSRC)gdevdevnprn.h:$(GLSRC)string_.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsstrtok.h @@ -9952,1032 +10066,1041 @@ $(GLSRC)gdevdevnprn.h:$(GLSRC)gxclthrd.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxclpage.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxclist.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxgstate.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gstrans.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxline.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gstrans.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsht1.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcomp.h $(GLSRC)gdevdevnprn.h:$(GLSRC)math_.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gdevp14.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxcolor2.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxpcolor.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gx.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gdevdevn.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsequivc.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gx.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxblend.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxclipsr.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcomp.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxdcolor.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gdebug.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxmatrix.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxbitfmt.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxdevbuf.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxband.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsequivc.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxclipsr.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gscolor2.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gscindex.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxdevice.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcpath.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsht.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcpath.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxdevmem.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxpcache.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gscindex.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsptype1.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxtext.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gspcolor.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gscie.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gstext.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxdcolor.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gstparam.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gscie.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxstate.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gspcolor.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcspace.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsropt.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxctable.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsnamecl.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsmalloc.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxiclass.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxclio.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxctable.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsuid.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsimage.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxdda.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsfont.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxpath.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gspenum.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsimage.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxiclass.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxftype.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxdda.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gslparam.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsrect.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gscms.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxftype.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsdevice.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gscspace.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsuid.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxpath.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsdevice.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxarith.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gspenum.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsrect.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gslparam.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gscpm.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxclio.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsio.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gp.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)memento.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsparam.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gscpm.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsparam.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gp.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsccolor.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gsstruct.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxsync.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsutil.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsstrl.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gdbflags.h $(GLSRC)gdevdevnprn.h:$(GLSRC)srdline.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsstruct.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gserrors.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gxsync.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)scommon.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)memento.h $(GLSRC)gdevdevnprn.h:$(GLSRC)vmsmath.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gscsel.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)scommon.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsfname.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gsccolor.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsstype.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)stat_.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gxtmap.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsmemory.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gpsync.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevdevnprn.h:$(GLSRC)memory_.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gslibctx.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)stdio_.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gscompt.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)stdint_.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)stdint_.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gssprintf.h $(GLSRC)gdevdevnprn.h:$(GLSRC)gsccode.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)stdio_.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gstypes.h $(GLSRC)gdevdevnprn.h:$(GLSRC)std.h +$(GLSRC)gdevdevnprn.h:$(GLSRC)gstypes.h $(GLSRC)gdevdevnprn.h:$(GLSRC)stdpre.h $(GLSRC)gdevdevnprn.h:$(GLGEN)arch.h -$(GLSRC)gdevdevnprn.h:$(GLSRC)gssprintf.h $(GLSRC)gdevoflt.h:$(GLSRC)gxdevice.h $(GLSRC)gdevoflt.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevoflt.h:$(GLSRC)gxtext.h $(GLSRC)gdevoflt.h:$(GLSRC)gstext.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevoflt.h:$(GLSRC)gstparam.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxcspace.h $(GLSRC)gdevoflt.h:$(GLSRC)gsropt.h $(GLSRC)gdevoflt.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsnamecl.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsmalloc.h $(GLSRC)gdevoflt.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsuid.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsimage.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxdda.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevoflt.h:$(GLSRC)gsfont.h $(GLSRC)gdevoflt.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxpath.h -$(GLSRC)gdevoflt.h:$(GLSRC)gspenum.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsimage.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxftype.h $(GLSRC)gdevoflt.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxdda.h -$(GLSRC)gdevoflt.h:$(GLSRC)gslparam.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsrect.h $(GLSRC)gdevoflt.h:$(GLSRC)gscms.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxftype.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsdevice.h $(GLSRC)gdevoflt.h:$(GLSRC)gscspace.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsuid.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxpath.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsdevice.h $(GLSRC)gdevoflt.h:$(GLSRC)gxarith.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevoflt.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevoflt.h:$(GLSRC)gspenum.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsrect.h +$(GLSRC)gdevoflt.h:$(GLSRC)gslparam.h $(GLSRC)gdevoflt.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevoflt.h:$(GLSRC)gscpm.h $(GLSRC)gdevoflt.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevoflt.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevoflt.h:$(GLSRC)gsio.h -$(GLSRC)gdevoflt.h:$(GLSRC)gp.h -$(GLSRC)gdevoflt.h:$(GLSRC)memento.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsparam.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevoflt.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevoflt.h:$(GLSRC)srdline.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevoflt.h:$(GLSRC)gscpm.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsparam.h +$(GLSRC)gdevoflt.h:$(GLSRC)gp.h +$(GLSRC)gdevoflt.h:$(GLSRC)gsccolor.h $(GLSRC)gdevoflt.h:$(GLSRC)gsstruct.h $(GLSRC)gdevoflt.h:$(GLSRC)gxsync.h -$(GLSRC)gdevoflt.h:$(GLSRC)gscsel.h +$(GLSRC)gdevoflt.h:$(GLSRC)srdline.h $(GLSRC)gdevoflt.h:$(GLSRC)scommon.h +$(GLSRC)gdevoflt.h:$(GLSRC)memento.h +$(GLSRC)gdevoflt.h:$(GLSRC)gscsel.h $(GLSRC)gdevoflt.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevoflt.h:$(GLSRC)gsfname.h -$(GLSRC)gdevoflt.h:$(GLSRC)gsccolor.h $(GLSRC)gdevoflt.h:$(GLSRC)gsstype.h +$(GLSRC)gdevoflt.h:$(GLSRC)stat_.h +$(GLSRC)gdevoflt.h:$(GLSRC)gxtmap.h $(GLSRC)gdevoflt.h:$(GLSRC)gsmemory.h $(GLSRC)gdevoflt.h:$(GLSRC)gpsync.h -$(GLSRC)gdevoflt.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevoflt.h:$(GLSRC)memory_.h +$(GLSRC)gdevoflt.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevoflt.h:$(GLSRC)gslibctx.h $(GLSRC)gdevoflt.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevoflt.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevoflt.h:$(GLSRC)stdio_.h $(GLSRC)gdevoflt.h:$(GLSRC)gscompt.h $(GLSRC)gdevoflt.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevoflt.h:$(GLSRC)stdint_.h $(GLSRC)gdevoflt.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevoflt.h:$(GLSRC)stdint_.h +$(GLSRC)gdevoflt.h:$(GLSRC)gssprintf.h $(GLSRC)gdevoflt.h:$(GLSRC)gsccode.h -$(GLSRC)gdevoflt.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevoflt.h:$(GLSRC)stdio_.h -$(GLSRC)gdevoflt.h:$(GLSRC)gstypes.h $(GLSRC)gdevoflt.h:$(GLSRC)std.h +$(GLSRC)gdevoflt.h:$(GLSRC)gstypes.h $(GLSRC)gdevoflt.h:$(GLSRC)stdpre.h $(GLSRC)gdevoflt.h:$(GLGEN)arch.h -$(GLSRC)gdevoflt.h:$(GLSRC)gssprintf.h $(GLSRC)gxfapi.h:$(GLSRC)gstext.h -$(GLSRC)gxfapi.h:$(GLSRC)gsfont.h -$(GLSRC)gxfapi.h:$(GLSRC)gxpath.h -$(GLSRC)gxfapi.h:$(GLSRC)gspenum.h -$(GLSRC)gxfapi.h:$(GLSRC)gslparam.h $(GLSRC)gxfapi.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxfapi.h:$(GLSRC)gsrect.h +$(GLSRC)gxfapi.h:$(GLSRC)gsfont.h $(GLSRC)gxfapi.h:$(GLSRC)gscms.h -$(GLSRC)gxfapi.h:$(GLSRC)gsdevice.h $(GLSRC)gxfapi.h:$(GLSRC)gscspace.h +$(GLSRC)gxfapi.h:$(GLSRC)gxpath.h +$(GLSRC)gxfapi.h:$(GLSRC)gsdevice.h $(GLSRC)gxfapi.h:$(GLSRC)gxarith.h +$(GLSRC)gxfapi.h:$(GLSRC)gspenum.h +$(GLSRC)gxfapi.h:$(GLSRC)gxhttile.h +$(GLSRC)gxfapi.h:$(GLSRC)gsrect.h +$(GLSRC)gxfapi.h:$(GLSRC)gslparam.h +$(GLSRC)gxfapi.h:$(GLSRC)gsiparam.h +$(GLSRC)gxfapi.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfapi.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxfapi.h:$(GLSRC)gscpm.h $(GLSRC)gxfapi.h:$(GLSRC)gxfixed.h $(GLSRC)gxfapi.h:$(GLSRC)gsrefct.h -$(GLSRC)gxfapi.h:$(GLSRC)gscpm.h -$(GLSRC)gxfapi.h:$(GLSRC)gsiparam.h -$(GLSRC)gxfapi.h:$(GLSRC)gxhttile.h -$(GLSRC)gxfapi.h:$(GLSRC)memento.h $(GLSRC)gxfapi.h:$(GLSRC)gsparam.h -$(GLSRC)gxfapi.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxfapi.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfapi.h:$(GLSRC)gsccolor.h $(GLSRC)gxfapi.h:$(GLSRC)gxsync.h $(GLSRC)gxfapi.h:$(GLSRC)scommon.h +$(GLSRC)gxfapi.h:$(GLSRC)memento.h $(GLSRC)gxfapi.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxfapi.h:$(GLSRC)gsccolor.h $(GLSRC)gxfapi.h:$(GLSRC)gsstype.h $(GLSRC)gxfapi.h:$(GLSRC)gsmemory.h $(GLSRC)gxfapi.h:$(GLSRC)gpsync.h $(GLSRC)gxfapi.h:$(GLSRC)gslibctx.h +$(GLSRC)gxfapi.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxfapi.h:$(GLSRC)stdio_.h $(GLSRC)gxfapi.h:$(GLSRC)gxcindex.h -$(GLSRC)gxfapi.h:$(GLSRC)stdint_.h $(GLSRC)gxfapi.h:$(GLSRC)gsgstate.h +$(GLSRC)gxfapi.h:$(GLSRC)stdint_.h +$(GLSRC)gxfapi.h:$(GLSRC)gssprintf.h $(GLSRC)gxfapi.h:$(GLSRC)gsccode.h -$(GLSRC)gxfapi.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxfapi.h:$(GLSRC)stdio_.h -$(GLSRC)gxfapi.h:$(GLSRC)gstypes.h $(GLSRC)gxfapi.h:$(GLSRC)std.h +$(GLSRC)gxfapi.h:$(GLSRC)gstypes.h $(GLSRC)gxfapi.h:$(GLSRC)stdpre.h $(GLSRC)gxfapi.h:$(GLGEN)arch.h -$(GLSRC)gxfapi.h:$(GLSRC)gssprintf.h $(GLSRC)wrfont.h:$(GLSRC)std.h $(GLSRC)wrfont.h:$(GLSRC)stdpre.h $(GLSRC)wrfont.h:$(GLGEN)arch.h $(GLSRC)write_t1.h:$(GLSRC)gxfapi.h $(GLSRC)write_t1.h:$(GLSRC)gstext.h -$(GLSRC)write_t1.h:$(GLSRC)gsfont.h -$(GLSRC)write_t1.h:$(GLSRC)gxpath.h -$(GLSRC)write_t1.h:$(GLSRC)gspenum.h -$(GLSRC)write_t1.h:$(GLSRC)gslparam.h $(GLSRC)write_t1.h:$(GLSRC)gsdcolor.h -$(GLSRC)write_t1.h:$(GLSRC)gsrect.h +$(GLSRC)write_t1.h:$(GLSRC)gsfont.h $(GLSRC)write_t1.h:$(GLSRC)gscms.h -$(GLSRC)write_t1.h:$(GLSRC)gsdevice.h $(GLSRC)write_t1.h:$(GLSRC)gscspace.h +$(GLSRC)write_t1.h:$(GLSRC)gxpath.h +$(GLSRC)write_t1.h:$(GLSRC)gsdevice.h $(GLSRC)write_t1.h:$(GLSRC)gxarith.h +$(GLSRC)write_t1.h:$(GLSRC)gspenum.h +$(GLSRC)write_t1.h:$(GLSRC)gxhttile.h +$(GLSRC)write_t1.h:$(GLSRC)gsrect.h +$(GLSRC)write_t1.h:$(GLSRC)gslparam.h +$(GLSRC)write_t1.h:$(GLSRC)gsiparam.h +$(GLSRC)write_t1.h:$(GLSRC)gxbitmap.h +$(GLSRC)write_t1.h:$(GLSRC)gsmatrix.h +$(GLSRC)write_t1.h:$(GLSRC)gscpm.h $(GLSRC)write_t1.h:$(GLSRC)gxfixed.h $(GLSRC)write_t1.h:$(GLSRC)gsrefct.h -$(GLSRC)write_t1.h:$(GLSRC)gscpm.h -$(GLSRC)write_t1.h:$(GLSRC)gsiparam.h -$(GLSRC)write_t1.h:$(GLSRC)gxhttile.h -$(GLSRC)write_t1.h:$(GLSRC)memento.h $(GLSRC)write_t1.h:$(GLSRC)gsparam.h -$(GLSRC)write_t1.h:$(GLSRC)gsmatrix.h -$(GLSRC)write_t1.h:$(GLSRC)gxbitmap.h +$(GLSRC)write_t1.h:$(GLSRC)gsccolor.h $(GLSRC)write_t1.h:$(GLSRC)gxsync.h $(GLSRC)write_t1.h:$(GLSRC)scommon.h +$(GLSRC)write_t1.h:$(GLSRC)memento.h $(GLSRC)write_t1.h:$(GLSRC)gsbitmap.h -$(GLSRC)write_t1.h:$(GLSRC)gsccolor.h $(GLSRC)write_t1.h:$(GLSRC)gsstype.h $(GLSRC)write_t1.h:$(GLSRC)gsmemory.h $(GLSRC)write_t1.h:$(GLSRC)gpsync.h $(GLSRC)write_t1.h:$(GLSRC)gslibctx.h +$(GLSRC)write_t1.h:$(GLSRC)gs_dll_call.h +$(GLSRC)write_t1.h:$(GLSRC)stdio_.h $(GLSRC)write_t1.h:$(GLSRC)gxcindex.h -$(GLSRC)write_t1.h:$(GLSRC)stdint_.h $(GLSRC)write_t1.h:$(GLSRC)gsgstate.h +$(GLSRC)write_t1.h:$(GLSRC)stdint_.h +$(GLSRC)write_t1.h:$(GLSRC)gssprintf.h $(GLSRC)write_t1.h:$(GLSRC)gsccode.h -$(GLSRC)write_t1.h:$(GLSRC)gs_dll_call.h -$(GLSRC)write_t1.h:$(GLSRC)stdio_.h -$(GLSRC)write_t1.h:$(GLSRC)gstypes.h $(GLSRC)write_t1.h:$(GLSRC)std.h +$(GLSRC)write_t1.h:$(GLSRC)gstypes.h $(GLSRC)write_t1.h:$(GLSRC)stdpre.h $(GLSRC)write_t1.h:$(GLGEN)arch.h -$(GLSRC)write_t1.h:$(GLSRC)gssprintf.h $(GLSRC)write_t2.h:$(GLSRC)gxfapi.h $(GLSRC)write_t2.h:$(GLSRC)gstext.h -$(GLSRC)write_t2.h:$(GLSRC)gsfont.h -$(GLSRC)write_t2.h:$(GLSRC)gxpath.h -$(GLSRC)write_t2.h:$(GLSRC)gspenum.h -$(GLSRC)write_t2.h:$(GLSRC)gslparam.h $(GLSRC)write_t2.h:$(GLSRC)gsdcolor.h -$(GLSRC)write_t2.h:$(GLSRC)gsrect.h +$(GLSRC)write_t2.h:$(GLSRC)gsfont.h $(GLSRC)write_t2.h:$(GLSRC)gscms.h -$(GLSRC)write_t2.h:$(GLSRC)gsdevice.h $(GLSRC)write_t2.h:$(GLSRC)gscspace.h +$(GLSRC)write_t2.h:$(GLSRC)gxpath.h +$(GLSRC)write_t2.h:$(GLSRC)gsdevice.h $(GLSRC)write_t2.h:$(GLSRC)gxarith.h +$(GLSRC)write_t2.h:$(GLSRC)gspenum.h +$(GLSRC)write_t2.h:$(GLSRC)gxhttile.h +$(GLSRC)write_t2.h:$(GLSRC)gsrect.h +$(GLSRC)write_t2.h:$(GLSRC)gslparam.h +$(GLSRC)write_t2.h:$(GLSRC)gsiparam.h +$(GLSRC)write_t2.h:$(GLSRC)gxbitmap.h +$(GLSRC)write_t2.h:$(GLSRC)gsmatrix.h +$(GLSRC)write_t2.h:$(GLSRC)gscpm.h $(GLSRC)write_t2.h:$(GLSRC)gxfixed.h $(GLSRC)write_t2.h:$(GLSRC)gsrefct.h -$(GLSRC)write_t2.h:$(GLSRC)gscpm.h -$(GLSRC)write_t2.h:$(GLSRC)gsiparam.h -$(GLSRC)write_t2.h:$(GLSRC)gxhttile.h -$(GLSRC)write_t2.h:$(GLSRC)memento.h $(GLSRC)write_t2.h:$(GLSRC)gsparam.h -$(GLSRC)write_t2.h:$(GLSRC)gsmatrix.h -$(GLSRC)write_t2.h:$(GLSRC)gxbitmap.h +$(GLSRC)write_t2.h:$(GLSRC)gsccolor.h $(GLSRC)write_t2.h:$(GLSRC)gxsync.h $(GLSRC)write_t2.h:$(GLSRC)scommon.h +$(GLSRC)write_t2.h:$(GLSRC)memento.h $(GLSRC)write_t2.h:$(GLSRC)gsbitmap.h -$(GLSRC)write_t2.h:$(GLSRC)gsccolor.h $(GLSRC)write_t2.h:$(GLSRC)gsstype.h $(GLSRC)write_t2.h:$(GLSRC)gsmemory.h $(GLSRC)write_t2.h:$(GLSRC)gpsync.h $(GLSRC)write_t2.h:$(GLSRC)gslibctx.h +$(GLSRC)write_t2.h:$(GLSRC)gs_dll_call.h +$(GLSRC)write_t2.h:$(GLSRC)stdio_.h $(GLSRC)write_t2.h:$(GLSRC)gxcindex.h -$(GLSRC)write_t2.h:$(GLSRC)stdint_.h $(GLSRC)write_t2.h:$(GLSRC)gsgstate.h +$(GLSRC)write_t2.h:$(GLSRC)stdint_.h +$(GLSRC)write_t2.h:$(GLSRC)gssprintf.h $(GLSRC)write_t2.h:$(GLSRC)gsccode.h -$(GLSRC)write_t2.h:$(GLSRC)gs_dll_call.h -$(GLSRC)write_t2.h:$(GLSRC)stdio_.h -$(GLSRC)write_t2.h:$(GLSRC)gstypes.h $(GLSRC)write_t2.h:$(GLSRC)std.h +$(GLSRC)write_t2.h:$(GLSRC)gstypes.h $(GLSRC)write_t2.h:$(GLSRC)stdpre.h $(GLSRC)write_t2.h:$(GLGEN)arch.h -$(GLSRC)write_t2.h:$(GLSRC)gssprintf.h $(GLSRC)claptrap.h:$(GLSRC)gsmemory.h $(GLSRC)claptrap.h:$(GLSRC)gslibctx.h $(GLSRC)claptrap.h:$(GLSRC)gs_dll_call.h $(GLSRC)claptrap.h:$(GLSRC)stdio_.h -$(GLSRC)claptrap.h:$(GLSRC)gstypes.h +$(GLSRC)claptrap.h:$(GLSRC)gssprintf.h $(GLSRC)claptrap.h:$(GLSRC)std.h +$(GLSRC)claptrap.h:$(GLSRC)gstypes.h $(GLSRC)claptrap.h:$(GLSRC)stdpre.h $(GLSRC)claptrap.h:$(GLGEN)arch.h -$(GLSRC)claptrap.h:$(GLSRC)gssprintf.h $(GLSRC)ets.h:$(GLSRC)stdpre.h $(GLSRC)gxdownscale.h:$(GLSRC)gxgetbit.h $(GLSRC)gxdownscale.h:$(GLSRC)gxbitfmt.h $(GLSRC)gxdownscale.h:$(GLSRC)gxdevcli.h $(GLSRC)gxdownscale.h:$(GLSRC)gxtext.h $(GLSRC)gxdownscale.h:$(GLSRC)gstext.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdownscale.h:$(GLSRC)gstparam.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxcspace.h $(GLSRC)gxdownscale.h:$(GLSRC)gsropt.h $(GLSRC)gxdownscale.h:$(GLSRC)gsfunc.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsnamecl.h $(GLSRC)gxdownscale.h:$(GLSRC)gxrplane.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxcspace.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxfcache.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsuid.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxcmap.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsimage.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxdda.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxcvalue.h $(GLSRC)gxdownscale.h:$(GLSRC)gsfont.h $(GLSRC)gxdownscale.h:$(GLSRC)gxfmap.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxpath.h -$(GLSRC)gxdownscale.h:$(GLSRC)gspenum.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxtmap.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsimage.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxftype.h $(GLSRC)gxdownscale.h:$(GLSRC)gxfrac.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxdda.h -$(GLSRC)gxdownscale.h:$(GLSRC)gslparam.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxbcache.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsrect.h $(GLSRC)gxdownscale.h:$(GLSRC)gscms.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxftype.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsdevice.h $(GLSRC)gxdownscale.h:$(GLSRC)gscspace.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsuid.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxpath.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxbcache.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsdevice.h $(GLSRC)gxdownscale.h:$(GLSRC)gxarith.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdownscale.h:$(GLSRC)gspenum.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxhttile.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsrect.h +$(GLSRC)gxdownscale.h:$(GLSRC)gslparam.h $(GLSRC)gxdownscale.h:$(GLSRC)gsxfont.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsiparam.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxdownscale.h:$(GLSRC)gscpm.h $(GLSRC)gxdownscale.h:$(GLSRC)gxfixed.h $(GLSRC)gxdownscale.h:$(GLSRC)gsrefct.h -$(GLSRC)gxdownscale.h:$(GLSRC)gscpm.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsiparam.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxhttile.h -$(GLSRC)gxdownscale.h:$(GLSRC)gp.h -$(GLSRC)gxdownscale.h:$(GLSRC)memento.h $(GLSRC)gxdownscale.h:$(GLSRC)gsparam.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxdownscale.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxdownscale.h:$(GLSRC)srdline.h +$(GLSRC)gxdownscale.h:$(GLSRC)gp.h +$(GLSRC)gxdownscale.h:$(GLSRC)gsccolor.h $(GLSRC)gxdownscale.h:$(GLSRC)gsstruct.h $(GLSRC)gxdownscale.h:$(GLSRC)gxsync.h +$(GLSRC)gxdownscale.h:$(GLSRC)srdline.h $(GLSRC)gxdownscale.h:$(GLSRC)claptrap.h -$(GLSRC)gxdownscale.h:$(GLSRC)gscsel.h $(GLSRC)gxdownscale.h:$(GLSRC)scommon.h +$(GLSRC)gxdownscale.h:$(GLSRC)memento.h +$(GLSRC)gxdownscale.h:$(GLSRC)gscsel.h $(GLSRC)gxdownscale.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxdownscale.h:$(GLSRC)gsccolor.h $(GLSRC)gxdownscale.h:$(GLSRC)gsstype.h +$(GLSRC)gxdownscale.h:$(GLSRC)stat_.h +$(GLSRC)gxdownscale.h:$(GLSRC)gxtmap.h $(GLSRC)gxdownscale.h:$(GLSRC)gsmemory.h $(GLSRC)gxdownscale.h:$(GLSRC)gpsync.h -$(GLSRC)gxdownscale.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdownscale.h:$(GLSRC)memory_.h +$(GLSRC)gxdownscale.h:$(GLSRC)gpgetenv.h $(GLSRC)gxdownscale.h:$(GLSRC)gslibctx.h $(GLSRC)gxdownscale.h:$(GLSRC)gscdefs.h +$(GLSRC)gxdownscale.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxdownscale.h:$(GLSRC)ctype_.h +$(GLSRC)gxdownscale.h:$(GLSRC)stdio_.h $(GLSRC)gxdownscale.h:$(GLSRC)gscompt.h $(GLSRC)gxdownscale.h:$(GLSRC)gxcindex.h -$(GLSRC)gxdownscale.h:$(GLSRC)stdint_.h $(GLSRC)gxdownscale.h:$(GLSRC)gsgstate.h +$(GLSRC)gxdownscale.h:$(GLSRC)stdint_.h +$(GLSRC)gxdownscale.h:$(GLSRC)gssprintf.h $(GLSRC)gxdownscale.h:$(GLSRC)gsccode.h -$(GLSRC)gxdownscale.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxdownscale.h:$(GLSRC)stdio_.h -$(GLSRC)gxdownscale.h:$(GLSRC)gstypes.h $(GLSRC)gxdownscale.h:$(GLSRC)std.h +$(GLSRC)gxdownscale.h:$(GLSRC)gstypes.h $(GLSRC)gxdownscale.h:$(GLSRC)stdpre.h $(GLSRC)gxdownscale.h:$(GLGEN)arch.h -$(GLSRC)gxdownscale.h:$(GLSRC)gssprintf.h $(GLSRC)strmio.h:$(GLSRC)scommon.h $(GLSRC)strmio.h:$(GLSRC)gsstype.h $(GLSRC)strmio.h:$(GLSRC)gsmemory.h $(GLSRC)strmio.h:$(GLSRC)gslibctx.h -$(GLSRC)strmio.h:$(GLSRC)stdint_.h $(GLSRC)strmio.h:$(GLSRC)gs_dll_call.h $(GLSRC)strmio.h:$(GLSRC)stdio_.h -$(GLSRC)strmio.h:$(GLSRC)gstypes.h +$(GLSRC)strmio.h:$(GLSRC)stdint_.h +$(GLSRC)strmio.h:$(GLSRC)gssprintf.h $(GLSRC)strmio.h:$(GLSRC)std.h +$(GLSRC)strmio.h:$(GLSRC)gstypes.h $(GLSRC)strmio.h:$(GLSRC)stdpre.h $(GLSRC)strmio.h:$(GLGEN)arch.h -$(GLSRC)strmio.h:$(GLSRC)gssprintf.h $(GLSRC)sdcparam.h:$(GLSRC)sdct.h $(GLSRC)sdcparam.h:$(GLSRC)setjmp_.h $(GLSRC)sdcparam.h:$(GLSRC)strimpl.h $(GLSRC)sdcparam.h:$(GLSRC)gscms.h -$(GLSRC)sdcparam.h:$(GLSRC)gsdevice.h $(GLSRC)sdcparam.h:$(GLSRC)gscspace.h -$(GLSRC)sdcparam.h:$(GLSRC)gsrefct.h +$(GLSRC)sdcparam.h:$(GLSRC)gsdevice.h $(GLSRC)sdcparam.h:$(GLSRC)gsiparam.h -$(GLSRC)sdcparam.h:$(GLSRC)memento.h -$(GLSRC)sdcparam.h:$(GLSRC)gsparam.h -$(GLSRC)sdcparam.h:$(GLSRC)gsmatrix.h $(GLSRC)sdcparam.h:$(GLSRC)gxbitmap.h +$(GLSRC)sdcparam.h:$(GLSRC)gsmatrix.h +$(GLSRC)sdcparam.h:$(GLSRC)gsrefct.h +$(GLSRC)sdcparam.h:$(GLSRC)gsparam.h +$(GLSRC)sdcparam.h:$(GLSRC)gsccolor.h $(GLSRC)sdcparam.h:$(GLSRC)gsstruct.h $(GLSRC)sdcparam.h:$(GLSRC)gxsync.h $(GLSRC)sdcparam.h:$(GLSRC)scommon.h +$(GLSRC)sdcparam.h:$(GLSRC)memento.h $(GLSRC)sdcparam.h:$(GLSRC)gsbitmap.h -$(GLSRC)sdcparam.h:$(GLSRC)gsccolor.h $(GLSRC)sdcparam.h:$(GLSRC)gsstype.h $(GLSRC)sdcparam.h:$(GLSRC)gsmemory.h $(GLSRC)sdcparam.h:$(GLSRC)gpsync.h $(GLSRC)sdcparam.h:$(GLSRC)gslibctx.h -$(GLSRC)sdcparam.h:$(GLSRC)stdint_.h -$(GLSRC)sdcparam.h:$(GLSRC)gsgstate.h $(GLSRC)sdcparam.h:$(GLSRC)gs_dll_call.h $(GLSRC)sdcparam.h:$(GLSRC)stdio_.h -$(GLSRC)sdcparam.h:$(GLSRC)gstypes.h +$(GLSRC)sdcparam.h:$(GLSRC)gsgstate.h +$(GLSRC)sdcparam.h:$(GLSRC)stdint_.h +$(GLSRC)sdcparam.h:$(GLSRC)gssprintf.h $(GLSRC)sdcparam.h:$(GLSRC)std.h +$(GLSRC)sdcparam.h:$(GLSRC)gstypes.h $(GLSRC)sdcparam.h:$(GLSRC)stdpre.h $(GLSRC)sdcparam.h:$(GLGEN)arch.h -$(GLSRC)sdcparam.h:$(GLSRC)gssprintf.h $(GLSRC)ssha2.h:$(GLSRC)sha2.h $(GLSRC)ssha2.h:$(GLSRC)scommon.h $(GLSRC)ssha2.h:$(GLSRC)gsstype.h $(GLSRC)ssha2.h:$(GLSRC)gsmemory.h $(GLSRC)ssha2.h:$(GLSRC)gslibctx.h -$(GLSRC)ssha2.h:$(GLSRC)stdint_.h $(GLSRC)ssha2.h:$(GLSRC)gs_dll_call.h $(GLSRC)ssha2.h:$(GLSRC)stdio_.h -$(GLSRC)ssha2.h:$(GLSRC)gstypes.h +$(GLSRC)ssha2.h:$(GLSRC)stdint_.h +$(GLSRC)ssha2.h:$(GLSRC)gssprintf.h $(GLSRC)ssha2.h:$(GLSRC)std.h +$(GLSRC)ssha2.h:$(GLSRC)gstypes.h $(GLSRC)ssha2.h:$(GLSRC)stdpre.h $(GLSRC)ssha2.h:$(GLGEN)arch.h -$(GLSRC)ssha2.h:$(GLSRC)gssprintf.h $(GLSRC)gdevprn.h:$(GLSRC)string_.h $(GLSRC)gdevprn.h:$(GLSRC)gsstrtok.h $(GLSRC)gdevprn.h:$(GLSRC)gxclthrd.h $(GLSRC)gdevprn.h:$(GLSRC)gxclpage.h $(GLSRC)gdevprn.h:$(GLSRC)gxclist.h $(GLSRC)gdevprn.h:$(GLSRC)gxgstate.h -$(GLSRC)gdevprn.h:$(GLSRC)gstrans.h $(GLSRC)gdevprn.h:$(GLSRC)gxline.h +$(GLSRC)gdevprn.h:$(GLSRC)gstrans.h $(GLSRC)gdevprn.h:$(GLSRC)gsht1.h -$(GLSRC)gdevprn.h:$(GLSRC)gxcomp.h $(GLSRC)gdevprn.h:$(GLSRC)math_.h $(GLSRC)gdevprn.h:$(GLSRC)gdevp14.h $(GLSRC)gdevprn.h:$(GLSRC)gxcolor2.h $(GLSRC)gdevprn.h:$(GLSRC)gxpcolor.h -$(GLSRC)gdevprn.h:$(GLSRC)gx.h $(GLSRC)gdevprn.h:$(GLSRC)gdevdevn.h +$(GLSRC)gdevprn.h:$(GLSRC)gsequivc.h +$(GLSRC)gdevprn.h:$(GLSRC)gx.h $(GLSRC)gdevprn.h:$(GLSRC)gxblend.h +$(GLSRC)gdevprn.h:$(GLSRC)gxclipsr.h +$(GLSRC)gdevprn.h:$(GLSRC)gxcomp.h +$(GLSRC)gdevprn.h:$(GLSRC)gxdcolor.h $(GLSRC)gdevprn.h:$(GLSRC)gdebug.h $(GLSRC)gdevprn.h:$(GLSRC)gxmatrix.h +$(GLSRC)gdevprn.h:$(GLSRC)gxbitfmt.h $(GLSRC)gdevprn.h:$(GLSRC)gxdevbuf.h $(GLSRC)gdevprn.h:$(GLSRC)gxband.h -$(GLSRC)gdevprn.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gdevprn.h:$(GLSRC)gsequivc.h -$(GLSRC)gdevprn.h:$(GLSRC)gxclipsr.h $(GLSRC)gdevprn.h:$(GLSRC)gscolor2.h +$(GLSRC)gdevprn.h:$(GLSRC)gscindex.h $(GLSRC)gdevprn.h:$(GLSRC)gxdevice.h -$(GLSRC)gdevprn.h:$(GLSRC)gxcpath.h $(GLSRC)gdevprn.h:$(GLSRC)gsht.h +$(GLSRC)gdevprn.h:$(GLSRC)gxcpath.h $(GLSRC)gdevprn.h:$(GLSRC)gxdevmem.h +$(GLSRC)gdevprn.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevprn.h:$(GLSRC)gxpcache.h -$(GLSRC)gdevprn.h:$(GLSRC)gscindex.h $(GLSRC)gdevprn.h:$(GLSRC)gsptype1.h -$(GLSRC)gdevprn.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevprn.h:$(GLSRC)gxtext.h -$(GLSRC)gdevprn.h:$(GLSRC)gspcolor.h +$(GLSRC)gdevprn.h:$(GLSRC)gscie.h $(GLSRC)gdevprn.h:$(GLSRC)gstext.h -$(GLSRC)gdevprn.h:$(GLSRC)gxdcolor.h +$(GLSRC)gdevprn.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevprn.h:$(GLSRC)gstparam.h -$(GLSRC)gdevprn.h:$(GLSRC)gscie.h $(GLSRC)gdevprn.h:$(GLSRC)gxstate.h -$(GLSRC)gdevprn.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevprn.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevprn.h:$(GLSRC)gspcolor.h +$(GLSRC)gdevprn.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevprn.h:$(GLSRC)gxcspace.h $(GLSRC)gdevprn.h:$(GLSRC)gsropt.h $(GLSRC)gdevprn.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevprn.h:$(GLSRC)gxctable.h -$(GLSRC)gdevprn.h:$(GLSRC)gsnamecl.h +$(GLSRC)gdevprn.h:$(GLSRC)gsmalloc.h $(GLSRC)gdevprn.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevprn.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevprn.h:$(GLSRC)gxiclass.h -$(GLSRC)gdevprn.h:$(GLSRC)gxclio.h -$(GLSRC)gdevprn.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevprn.h:$(GLSRC)gxctable.h +$(GLSRC)gdevprn.h:$(GLSRC)gsuid.h +$(GLSRC)gdevprn.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevprn.h:$(GLSRC)gsimage.h +$(GLSRC)gdevprn.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevprn.h:$(GLSRC)gxdda.h +$(GLSRC)gdevprn.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevprn.h:$(GLSRC)gsfont.h $(GLSRC)gdevprn.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevprn.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevprn.h:$(GLSRC)gxpath.h -$(GLSRC)gdevprn.h:$(GLSRC)gspenum.h -$(GLSRC)gdevprn.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevprn.h:$(GLSRC)gsimage.h +$(GLSRC)gdevprn.h:$(GLSRC)gxiclass.h +$(GLSRC)gdevprn.h:$(GLSRC)gxftype.h $(GLSRC)gdevprn.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevprn.h:$(GLSRC)gxdda.h -$(GLSRC)gdevprn.h:$(GLSRC)gslparam.h -$(GLSRC)gdevprn.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevprn.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevprn.h:$(GLSRC)gsrect.h $(GLSRC)gdevprn.h:$(GLSRC)gscms.h -$(GLSRC)gdevprn.h:$(GLSRC)gxftype.h -$(GLSRC)gdevprn.h:$(GLSRC)gsdevice.h $(GLSRC)gdevprn.h:$(GLSRC)gscspace.h -$(GLSRC)gdevprn.h:$(GLSRC)gsuid.h +$(GLSRC)gdevprn.h:$(GLSRC)gxpath.h +$(GLSRC)gdevprn.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevprn.h:$(GLSRC)gsdevice.h $(GLSRC)gdevprn.h:$(GLSRC)gxarith.h -$(GLSRC)gdevprn.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevprn.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevprn.h:$(GLSRC)gspenum.h +$(GLSRC)gdevprn.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevprn.h:$(GLSRC)gsrect.h +$(GLSRC)gdevprn.h:$(GLSRC)gslparam.h $(GLSRC)gdevprn.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevprn.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevprn.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevprn.h:$(GLSRC)gscpm.h +$(GLSRC)gdevprn.h:$(GLSRC)gxclio.h $(GLSRC)gdevprn.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevprn.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevprn.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevprn.h:$(GLSRC)gsio.h -$(GLSRC)gdevprn.h:$(GLSRC)gp.h -$(GLSRC)gdevprn.h:$(GLSRC)memento.h -$(GLSRC)gdevprn.h:$(GLSRC)gsparam.h -$(GLSRC)gdevprn.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevprn.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevprn.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevprn.h:$(GLSRC)gscpm.h +$(GLSRC)gdevprn.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevprn.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevprn.h:$(GLSRC)gsparam.h +$(GLSRC)gdevprn.h:$(GLSRC)gp.h +$(GLSRC)gdevprn.h:$(GLSRC)gsccolor.h +$(GLSRC)gdevprn.h:$(GLSRC)gsstruct.h +$(GLSRC)gdevprn.h:$(GLSRC)gxsync.h $(GLSRC)gdevprn.h:$(GLSRC)gsutil.h $(GLSRC)gdevprn.h:$(GLSRC)gsstrl.h $(GLSRC)gdevprn.h:$(GLSRC)gdbflags.h $(GLSRC)gdevprn.h:$(GLSRC)srdline.h -$(GLSRC)gdevprn.h:$(GLSRC)gsstruct.h $(GLSRC)gdevprn.h:$(GLSRC)gserrors.h -$(GLSRC)gdevprn.h:$(GLSRC)gxsync.h +$(GLSRC)gdevprn.h:$(GLSRC)scommon.h +$(GLSRC)gdevprn.h:$(GLSRC)memento.h $(GLSRC)gdevprn.h:$(GLSRC)vmsmath.h $(GLSRC)gdevprn.h:$(GLSRC)gscsel.h -$(GLSRC)gdevprn.h:$(GLSRC)scommon.h $(GLSRC)gdevprn.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevprn.h:$(GLSRC)gsfname.h -$(GLSRC)gdevprn.h:$(GLSRC)gsccolor.h $(GLSRC)gdevprn.h:$(GLSRC)gsstype.h +$(GLSRC)gdevprn.h:$(GLSRC)stat_.h +$(GLSRC)gdevprn.h:$(GLSRC)gxtmap.h $(GLSRC)gdevprn.h:$(GLSRC)gsmemory.h $(GLSRC)gdevprn.h:$(GLSRC)gpsync.h -$(GLSRC)gdevprn.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevprn.h:$(GLSRC)memory_.h +$(GLSRC)gdevprn.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevprn.h:$(GLSRC)gslibctx.h $(GLSRC)gdevprn.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevprn.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevprn.h:$(GLSRC)stdio_.h $(GLSRC)gdevprn.h:$(GLSRC)gscompt.h $(GLSRC)gdevprn.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevprn.h:$(GLSRC)stdint_.h $(GLSRC)gdevprn.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevprn.h:$(GLSRC)stdint_.h +$(GLSRC)gdevprn.h:$(GLSRC)gssprintf.h $(GLSRC)gdevprn.h:$(GLSRC)gsccode.h -$(GLSRC)gdevprn.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevprn.h:$(GLSRC)stdio_.h -$(GLSRC)gdevprn.h:$(GLSRC)gstypes.h $(GLSRC)gdevprn.h:$(GLSRC)std.h +$(GLSRC)gdevprn.h:$(GLSRC)gstypes.h $(GLSRC)gdevprn.h:$(GLSRC)stdpre.h $(GLSRC)gdevprn.h:$(GLGEN)arch.h -$(GLSRC)gdevprn.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmplt.h:$(GLSRC)gxdevice.h $(GLSRC)gdevmplt.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevmplt.h:$(GLSRC)gxtext.h $(GLSRC)gdevmplt.h:$(GLSRC)gstext.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevmplt.h:$(GLSRC)gstparam.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxcspace.h $(GLSRC)gdevmplt.h:$(GLSRC)gsropt.h $(GLSRC)gdevmplt.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsnamecl.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsmalloc.h $(GLSRC)gdevmplt.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsuid.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsimage.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxdda.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevmplt.h:$(GLSRC)gsfont.h $(GLSRC)gdevmplt.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxpath.h -$(GLSRC)gdevmplt.h:$(GLSRC)gspenum.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsimage.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxftype.h $(GLSRC)gdevmplt.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxdda.h -$(GLSRC)gdevmplt.h:$(GLSRC)gslparam.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsrect.h $(GLSRC)gdevmplt.h:$(GLSRC)gscms.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxftype.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsdevice.h $(GLSRC)gdevmplt.h:$(GLSRC)gscspace.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsuid.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxpath.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsdevice.h $(GLSRC)gdevmplt.h:$(GLSRC)gxarith.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevmplt.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevmplt.h:$(GLSRC)gspenum.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsrect.h +$(GLSRC)gdevmplt.h:$(GLSRC)gslparam.h $(GLSRC)gdevmplt.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevmplt.h:$(GLSRC)gscpm.h $(GLSRC)gdevmplt.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevmplt.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevmplt.h:$(GLSRC)gsio.h -$(GLSRC)gdevmplt.h:$(GLSRC)gp.h -$(GLSRC)gdevmplt.h:$(GLSRC)memento.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsparam.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevmplt.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevmplt.h:$(GLSRC)srdline.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevmplt.h:$(GLSRC)gscpm.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsparam.h +$(GLSRC)gdevmplt.h:$(GLSRC)gp.h +$(GLSRC)gdevmplt.h:$(GLSRC)gsccolor.h $(GLSRC)gdevmplt.h:$(GLSRC)gsstruct.h $(GLSRC)gdevmplt.h:$(GLSRC)gxsync.h -$(GLSRC)gdevmplt.h:$(GLSRC)gscsel.h +$(GLSRC)gdevmplt.h:$(GLSRC)srdline.h $(GLSRC)gdevmplt.h:$(GLSRC)scommon.h +$(GLSRC)gdevmplt.h:$(GLSRC)memento.h +$(GLSRC)gdevmplt.h:$(GLSRC)gscsel.h $(GLSRC)gdevmplt.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevmplt.h:$(GLSRC)gsfname.h -$(GLSRC)gdevmplt.h:$(GLSRC)gsccolor.h $(GLSRC)gdevmplt.h:$(GLSRC)gsstype.h +$(GLSRC)gdevmplt.h:$(GLSRC)stat_.h +$(GLSRC)gdevmplt.h:$(GLSRC)gxtmap.h $(GLSRC)gdevmplt.h:$(GLSRC)gsmemory.h $(GLSRC)gdevmplt.h:$(GLSRC)gpsync.h -$(GLSRC)gdevmplt.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevmplt.h:$(GLSRC)memory_.h +$(GLSRC)gdevmplt.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevmplt.h:$(GLSRC)gslibctx.h $(GLSRC)gdevmplt.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevmplt.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevmplt.h:$(GLSRC)stdio_.h $(GLSRC)gdevmplt.h:$(GLSRC)gscompt.h $(GLSRC)gdevmplt.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevmplt.h:$(GLSRC)stdint_.h $(GLSRC)gdevmplt.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevmplt.h:$(GLSRC)stdint_.h +$(GLSRC)gdevmplt.h:$(GLSRC)gssprintf.h $(GLSRC)gdevmplt.h:$(GLSRC)gsccode.h -$(GLSRC)gdevmplt.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevmplt.h:$(GLSRC)stdio_.h -$(GLSRC)gdevmplt.h:$(GLSRC)gstypes.h $(GLSRC)gdevmplt.h:$(GLSRC)std.h +$(GLSRC)gdevmplt.h:$(GLSRC)gstypes.h $(GLSRC)gdevmplt.h:$(GLSRC)stdpre.h $(GLSRC)gdevmplt.h:$(GLGEN)arch.h -$(GLSRC)gdevmplt.h:$(GLSRC)gssprintf.h $(GLSRC)gdevppla.h:$(GLSRC)gxdevbuf.h $(GLSRC)gdevppla.h:$(GLSRC)gxband.h $(GLSRC)gdevppla.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevppla.h:$(GLSRC)gxtext.h $(GLSRC)gdevppla.h:$(GLSRC)gstext.h +$(GLSRC)gdevppla.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevppla.h:$(GLSRC)gstparam.h -$(GLSRC)gdevppla.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevppla.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevppla.h:$(GLSRC)gxcspace.h $(GLSRC)gdevppla.h:$(GLSRC)gsropt.h $(GLSRC)gdevppla.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevppla.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevppla.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevppla.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevppla.h:$(GLSRC)gxclio.h -$(GLSRC)gdevppla.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevppla.h:$(GLSRC)gsuid.h +$(GLSRC)gdevppla.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevppla.h:$(GLSRC)gsimage.h +$(GLSRC)gdevppla.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevppla.h:$(GLSRC)gxdda.h +$(GLSRC)gdevppla.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevppla.h:$(GLSRC)gsfont.h $(GLSRC)gdevppla.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevppla.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevppla.h:$(GLSRC)gxpath.h -$(GLSRC)gdevppla.h:$(GLSRC)gspenum.h -$(GLSRC)gdevppla.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevppla.h:$(GLSRC)gsimage.h +$(GLSRC)gdevppla.h:$(GLSRC)gxftype.h $(GLSRC)gdevppla.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevppla.h:$(GLSRC)gxdda.h -$(GLSRC)gdevppla.h:$(GLSRC)gslparam.h -$(GLSRC)gdevppla.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevppla.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevppla.h:$(GLSRC)gsrect.h $(GLSRC)gdevppla.h:$(GLSRC)gscms.h -$(GLSRC)gdevppla.h:$(GLSRC)gxftype.h -$(GLSRC)gdevppla.h:$(GLSRC)gsdevice.h $(GLSRC)gdevppla.h:$(GLSRC)gscspace.h -$(GLSRC)gdevppla.h:$(GLSRC)gsuid.h +$(GLSRC)gdevppla.h:$(GLSRC)gxpath.h +$(GLSRC)gdevppla.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevppla.h:$(GLSRC)gsdevice.h $(GLSRC)gdevppla.h:$(GLSRC)gxarith.h -$(GLSRC)gdevppla.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevppla.h:$(GLSRC)gspenum.h +$(GLSRC)gdevppla.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevppla.h:$(GLSRC)gsrect.h +$(GLSRC)gdevppla.h:$(GLSRC)gslparam.h $(GLSRC)gdevppla.h:$(GLSRC)gsxfont.h +$(GLSRC)gdevppla.h:$(GLSRC)gxclio.h +$(GLSRC)gdevppla.h:$(GLSRC)gsiparam.h +$(GLSRC)gdevppla.h:$(GLSRC)gsdsrc.h +$(GLSRC)gdevppla.h:$(GLSRC)gxbitmap.h +$(GLSRC)gdevppla.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevppla.h:$(GLSRC)gscpm.h $(GLSRC)gdevppla.h:$(GLSRC)gxfixed.h $(GLSRC)gdevppla.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevppla.h:$(GLSRC)gscpm.h -$(GLSRC)gdevppla.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevppla.h:$(GLSRC)gxhttile.h -$(GLSRC)gdevppla.h:$(GLSRC)gp.h -$(GLSRC)gdevppla.h:$(GLSRC)memento.h $(GLSRC)gdevppla.h:$(GLSRC)gsparam.h -$(GLSRC)gdevppla.h:$(GLSRC)gsmatrix.h -$(GLSRC)gdevppla.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevppla.h:$(GLSRC)srdline.h +$(GLSRC)gdevppla.h:$(GLSRC)gp.h +$(GLSRC)gdevppla.h:$(GLSRC)gsccolor.h $(GLSRC)gdevppla.h:$(GLSRC)gsstruct.h $(GLSRC)gdevppla.h:$(GLSRC)gxsync.h -$(GLSRC)gdevppla.h:$(GLSRC)gscsel.h +$(GLSRC)gdevppla.h:$(GLSRC)srdline.h $(GLSRC)gdevppla.h:$(GLSRC)scommon.h +$(GLSRC)gdevppla.h:$(GLSRC)memento.h +$(GLSRC)gdevppla.h:$(GLSRC)gscsel.h $(GLSRC)gdevppla.h:$(GLSRC)gsbitmap.h -$(GLSRC)gdevppla.h:$(GLSRC)gsccolor.h $(GLSRC)gdevppla.h:$(GLSRC)gsstype.h +$(GLSRC)gdevppla.h:$(GLSRC)stat_.h +$(GLSRC)gdevppla.h:$(GLSRC)gxtmap.h $(GLSRC)gdevppla.h:$(GLSRC)gsmemory.h $(GLSRC)gdevppla.h:$(GLSRC)gpsync.h -$(GLSRC)gdevppla.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevppla.h:$(GLSRC)memory_.h +$(GLSRC)gdevppla.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevppla.h:$(GLSRC)gslibctx.h $(GLSRC)gdevppla.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevppla.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevppla.h:$(GLSRC)stdio_.h $(GLSRC)gdevppla.h:$(GLSRC)gscompt.h $(GLSRC)gdevppla.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevppla.h:$(GLSRC)stdint_.h $(GLSRC)gdevppla.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevppla.h:$(GLSRC)stdint_.h +$(GLSRC)gdevppla.h:$(GLSRC)gssprintf.h $(GLSRC)gdevppla.h:$(GLSRC)gsccode.h -$(GLSRC)gdevppla.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevppla.h:$(GLSRC)stdio_.h -$(GLSRC)gdevppla.h:$(GLSRC)gstypes.h $(GLSRC)gdevppla.h:$(GLSRC)std.h +$(GLSRC)gdevppla.h:$(GLSRC)gstypes.h $(GLSRC)gdevppla.h:$(GLSRC)stdpre.h $(GLSRC)gdevppla.h:$(GLGEN)arch.h -$(GLSRC)gdevppla.h:$(GLSRC)gssprintf.h $(GLSRC)gsiparm3.h:$(GLSRC)gsiparam.h -$(GLSRC)gsiparm3.h:$(GLSRC)gsmatrix.h $(GLSRC)gsiparm3.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsiparm3.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsiparm3.h:$(GLSRC)gsccolor.h $(GLSRC)gsiparm3.h:$(GLSRC)scommon.h $(GLSRC)gsiparm3.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsiparm3.h:$(GLSRC)gsccolor.h $(GLSRC)gsiparm3.h:$(GLSRC)gsstype.h $(GLSRC)gsiparm3.h:$(GLSRC)gsmemory.h $(GLSRC)gsiparm3.h:$(GLSRC)gslibctx.h -$(GLSRC)gsiparm3.h:$(GLSRC)stdint_.h $(GLSRC)gsiparm3.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsiparm3.h:$(GLSRC)stdio_.h -$(GLSRC)gsiparm3.h:$(GLSRC)gstypes.h +$(GLSRC)gsiparm3.h:$(GLSRC)stdint_.h +$(GLSRC)gsiparm3.h:$(GLSRC)gssprintf.h $(GLSRC)gsiparm3.h:$(GLSRC)std.h +$(GLSRC)gsiparm3.h:$(GLSRC)gstypes.h $(GLSRC)gsiparm3.h:$(GLSRC)stdpre.h $(GLSRC)gsiparm3.h:$(GLGEN)arch.h -$(GLSRC)gsiparm3.h:$(GLSRC)gssprintf.h $(GLSRC)gsiparm4.h:$(GLSRC)gsiparam.h -$(GLSRC)gsiparm4.h:$(GLSRC)gsmatrix.h $(GLSRC)gsiparm4.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsiparm4.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsiparm4.h:$(GLSRC)gsccolor.h $(GLSRC)gsiparm4.h:$(GLSRC)scommon.h $(GLSRC)gsiparm4.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsiparm4.h:$(GLSRC)gsccolor.h $(GLSRC)gsiparm4.h:$(GLSRC)gsstype.h $(GLSRC)gsiparm4.h:$(GLSRC)gsmemory.h $(GLSRC)gsiparm4.h:$(GLSRC)gslibctx.h -$(GLSRC)gsiparm4.h:$(GLSRC)stdint_.h $(GLSRC)gsiparm4.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsiparm4.h:$(GLSRC)stdio_.h -$(GLSRC)gsiparm4.h:$(GLSRC)gstypes.h +$(GLSRC)gsiparm4.h:$(GLSRC)stdint_.h +$(GLSRC)gsiparm4.h:$(GLSRC)gssprintf.h $(GLSRC)gsiparm4.h:$(GLSRC)std.h +$(GLSRC)gsiparm4.h:$(GLSRC)gstypes.h $(GLSRC)gsiparm4.h:$(GLSRC)stdpre.h $(GLSRC)gsiparm4.h:$(GLGEN)arch.h -$(GLSRC)gsiparm4.h:$(GLSRC)gssprintf.h $(GLSRC)gximage3.h:$(GLSRC)gsiparm3.h $(GLSRC)gximage3.h:$(GLSRC)gxiparam.h $(GLSRC)gximage3.h:$(GLSRC)gxdevcli.h $(GLSRC)gximage3.h:$(GLSRC)gxtext.h $(GLSRC)gximage3.h:$(GLSRC)gstext.h +$(GLSRC)gximage3.h:$(GLSRC)gsnamecl.h $(GLSRC)gximage3.h:$(GLSRC)gstparam.h -$(GLSRC)gximage3.h:$(GLSRC)gxcmap.h +$(GLSRC)gximage3.h:$(GLSRC)gxfcache.h +$(GLSRC)gximage3.h:$(GLSRC)gxcspace.h $(GLSRC)gximage3.h:$(GLSRC)gsropt.h $(GLSRC)gximage3.h:$(GLSRC)gsfunc.h -$(GLSRC)gximage3.h:$(GLSRC)gsnamecl.h $(GLSRC)gximage3.h:$(GLSRC)gxrplane.h -$(GLSRC)gximage3.h:$(GLSRC)gxcspace.h -$(GLSRC)gximage3.h:$(GLSRC)gxfcache.h +$(GLSRC)gximage3.h:$(GLSRC)gsuid.h +$(GLSRC)gximage3.h:$(GLSRC)gxcmap.h +$(GLSRC)gximage3.h:$(GLSRC)gsimage.h +$(GLSRC)gximage3.h:$(GLSRC)gsdcolor.h +$(GLSRC)gximage3.h:$(GLSRC)gxdda.h +$(GLSRC)gximage3.h:$(GLSRC)gxcvalue.h $(GLSRC)gximage3.h:$(GLSRC)gsfont.h $(GLSRC)gximage3.h:$(GLSRC)gxfmap.h -$(GLSRC)gximage3.h:$(GLSRC)gxcvalue.h -$(GLSRC)gximage3.h:$(GLSRC)gxpath.h -$(GLSRC)gximage3.h:$(GLSRC)gspenum.h -$(GLSRC)gximage3.h:$(GLSRC)gxtmap.h -$(GLSRC)gximage3.h:$(GLSRC)gsimage.h +$(GLSRC)gximage3.h:$(GLSRC)gxftype.h $(GLSRC)gximage3.h:$(GLSRC)gxfrac.h -$(GLSRC)gximage3.h:$(GLSRC)gxdda.h -$(GLSRC)gximage3.h:$(GLSRC)gslparam.h -$(GLSRC)gximage3.h:$(GLSRC)gxbcache.h -$(GLSRC)gximage3.h:$(GLSRC)gsdcolor.h -$(GLSRC)gximage3.h:$(GLSRC)gsrect.h $(GLSRC)gximage3.h:$(GLSRC)gscms.h -$(GLSRC)gximage3.h:$(GLSRC)gxftype.h -$(GLSRC)gximage3.h:$(GLSRC)gsdevice.h $(GLSRC)gximage3.h:$(GLSRC)gscspace.h -$(GLSRC)gximage3.h:$(GLSRC)gsuid.h +$(GLSRC)gximage3.h:$(GLSRC)gxpath.h +$(GLSRC)gximage3.h:$(GLSRC)gxbcache.h +$(GLSRC)gximage3.h:$(GLSRC)gsdevice.h $(GLSRC)gximage3.h:$(GLSRC)gxarith.h -$(GLSRC)gximage3.h:$(GLSRC)gsdsrc.h +$(GLSRC)gximage3.h:$(GLSRC)gspenum.h +$(GLSRC)gximage3.h:$(GLSRC)gxhttile.h +$(GLSRC)gximage3.h:$(GLSRC)gsrect.h +$(GLSRC)gximage3.h:$(GLSRC)gslparam.h $(GLSRC)gximage3.h:$(GLSRC)gsxfont.h +$(GLSRC)gximage3.h:$(GLSRC)gsiparam.h +$(GLSRC)gximage3.h:$(GLSRC)gsdsrc.h +$(GLSRC)gximage3.h:$(GLSRC)gxbitmap.h +$(GLSRC)gximage3.h:$(GLSRC)gsmatrix.h +$(GLSRC)gximage3.h:$(GLSRC)gscpm.h $(GLSRC)gximage3.h:$(GLSRC)gxfixed.h $(GLSRC)gximage3.h:$(GLSRC)gsrefct.h -$(GLSRC)gximage3.h:$(GLSRC)gscpm.h -$(GLSRC)gximage3.h:$(GLSRC)gsiparam.h -$(GLSRC)gximage3.h:$(GLSRC)gxhttile.h -$(GLSRC)gximage3.h:$(GLSRC)gp.h -$(GLSRC)gximage3.h:$(GLSRC)memento.h $(GLSRC)gximage3.h:$(GLSRC)gsparam.h -$(GLSRC)gximage3.h:$(GLSRC)gsmatrix.h -$(GLSRC)gximage3.h:$(GLSRC)gxbitmap.h -$(GLSRC)gximage3.h:$(GLSRC)srdline.h +$(GLSRC)gximage3.h:$(GLSRC)gp.h +$(GLSRC)gximage3.h:$(GLSRC)gsccolor.h $(GLSRC)gximage3.h:$(GLSRC)gsstruct.h $(GLSRC)gximage3.h:$(GLSRC)gxsync.h -$(GLSRC)gximage3.h:$(GLSRC)gscsel.h +$(GLSRC)gximage3.h:$(GLSRC)srdline.h $(GLSRC)gximage3.h:$(GLSRC)scommon.h +$(GLSRC)gximage3.h:$(GLSRC)memento.h +$(GLSRC)gximage3.h:$(GLSRC)gscsel.h $(GLSRC)gximage3.h:$(GLSRC)gsbitmap.h -$(GLSRC)gximage3.h:$(GLSRC)gsccolor.h $(GLSRC)gximage3.h:$(GLSRC)gsstype.h +$(GLSRC)gximage3.h:$(GLSRC)stat_.h +$(GLSRC)gximage3.h:$(GLSRC)gxtmap.h $(GLSRC)gximage3.h:$(GLSRC)gsmemory.h $(GLSRC)gximage3.h:$(GLSRC)gpsync.h -$(GLSRC)gximage3.h:$(GLSRC)gpgetenv.h $(GLSRC)gximage3.h:$(GLSRC)memory_.h +$(GLSRC)gximage3.h:$(GLSRC)gpgetenv.h $(GLSRC)gximage3.h:$(GLSRC)gslibctx.h $(GLSRC)gximage3.h:$(GLSRC)gscdefs.h +$(GLSRC)gximage3.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gximage3.h:$(GLSRC)stdio_.h $(GLSRC)gximage3.h:$(GLSRC)gscompt.h $(GLSRC)gximage3.h:$(GLSRC)gxcindex.h -$(GLSRC)gximage3.h:$(GLSRC)stdint_.h $(GLSRC)gximage3.h:$(GLSRC)gsgstate.h +$(GLSRC)gximage3.h:$(GLSRC)stdint_.h +$(GLSRC)gximage3.h:$(GLSRC)gssprintf.h $(GLSRC)gximage3.h:$(GLSRC)gsccode.h -$(GLSRC)gximage3.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gximage3.h:$(GLSRC)stdio_.h -$(GLSRC)gximage3.h:$(GLSRC)gstypes.h $(GLSRC)gximage3.h:$(GLSRC)std.h +$(GLSRC)gximage3.h:$(GLSRC)gstypes.h $(GLSRC)gximage3.h:$(GLSRC)stdpre.h $(GLSRC)gximage3.h:$(GLGEN)arch.h -$(GLSRC)gximage3.h:$(GLSRC)gssprintf.h $(GLSRC)gxcldev.h:$(GLSRC)gxdht.h $(GLSRC)gxcldev.h:$(GLSRC)srlx.h $(GLSRC)gxcldev.h:$(GLSRC)gxht.h $(GLSRC)gxcldev.h:$(GLSRC)gxhttype.h $(GLSRC)gxcldev.h:$(GLSRC)gxclist.h $(GLSRC)gxcldev.h:$(GLSRC)gxgstate.h -$(GLSRC)gxcldev.h:$(GLSRC)gstrans.h $(GLSRC)gxcldev.h:$(GLSRC)gxline.h +$(GLSRC)gxcldev.h:$(GLSRC)gstrans.h $(GLSRC)gxcldev.h:$(GLSRC)gsht1.h -$(GLSRC)gxcldev.h:$(GLSRC)gxcomp.h $(GLSRC)gxcldev.h:$(GLSRC)math_.h $(GLSRC)gxcldev.h:$(GLSRC)scfx.h $(GLSRC)gxcldev.h:$(GLSRC)gdevp14.h $(GLSRC)gxcldev.h:$(GLSRC)gxcolor2.h $(GLSRC)gxcldev.h:$(GLSRC)gxpcolor.h $(GLSRC)gxcldev.h:$(GLSRC)gdevdevn.h +$(GLSRC)gxcldev.h:$(GLSRC)gsequivc.h $(GLSRC)gxcldev.h:$(GLSRC)gxblend.h +$(GLSRC)gxcldev.h:$(GLSRC)gxclipsr.h +$(GLSRC)gxcldev.h:$(GLSRC)gxcomp.h +$(GLSRC)gxcldev.h:$(GLSRC)gxdcolor.h $(GLSRC)gxcldev.h:$(GLSRC)gxmatrix.h +$(GLSRC)gxcldev.h:$(GLSRC)gxbitfmt.h $(GLSRC)gxcldev.h:$(GLSRC)gxdevbuf.h $(GLSRC)gxcldev.h:$(GLSRC)gxband.h -$(GLSRC)gxcldev.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gxcldev.h:$(GLSRC)gsequivc.h -$(GLSRC)gxcldev.h:$(GLSRC)gxclipsr.h $(GLSRC)gxcldev.h:$(GLSRC)shc.h $(GLSRC)gxcldev.h:$(GLSRC)gscolor2.h +$(GLSRC)gxcldev.h:$(GLSRC)gscindex.h $(GLSRC)gxcldev.h:$(GLSRC)gxdevice.h -$(GLSRC)gxcldev.h:$(GLSRC)gxcpath.h $(GLSRC)gxcldev.h:$(GLSRC)gsht.h +$(GLSRC)gxcldev.h:$(GLSRC)gxcpath.h $(GLSRC)gxcldev.h:$(GLSRC)gxdevmem.h +$(GLSRC)gxcldev.h:$(GLSRC)gxdevcli.h $(GLSRC)gxcldev.h:$(GLSRC)gxpcache.h -$(GLSRC)gxcldev.h:$(GLSRC)gscindex.h $(GLSRC)gxcldev.h:$(GLSRC)gsptype1.h -$(GLSRC)gxcldev.h:$(GLSRC)gxdevcli.h $(GLSRC)gxcldev.h:$(GLSRC)gxtext.h -$(GLSRC)gxcldev.h:$(GLSRC)gspcolor.h +$(GLSRC)gxcldev.h:$(GLSRC)gscie.h $(GLSRC)gxcldev.h:$(GLSRC)gstext.h -$(GLSRC)gxcldev.h:$(GLSRC)gxdcolor.h +$(GLSRC)gxcldev.h:$(GLSRC)gsnamecl.h $(GLSRC)gxcldev.h:$(GLSRC)gstparam.h -$(GLSRC)gxcldev.h:$(GLSRC)gscie.h $(GLSRC)gxcldev.h:$(GLSRC)gxstate.h -$(GLSRC)gxcldev.h:$(GLSRC)gxcmap.h -$(GLSRC)gxcldev.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxcldev.h:$(GLSRC)gspcolor.h +$(GLSRC)gxcldev.h:$(GLSRC)gxfcache.h +$(GLSRC)gxcldev.h:$(GLSRC)gxcspace.h $(GLSRC)gxcldev.h:$(GLSRC)gsropt.h $(GLSRC)gxcldev.h:$(GLSRC)gsfunc.h -$(GLSRC)gxcldev.h:$(GLSRC)gxctable.h -$(GLSRC)gxcldev.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxcldev.h:$(GLSRC)gsmalloc.h $(GLSRC)gxcldev.h:$(GLSRC)gxrplane.h -$(GLSRC)gxcldev.h:$(GLSRC)gxcspace.h +$(GLSRC)gxcldev.h:$(GLSRC)gxctable.h +$(GLSRC)gxcldev.h:$(GLSRC)gsuid.h +$(GLSRC)gxcldev.h:$(GLSRC)gxcmap.h $(GLSRC)gxcldev.h:$(GLSRC)strimpl.h -$(GLSRC)gxcldev.h:$(GLSRC)gxiclass.h -$(GLSRC)gxcldev.h:$(GLSRC)gxclio.h -$(GLSRC)gxcldev.h:$(GLSRC)gxfcache.h +$(GLSRC)gxcldev.h:$(GLSRC)gsimage.h +$(GLSRC)gxcldev.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxcldev.h:$(GLSRC)gxdda.h +$(GLSRC)gxcldev.h:$(GLSRC)gxcvalue.h $(GLSRC)gxcldev.h:$(GLSRC)gsfont.h $(GLSRC)gxcldev.h:$(GLSRC)gxfmap.h -$(GLSRC)gxcldev.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxcldev.h:$(GLSRC)gxpath.h -$(GLSRC)gxcldev.h:$(GLSRC)gspenum.h -$(GLSRC)gxcldev.h:$(GLSRC)gxtmap.h -$(GLSRC)gxcldev.h:$(GLSRC)gsimage.h +$(GLSRC)gxcldev.h:$(GLSRC)gxiclass.h +$(GLSRC)gxcldev.h:$(GLSRC)gxftype.h $(GLSRC)gxcldev.h:$(GLSRC)gxfrac.h -$(GLSRC)gxcldev.h:$(GLSRC)gxdda.h -$(GLSRC)gxcldev.h:$(GLSRC)gslparam.h -$(GLSRC)gxcldev.h:$(GLSRC)gxbcache.h -$(GLSRC)gxcldev.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxcldev.h:$(GLSRC)gsrect.h $(GLSRC)gxcldev.h:$(GLSRC)gscms.h -$(GLSRC)gxcldev.h:$(GLSRC)gxftype.h -$(GLSRC)gxcldev.h:$(GLSRC)gsdevice.h $(GLSRC)gxcldev.h:$(GLSRC)gscspace.h -$(GLSRC)gxcldev.h:$(GLSRC)gsuid.h +$(GLSRC)gxcldev.h:$(GLSRC)gxpath.h +$(GLSRC)gxcldev.h:$(GLSRC)gxbcache.h +$(GLSRC)gxcldev.h:$(GLSRC)gsdevice.h $(GLSRC)gxcldev.h:$(GLSRC)gxarith.h -$(GLSRC)gxcldev.h:$(GLSRC)gsdsrc.h $(GLSRC)gxcldev.h:$(GLSRC)gxstdio.h +$(GLSRC)gxcldev.h:$(GLSRC)gspenum.h +$(GLSRC)gxcldev.h:$(GLSRC)gxhttile.h +$(GLSRC)gxcldev.h:$(GLSRC)gsrect.h +$(GLSRC)gxcldev.h:$(GLSRC)gslparam.h $(GLSRC)gxcldev.h:$(GLSRC)gsxfont.h -$(GLSRC)gxcldev.h:$(GLSRC)gxfixed.h -$(GLSRC)gxcldev.h:$(GLSRC)gsrefct.h -$(GLSRC)gxcldev.h:$(GLSRC)gscpm.h +$(GLSRC)gxcldev.h:$(GLSRC)gxclio.h $(GLSRC)gxcldev.h:$(GLSRC)gsiparam.h -$(GLSRC)gxcldev.h:$(GLSRC)gxhttile.h +$(GLSRC)gxcldev.h:$(GLSRC)gsdsrc.h $(GLSRC)gxcldev.h:$(GLSRC)gsio.h -$(GLSRC)gxcldev.h:$(GLSRC)gp.h -$(GLSRC)gxcldev.h:$(GLSRC)memento.h -$(GLSRC)gxcldev.h:$(GLSRC)gsparam.h -$(GLSRC)gxcldev.h:$(GLSRC)gsmatrix.h $(GLSRC)gxcldev.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxcldev.h:$(GLSRC)srdline.h +$(GLSRC)gxcldev.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxcldev.h:$(GLSRC)gscpm.h +$(GLSRC)gxcldev.h:$(GLSRC)gxfixed.h +$(GLSRC)gxcldev.h:$(GLSRC)gsrefct.h +$(GLSRC)gxcldev.h:$(GLSRC)gsparam.h +$(GLSRC)gxcldev.h:$(GLSRC)gp.h +$(GLSRC)gxcldev.h:$(GLSRC)gsccolor.h $(GLSRC)gxcldev.h:$(GLSRC)gsstruct.h $(GLSRC)gxcldev.h:$(GLSRC)gxsync.h +$(GLSRC)gxcldev.h:$(GLSRC)srdline.h +$(GLSRC)gxcldev.h:$(GLSRC)scommon.h +$(GLSRC)gxcldev.h:$(GLSRC)memento.h $(GLSRC)gxcldev.h:$(GLSRC)vmsmath.h $(GLSRC)gxcldev.h:$(GLSRC)gscsel.h -$(GLSRC)gxcldev.h:$(GLSRC)scommon.h $(GLSRC)gxcldev.h:$(GLSRC)gsbitmap.h $(GLSRC)gxcldev.h:$(GLSRC)gsfname.h -$(GLSRC)gxcldev.h:$(GLSRC)gsccolor.h $(GLSRC)gxcldev.h:$(GLSRC)gsstype.h +$(GLSRC)gxcldev.h:$(GLSRC)stat_.h +$(GLSRC)gxcldev.h:$(GLSRC)gxtmap.h $(GLSRC)gxcldev.h:$(GLSRC)gsmemory.h $(GLSRC)gxcldev.h:$(GLSRC)gpsync.h -$(GLSRC)gxcldev.h:$(GLSRC)gpgetenv.h $(GLSRC)gxcldev.h:$(GLSRC)memory_.h +$(GLSRC)gxcldev.h:$(GLSRC)gpgetenv.h $(GLSRC)gxcldev.h:$(GLSRC)gslibctx.h $(GLSRC)gxcldev.h:$(GLSRC)gscdefs.h +$(GLSRC)gxcldev.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxcldev.h:$(GLSRC)stdio_.h $(GLSRC)gxcldev.h:$(GLSRC)gscompt.h $(GLSRC)gxcldev.h:$(GLSRC)gsbittab.h $(GLSRC)gxcldev.h:$(GLSRC)gxcindex.h -$(GLSRC)gxcldev.h:$(GLSRC)stdint_.h $(GLSRC)gxcldev.h:$(GLSRC)gsgstate.h +$(GLSRC)gxcldev.h:$(GLSRC)stdint_.h +$(GLSRC)gxcldev.h:$(GLSRC)gssprintf.h $(GLSRC)gxcldev.h:$(GLSRC)gsccode.h -$(GLSRC)gxcldev.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxcldev.h:$(GLSRC)stdio_.h -$(GLSRC)gxcldev.h:$(GLSRC)gstypes.h $(GLSRC)gxcldev.h:$(GLSRC)std.h +$(GLSRC)gxcldev.h:$(GLSRC)gstypes.h $(GLSRC)gxcldev.h:$(GLSRC)stdpre.h $(GLSRC)gxcldev.h:$(GLGEN)arch.h -$(GLSRC)gxcldev.h:$(GLSRC)gssprintf.h $(GLSRC)gxclpage.h:$(GLSRC)gxclist.h $(GLSRC)gxclpage.h:$(GLSRC)gxgstate.h -$(GLSRC)gxclpage.h:$(GLSRC)gstrans.h $(GLSRC)gxclpage.h:$(GLSRC)gxline.h +$(GLSRC)gxclpage.h:$(GLSRC)gstrans.h $(GLSRC)gxclpage.h:$(GLSRC)gsht1.h -$(GLSRC)gxclpage.h:$(GLSRC)gxcomp.h $(GLSRC)gxclpage.h:$(GLSRC)math_.h $(GLSRC)gxclpage.h:$(GLSRC)gdevp14.h $(GLSRC)gxclpage.h:$(GLSRC)gxcolor2.h $(GLSRC)gxclpage.h:$(GLSRC)gxpcolor.h $(GLSRC)gxclpage.h:$(GLSRC)gdevdevn.h +$(GLSRC)gxclpage.h:$(GLSRC)gsequivc.h $(GLSRC)gxclpage.h:$(GLSRC)gxblend.h +$(GLSRC)gxclpage.h:$(GLSRC)gxclipsr.h +$(GLSRC)gxclpage.h:$(GLSRC)gxcomp.h +$(GLSRC)gxclpage.h:$(GLSRC)gxdcolor.h $(GLSRC)gxclpage.h:$(GLSRC)gxmatrix.h +$(GLSRC)gxclpage.h:$(GLSRC)gxbitfmt.h $(GLSRC)gxclpage.h:$(GLSRC)gxdevbuf.h $(GLSRC)gxclpage.h:$(GLSRC)gxband.h -$(GLSRC)gxclpage.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gxclpage.h:$(GLSRC)gsequivc.h -$(GLSRC)gxclpage.h:$(GLSRC)gxclipsr.h $(GLSRC)gxclpage.h:$(GLSRC)gscolor2.h +$(GLSRC)gxclpage.h:$(GLSRC)gscindex.h $(GLSRC)gxclpage.h:$(GLSRC)gxdevice.h -$(GLSRC)gxclpage.h:$(GLSRC)gxcpath.h $(GLSRC)gxclpage.h:$(GLSRC)gsht.h +$(GLSRC)gxclpage.h:$(GLSRC)gxcpath.h $(GLSRC)gxclpage.h:$(GLSRC)gxdevmem.h +$(GLSRC)gxclpage.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclpage.h:$(GLSRC)gxpcache.h -$(GLSRC)gxclpage.h:$(GLSRC)gscindex.h $(GLSRC)gxclpage.h:$(GLSRC)gsptype1.h -$(GLSRC)gxclpage.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclpage.h:$(GLSRC)gxtext.h -$(GLSRC)gxclpage.h:$(GLSRC)gspcolor.h +$(GLSRC)gxclpage.h:$(GLSRC)gscie.h $(GLSRC)gxclpage.h:$(GLSRC)gstext.h -$(GLSRC)gxclpage.h:$(GLSRC)gxdcolor.h +$(GLSRC)gxclpage.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclpage.h:$(GLSRC)gstparam.h -$(GLSRC)gxclpage.h:$(GLSRC)gscie.h $(GLSRC)gxclpage.h:$(GLSRC)gxstate.h -$(GLSRC)gxclpage.h:$(GLSRC)gxcmap.h -$(GLSRC)gxclpage.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxclpage.h:$(GLSRC)gspcolor.h +$(GLSRC)gxclpage.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclpage.h:$(GLSRC)gxcspace.h $(GLSRC)gxclpage.h:$(GLSRC)gsropt.h $(GLSRC)gxclpage.h:$(GLSRC)gsfunc.h -$(GLSRC)gxclpage.h:$(GLSRC)gxctable.h -$(GLSRC)gxclpage.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxclpage.h:$(GLSRC)gsmalloc.h $(GLSRC)gxclpage.h:$(GLSRC)gxrplane.h -$(GLSRC)gxclpage.h:$(GLSRC)gxcspace.h -$(GLSRC)gxclpage.h:$(GLSRC)gxiclass.h -$(GLSRC)gxclpage.h:$(GLSRC)gxclio.h -$(GLSRC)gxclpage.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclpage.h:$(GLSRC)gxctable.h +$(GLSRC)gxclpage.h:$(GLSRC)gsuid.h +$(GLSRC)gxclpage.h:$(GLSRC)gxcmap.h +$(GLSRC)gxclpage.h:$(GLSRC)gsimage.h +$(GLSRC)gxclpage.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxclpage.h:$(GLSRC)gxdda.h +$(GLSRC)gxclpage.h:$(GLSRC)gxcvalue.h $(GLSRC)gxclpage.h:$(GLSRC)gsfont.h $(GLSRC)gxclpage.h:$(GLSRC)gxfmap.h -$(GLSRC)gxclpage.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxclpage.h:$(GLSRC)gxpath.h -$(GLSRC)gxclpage.h:$(GLSRC)gspenum.h -$(GLSRC)gxclpage.h:$(GLSRC)gxtmap.h -$(GLSRC)gxclpage.h:$(GLSRC)gsimage.h +$(GLSRC)gxclpage.h:$(GLSRC)gxiclass.h +$(GLSRC)gxclpage.h:$(GLSRC)gxftype.h $(GLSRC)gxclpage.h:$(GLSRC)gxfrac.h -$(GLSRC)gxclpage.h:$(GLSRC)gxdda.h -$(GLSRC)gxclpage.h:$(GLSRC)gslparam.h -$(GLSRC)gxclpage.h:$(GLSRC)gxbcache.h -$(GLSRC)gxclpage.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxclpage.h:$(GLSRC)gsrect.h $(GLSRC)gxclpage.h:$(GLSRC)gscms.h -$(GLSRC)gxclpage.h:$(GLSRC)gxftype.h -$(GLSRC)gxclpage.h:$(GLSRC)gsdevice.h $(GLSRC)gxclpage.h:$(GLSRC)gscspace.h -$(GLSRC)gxclpage.h:$(GLSRC)gsuid.h +$(GLSRC)gxclpage.h:$(GLSRC)gxpath.h +$(GLSRC)gxclpage.h:$(GLSRC)gxbcache.h +$(GLSRC)gxclpage.h:$(GLSRC)gsdevice.h $(GLSRC)gxclpage.h:$(GLSRC)gxarith.h -$(GLSRC)gxclpage.h:$(GLSRC)gsdsrc.h $(GLSRC)gxclpage.h:$(GLSRC)gxstdio.h +$(GLSRC)gxclpage.h:$(GLSRC)gspenum.h +$(GLSRC)gxclpage.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclpage.h:$(GLSRC)gsrect.h +$(GLSRC)gxclpage.h:$(GLSRC)gslparam.h $(GLSRC)gxclpage.h:$(GLSRC)gsxfont.h -$(GLSRC)gxclpage.h:$(GLSRC)gxfixed.h -$(GLSRC)gxclpage.h:$(GLSRC)gsrefct.h -$(GLSRC)gxclpage.h:$(GLSRC)gscpm.h +$(GLSRC)gxclpage.h:$(GLSRC)gxclio.h $(GLSRC)gxclpage.h:$(GLSRC)gsiparam.h -$(GLSRC)gxclpage.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclpage.h:$(GLSRC)gsdsrc.h $(GLSRC)gxclpage.h:$(GLSRC)gsio.h -$(GLSRC)gxclpage.h:$(GLSRC)gp.h -$(GLSRC)gxclpage.h:$(GLSRC)memento.h -$(GLSRC)gxclpage.h:$(GLSRC)gsparam.h -$(GLSRC)gxclpage.h:$(GLSRC)gsmatrix.h $(GLSRC)gxclpage.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxclpage.h:$(GLSRC)srdline.h +$(GLSRC)gxclpage.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxclpage.h:$(GLSRC)gscpm.h +$(GLSRC)gxclpage.h:$(GLSRC)gxfixed.h +$(GLSRC)gxclpage.h:$(GLSRC)gsrefct.h +$(GLSRC)gxclpage.h:$(GLSRC)gsparam.h +$(GLSRC)gxclpage.h:$(GLSRC)gp.h +$(GLSRC)gxclpage.h:$(GLSRC)gsccolor.h $(GLSRC)gxclpage.h:$(GLSRC)gsstruct.h $(GLSRC)gxclpage.h:$(GLSRC)gxsync.h +$(GLSRC)gxclpage.h:$(GLSRC)srdline.h +$(GLSRC)gxclpage.h:$(GLSRC)scommon.h +$(GLSRC)gxclpage.h:$(GLSRC)memento.h $(GLSRC)gxclpage.h:$(GLSRC)vmsmath.h $(GLSRC)gxclpage.h:$(GLSRC)gscsel.h -$(GLSRC)gxclpage.h:$(GLSRC)scommon.h $(GLSRC)gxclpage.h:$(GLSRC)gsbitmap.h $(GLSRC)gxclpage.h:$(GLSRC)gsfname.h -$(GLSRC)gxclpage.h:$(GLSRC)gsccolor.h $(GLSRC)gxclpage.h:$(GLSRC)gsstype.h +$(GLSRC)gxclpage.h:$(GLSRC)stat_.h +$(GLSRC)gxclpage.h:$(GLSRC)gxtmap.h $(GLSRC)gxclpage.h:$(GLSRC)gsmemory.h $(GLSRC)gxclpage.h:$(GLSRC)gpsync.h -$(GLSRC)gxclpage.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclpage.h:$(GLSRC)memory_.h +$(GLSRC)gxclpage.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclpage.h:$(GLSRC)gslibctx.h $(GLSRC)gxclpage.h:$(GLSRC)gscdefs.h +$(GLSRC)gxclpage.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxclpage.h:$(GLSRC)stdio_.h $(GLSRC)gxclpage.h:$(GLSRC)gscompt.h $(GLSRC)gxclpage.h:$(GLSRC)gxcindex.h -$(GLSRC)gxclpage.h:$(GLSRC)stdint_.h $(GLSRC)gxclpage.h:$(GLSRC)gsgstate.h +$(GLSRC)gxclpage.h:$(GLSRC)stdint_.h +$(GLSRC)gxclpage.h:$(GLSRC)gssprintf.h $(GLSRC)gxclpage.h:$(GLSRC)gsccode.h -$(GLSRC)gxclpage.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxclpage.h:$(GLSRC)stdio_.h -$(GLSRC)gxclpage.h:$(GLSRC)gstypes.h $(GLSRC)gxclpage.h:$(GLSRC)std.h +$(GLSRC)gxclpage.h:$(GLSRC)gstypes.h $(GLSRC)gxclpage.h:$(GLSRC)stdpre.h $(GLSRC)gxclpage.h:$(GLGEN)arch.h -$(GLSRC)gxclpage.h:$(GLSRC)gssprintf.h $(GLSRC)gxclpath.h:$(GLSRC)gxcldev.h $(GLSRC)gxclpath.h:$(GLSRC)gxdht.h $(GLSRC)gxclpath.h:$(GLSRC)srlx.h @@ -10985,266 +11108,268 @@ $(GLSRC)gxclpath.h:$(GLSRC)gxht.h $(GLSRC)gxclpath.h:$(GLSRC)gxhttype.h $(GLSRC)gxclpath.h:$(GLSRC)gxclist.h $(GLSRC)gxclpath.h:$(GLSRC)gxgstate.h -$(GLSRC)gxclpath.h:$(GLSRC)gstrans.h $(GLSRC)gxclpath.h:$(GLSRC)gxline.h +$(GLSRC)gxclpath.h:$(GLSRC)gstrans.h $(GLSRC)gxclpath.h:$(GLSRC)gsht1.h -$(GLSRC)gxclpath.h:$(GLSRC)gxcomp.h $(GLSRC)gxclpath.h:$(GLSRC)math_.h $(GLSRC)gxclpath.h:$(GLSRC)scfx.h $(GLSRC)gxclpath.h:$(GLSRC)gdevp14.h $(GLSRC)gxclpath.h:$(GLSRC)gxcolor2.h $(GLSRC)gxclpath.h:$(GLSRC)gxpcolor.h $(GLSRC)gxclpath.h:$(GLSRC)gdevdevn.h +$(GLSRC)gxclpath.h:$(GLSRC)gsequivc.h $(GLSRC)gxclpath.h:$(GLSRC)gxblend.h +$(GLSRC)gxclpath.h:$(GLSRC)gxclipsr.h +$(GLSRC)gxclpath.h:$(GLSRC)gxcomp.h +$(GLSRC)gxclpath.h:$(GLSRC)gxdcolor.h $(GLSRC)gxclpath.h:$(GLSRC)gxmatrix.h +$(GLSRC)gxclpath.h:$(GLSRC)gxbitfmt.h $(GLSRC)gxclpath.h:$(GLSRC)gxdevbuf.h $(GLSRC)gxclpath.h:$(GLSRC)gxband.h -$(GLSRC)gxclpath.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gxclpath.h:$(GLSRC)gsequivc.h -$(GLSRC)gxclpath.h:$(GLSRC)gxclipsr.h $(GLSRC)gxclpath.h:$(GLSRC)shc.h $(GLSRC)gxclpath.h:$(GLSRC)gscolor2.h +$(GLSRC)gxclpath.h:$(GLSRC)gscindex.h $(GLSRC)gxclpath.h:$(GLSRC)gxdevice.h -$(GLSRC)gxclpath.h:$(GLSRC)gxcpath.h $(GLSRC)gxclpath.h:$(GLSRC)gsht.h +$(GLSRC)gxclpath.h:$(GLSRC)gxcpath.h $(GLSRC)gxclpath.h:$(GLSRC)gxdevmem.h +$(GLSRC)gxclpath.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclpath.h:$(GLSRC)gxpcache.h -$(GLSRC)gxclpath.h:$(GLSRC)gscindex.h $(GLSRC)gxclpath.h:$(GLSRC)gsptype1.h -$(GLSRC)gxclpath.h:$(GLSRC)gxdevcli.h $(GLSRC)gxclpath.h:$(GLSRC)gxtext.h -$(GLSRC)gxclpath.h:$(GLSRC)gspcolor.h +$(GLSRC)gxclpath.h:$(GLSRC)gscie.h $(GLSRC)gxclpath.h:$(GLSRC)gstext.h -$(GLSRC)gxclpath.h:$(GLSRC)gxdcolor.h +$(GLSRC)gxclpath.h:$(GLSRC)gsnamecl.h $(GLSRC)gxclpath.h:$(GLSRC)gstparam.h -$(GLSRC)gxclpath.h:$(GLSRC)gscie.h $(GLSRC)gxclpath.h:$(GLSRC)gxstate.h -$(GLSRC)gxclpath.h:$(GLSRC)gxcmap.h -$(GLSRC)gxclpath.h:$(GLSRC)gsmalloc.h +$(GLSRC)gxclpath.h:$(GLSRC)gspcolor.h +$(GLSRC)gxclpath.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclpath.h:$(GLSRC)gxcspace.h $(GLSRC)gxclpath.h:$(GLSRC)gsropt.h $(GLSRC)gxclpath.h:$(GLSRC)gsfunc.h -$(GLSRC)gxclpath.h:$(GLSRC)gxctable.h -$(GLSRC)gxclpath.h:$(GLSRC)gsnamecl.h +$(GLSRC)gxclpath.h:$(GLSRC)gsmalloc.h $(GLSRC)gxclpath.h:$(GLSRC)gxrplane.h -$(GLSRC)gxclpath.h:$(GLSRC)gxcspace.h +$(GLSRC)gxclpath.h:$(GLSRC)gxctable.h +$(GLSRC)gxclpath.h:$(GLSRC)gsuid.h +$(GLSRC)gxclpath.h:$(GLSRC)gxcmap.h $(GLSRC)gxclpath.h:$(GLSRC)strimpl.h -$(GLSRC)gxclpath.h:$(GLSRC)gxiclass.h -$(GLSRC)gxclpath.h:$(GLSRC)gxclio.h -$(GLSRC)gxclpath.h:$(GLSRC)gxfcache.h +$(GLSRC)gxclpath.h:$(GLSRC)gsimage.h +$(GLSRC)gxclpath.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxclpath.h:$(GLSRC)gxdda.h +$(GLSRC)gxclpath.h:$(GLSRC)gxcvalue.h $(GLSRC)gxclpath.h:$(GLSRC)gsfont.h $(GLSRC)gxclpath.h:$(GLSRC)gxfmap.h -$(GLSRC)gxclpath.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxclpath.h:$(GLSRC)gxpath.h -$(GLSRC)gxclpath.h:$(GLSRC)gspenum.h -$(GLSRC)gxclpath.h:$(GLSRC)gxtmap.h -$(GLSRC)gxclpath.h:$(GLSRC)gsimage.h +$(GLSRC)gxclpath.h:$(GLSRC)gxiclass.h +$(GLSRC)gxclpath.h:$(GLSRC)gxftype.h $(GLSRC)gxclpath.h:$(GLSRC)gxfrac.h -$(GLSRC)gxclpath.h:$(GLSRC)gxdda.h -$(GLSRC)gxclpath.h:$(GLSRC)gslparam.h -$(GLSRC)gxclpath.h:$(GLSRC)gxbcache.h -$(GLSRC)gxclpath.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxclpath.h:$(GLSRC)gsrect.h $(GLSRC)gxclpath.h:$(GLSRC)gscms.h -$(GLSRC)gxclpath.h:$(GLSRC)gxftype.h -$(GLSRC)gxclpath.h:$(GLSRC)gsdevice.h $(GLSRC)gxclpath.h:$(GLSRC)gscspace.h -$(GLSRC)gxclpath.h:$(GLSRC)gsuid.h +$(GLSRC)gxclpath.h:$(GLSRC)gxpath.h +$(GLSRC)gxclpath.h:$(GLSRC)gxbcache.h +$(GLSRC)gxclpath.h:$(GLSRC)gsdevice.h $(GLSRC)gxclpath.h:$(GLSRC)gxarith.h -$(GLSRC)gxclpath.h:$(GLSRC)gsdsrc.h $(GLSRC)gxclpath.h:$(GLSRC)gxstdio.h +$(GLSRC)gxclpath.h:$(GLSRC)gspenum.h +$(GLSRC)gxclpath.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclpath.h:$(GLSRC)gsrect.h +$(GLSRC)gxclpath.h:$(GLSRC)gslparam.h $(GLSRC)gxclpath.h:$(GLSRC)gsxfont.h -$(GLSRC)gxclpath.h:$(GLSRC)gxfixed.h -$(GLSRC)gxclpath.h:$(GLSRC)gsrefct.h -$(GLSRC)gxclpath.h:$(GLSRC)gscpm.h +$(GLSRC)gxclpath.h:$(GLSRC)gxclio.h $(GLSRC)gxclpath.h:$(GLSRC)gsiparam.h -$(GLSRC)gxclpath.h:$(GLSRC)gxhttile.h +$(GLSRC)gxclpath.h:$(GLSRC)gsdsrc.h $(GLSRC)gxclpath.h:$(GLSRC)gsio.h -$(GLSRC)gxclpath.h:$(GLSRC)gp.h -$(GLSRC)gxclpath.h:$(GLSRC)memento.h -$(GLSRC)gxclpath.h:$(GLSRC)gsparam.h -$(GLSRC)gxclpath.h:$(GLSRC)gsmatrix.h $(GLSRC)gxclpath.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxclpath.h:$(GLSRC)srdline.h +$(GLSRC)gxclpath.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxclpath.h:$(GLSRC)gscpm.h +$(GLSRC)gxclpath.h:$(GLSRC)gxfixed.h +$(GLSRC)gxclpath.h:$(GLSRC)gsrefct.h +$(GLSRC)gxclpath.h:$(GLSRC)gsparam.h +$(GLSRC)gxclpath.h:$(GLSRC)gp.h +$(GLSRC)gxclpath.h:$(GLSRC)gsccolor.h $(GLSRC)gxclpath.h:$(GLSRC)gsstruct.h $(GLSRC)gxclpath.h:$(GLSRC)gxsync.h +$(GLSRC)gxclpath.h:$(GLSRC)srdline.h +$(GLSRC)gxclpath.h:$(GLSRC)scommon.h +$(GLSRC)gxclpath.h:$(GLSRC)memento.h $(GLSRC)gxclpath.h:$(GLSRC)vmsmath.h $(GLSRC)gxclpath.h:$(GLSRC)gscsel.h -$(GLSRC)gxclpath.h:$(GLSRC)scommon.h $(GLSRC)gxclpath.h:$(GLSRC)gsbitmap.h $(GLSRC)gxclpath.h:$(GLSRC)gsfname.h -$(GLSRC)gxclpath.h:$(GLSRC)gsccolor.h $(GLSRC)gxclpath.h:$(GLSRC)gsstype.h +$(GLSRC)gxclpath.h:$(GLSRC)stat_.h +$(GLSRC)gxclpath.h:$(GLSRC)gxtmap.h $(GLSRC)gxclpath.h:$(GLSRC)gsmemory.h $(GLSRC)gxclpath.h:$(GLSRC)gpsync.h -$(GLSRC)gxclpath.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclpath.h:$(GLSRC)memory_.h +$(GLSRC)gxclpath.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclpath.h:$(GLSRC)gslibctx.h $(GLSRC)gxclpath.h:$(GLSRC)gscdefs.h +$(GLSRC)gxclpath.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxclpath.h:$(GLSRC)stdio_.h $(GLSRC)gxclpath.h:$(GLSRC)gscompt.h $(GLSRC)gxclpath.h:$(GLSRC)gsbittab.h $(GLSRC)gxclpath.h:$(GLSRC)gxcindex.h -$(GLSRC)gxclpath.h:$(GLSRC)stdint_.h $(GLSRC)gxclpath.h:$(GLSRC)gsgstate.h +$(GLSRC)gxclpath.h:$(GLSRC)stdint_.h +$(GLSRC)gxclpath.h:$(GLSRC)gssprintf.h $(GLSRC)gxclpath.h:$(GLSRC)gsccode.h -$(GLSRC)gxclpath.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxclpath.h:$(GLSRC)stdio_.h -$(GLSRC)gxclpath.h:$(GLSRC)gstypes.h $(GLSRC)gxclpath.h:$(GLSRC)std.h +$(GLSRC)gxclpath.h:$(GLSRC)gstypes.h $(GLSRC)gxclpath.h:$(GLSRC)stdpre.h $(GLSRC)gxclpath.h:$(GLGEN)arch.h -$(GLSRC)gxclpath.h:$(GLSRC)gssprintf.h $(GLSRC)gxclmem.h:$(GLSRC)strimpl.h $(GLSRC)gxclmem.h:$(GLSRC)gxclio.h $(GLSRC)gxclmem.h:$(GLSRC)gp.h -$(GLSRC)gxclmem.h:$(GLSRC)srdline.h $(GLSRC)gxclmem.h:$(GLSRC)gsstruct.h +$(GLSRC)gxclmem.h:$(GLSRC)srdline.h $(GLSRC)gxclmem.h:$(GLSRC)scommon.h $(GLSRC)gxclmem.h:$(GLSRC)gsstype.h +$(GLSRC)gxclmem.h:$(GLSRC)stat_.h $(GLSRC)gxclmem.h:$(GLSRC)gsmemory.h -$(GLSRC)gxclmem.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclmem.h:$(GLSRC)memory_.h +$(GLSRC)gxclmem.h:$(GLSRC)gpgetenv.h $(GLSRC)gxclmem.h:$(GLSRC)gslibctx.h $(GLSRC)gxclmem.h:$(GLSRC)gscdefs.h -$(GLSRC)gxclmem.h:$(GLSRC)stdint_.h $(GLSRC)gxclmem.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxclmem.h:$(GLSRC)stdio_.h -$(GLSRC)gxclmem.h:$(GLSRC)gstypes.h +$(GLSRC)gxclmem.h:$(GLSRC)stdint_.h +$(GLSRC)gxclmem.h:$(GLSRC)gssprintf.h $(GLSRC)gxclmem.h:$(GLSRC)std.h +$(GLSRC)gxclmem.h:$(GLSRC)gstypes.h $(GLSRC)gxclmem.h:$(GLSRC)stdpre.h $(GLSRC)gxclmem.h:$(GLGEN)arch.h -$(GLSRC)gxclmem.h:$(GLSRC)gssprintf.h $(GLSRC)gdevvec.h:$(GLSRC)gxgstate.h -$(GLSRC)gdevvec.h:$(GLSRC)gstrans.h $(GLSRC)gdevvec.h:$(GLSRC)gxline.h +$(GLSRC)gdevvec.h:$(GLSRC)gstrans.h $(GLSRC)gdevvec.h:$(GLSRC)gsht1.h -$(GLSRC)gdevvec.h:$(GLSRC)gxcomp.h -$(GLSRC)gdevvec.h:$(GLSRC)math_.h $(GLSRC)gdevvec.h:$(GLSRC)gdevbbox.h +$(GLSRC)gdevvec.h:$(GLSRC)math_.h $(GLSRC)gdevvec.h:$(GLSRC)gdevp14.h $(GLSRC)gdevvec.h:$(GLSRC)gxcolor2.h $(GLSRC)gdevvec.h:$(GLSRC)gxpcolor.h $(GLSRC)gdevvec.h:$(GLSRC)gdevdevn.h +$(GLSRC)gdevvec.h:$(GLSRC)gsequivc.h $(GLSRC)gdevvec.h:$(GLSRC)gxblend.h +$(GLSRC)gdevvec.h:$(GLSRC)gxclipsr.h +$(GLSRC)gdevvec.h:$(GLSRC)gxcomp.h +$(GLSRC)gdevvec.h:$(GLSRC)gxdcolor.h $(GLSRC)gdevvec.h:$(GLSRC)gxmatrix.h -$(GLSRC)gdevvec.h:$(GLSRC)stream.h $(GLSRC)gdevvec.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gdevvec.h:$(GLSRC)gsequivc.h -$(GLSRC)gdevvec.h:$(GLSRC)gxclipsr.h $(GLSRC)gdevvec.h:$(GLSRC)gscolor2.h +$(GLSRC)gdevvec.h:$(GLSRC)gscindex.h $(GLSRC)gdevvec.h:$(GLSRC)gxdevice.h -$(GLSRC)gdevvec.h:$(GLSRC)gxcpath.h $(GLSRC)gdevvec.h:$(GLSRC)gsht.h +$(GLSRC)gdevvec.h:$(GLSRC)gxcpath.h $(GLSRC)gdevvec.h:$(GLSRC)gxiparam.h $(GLSRC)gdevvec.h:$(GLSRC)gxdevmem.h +$(GLSRC)gdevvec.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevvec.h:$(GLSRC)gxpcache.h -$(GLSRC)gdevvec.h:$(GLSRC)gscindex.h $(GLSRC)gdevvec.h:$(GLSRC)gsptype1.h -$(GLSRC)gdevvec.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevvec.h:$(GLSRC)gxtext.h -$(GLSRC)gdevvec.h:$(GLSRC)gspcolor.h +$(GLSRC)gdevvec.h:$(GLSRC)gscie.h $(GLSRC)gdevvec.h:$(GLSRC)gstext.h -$(GLSRC)gdevvec.h:$(GLSRC)gxdcolor.h +$(GLSRC)gdevvec.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevvec.h:$(GLSRC)gstparam.h -$(GLSRC)gdevvec.h:$(GLSRC)gscie.h $(GLSRC)gdevvec.h:$(GLSRC)gxstate.h -$(GLSRC)gdevvec.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevvec.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevvec.h:$(GLSRC)gspcolor.h +$(GLSRC)gdevvec.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevvec.h:$(GLSRC)stream.h +$(GLSRC)gdevvec.h:$(GLSRC)gxcspace.h $(GLSRC)gdevvec.h:$(GLSRC)gsropt.h $(GLSRC)gdevvec.h:$(GLSRC)gsfunc.h +$(GLSRC)gdevvec.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevvec.h:$(GLSRC)gxrplane.h $(GLSRC)gdevvec.h:$(GLSRC)gxctable.h -$(GLSRC)gdevvec.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevvec.h:$(GLSRC)gxiodev.h -$(GLSRC)gdevvec.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevvec.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevvec.h:$(GLSRC)gxiclass.h -$(GLSRC)gdevvec.h:$(GLSRC)stat_.h -$(GLSRC)gdevvec.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevvec.h:$(GLSRC)gsuid.h +$(GLSRC)gdevvec.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevvec.h:$(GLSRC)gxhldevc.h +$(GLSRC)gdevvec.h:$(GLSRC)gsimage.h +$(GLSRC)gdevvec.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevvec.h:$(GLSRC)gxdda.h +$(GLSRC)gdevvec.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevvec.h:$(GLSRC)gsfont.h $(GLSRC)gdevvec.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevvec.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevvec.h:$(GLSRC)gxpath.h -$(GLSRC)gdevvec.h:$(GLSRC)gspenum.h -$(GLSRC)gdevvec.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevvec.h:$(GLSRC)gsimage.h +$(GLSRC)gdevvec.h:$(GLSRC)gxiclass.h +$(GLSRC)gdevvec.h:$(GLSRC)gxftype.h $(GLSRC)gdevvec.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevvec.h:$(GLSRC)gxdda.h -$(GLSRC)gdevvec.h:$(GLSRC)gslparam.h -$(GLSRC)gdevvec.h:$(GLSRC)gxhldevc.h -$(GLSRC)gdevvec.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevvec.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevvec.h:$(GLSRC)gsrect.h $(GLSRC)gdevvec.h:$(GLSRC)gscms.h -$(GLSRC)gdevvec.h:$(GLSRC)gxftype.h -$(GLSRC)gdevvec.h:$(GLSRC)gsdevice.h $(GLSRC)gdevvec.h:$(GLSRC)gscspace.h -$(GLSRC)gdevvec.h:$(GLSRC)gsuid.h +$(GLSRC)gdevvec.h:$(GLSRC)gxpath.h +$(GLSRC)gdevvec.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevvec.h:$(GLSRC)gsdevice.h $(GLSRC)gdevvec.h:$(GLSRC)gxarith.h -$(GLSRC)gdevvec.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevvec.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevvec.h:$(GLSRC)gspenum.h +$(GLSRC)gdevvec.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevvec.h:$(GLSRC)gsrect.h +$(GLSRC)gdevvec.h:$(GLSRC)gslparam.h $(GLSRC)gdevvec.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevvec.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevvec.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevvec.h:$(GLSRC)gscpm.h $(GLSRC)gdevvec.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevvec.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevvec.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevvec.h:$(GLSRC)gsio.h -$(GLSRC)gdevvec.h:$(GLSRC)gp.h -$(GLSRC)gdevvec.h:$(GLSRC)memento.h -$(GLSRC)gdevvec.h:$(GLSRC)gsparam.h -$(GLSRC)gdevvec.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevvec.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevvec.h:$(GLSRC)srdline.h +$(GLSRC)gdevvec.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevvec.h:$(GLSRC)gscpm.h +$(GLSRC)gdevvec.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevvec.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevvec.h:$(GLSRC)gsparam.h +$(GLSRC)gdevvec.h:$(GLSRC)gp.h +$(GLSRC)gdevvec.h:$(GLSRC)gsccolor.h $(GLSRC)gdevvec.h:$(GLSRC)gsstruct.h $(GLSRC)gdevvec.h:$(GLSRC)gxsync.h +$(GLSRC)gdevvec.h:$(GLSRC)srdline.h +$(GLSRC)gdevvec.h:$(GLSRC)scommon.h +$(GLSRC)gdevvec.h:$(GLSRC)memento.h $(GLSRC)gdevvec.h:$(GLSRC)vmsmath.h $(GLSRC)gdevvec.h:$(GLSRC)gscsel.h -$(GLSRC)gdevvec.h:$(GLSRC)scommon.h $(GLSRC)gdevvec.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevvec.h:$(GLSRC)gsfname.h -$(GLSRC)gdevvec.h:$(GLSRC)gsccolor.h $(GLSRC)gdevvec.h:$(GLSRC)gsstype.h +$(GLSRC)gdevvec.h:$(GLSRC)stat_.h +$(GLSRC)gdevvec.h:$(GLSRC)gxtmap.h $(GLSRC)gdevvec.h:$(GLSRC)gsmemory.h $(GLSRC)gdevvec.h:$(GLSRC)gpsync.h -$(GLSRC)gdevvec.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevvec.h:$(GLSRC)memory_.h +$(GLSRC)gdevvec.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevvec.h:$(GLSRC)gslibctx.h $(GLSRC)gdevvec.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevvec.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevvec.h:$(GLSRC)stdio_.h $(GLSRC)gdevvec.h:$(GLSRC)gscompt.h $(GLSRC)gdevvec.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevvec.h:$(GLSRC)stdint_.h $(GLSRC)gdevvec.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevvec.h:$(GLSRC)stdint_.h +$(GLSRC)gdevvec.h:$(GLSRC)gssprintf.h $(GLSRC)gdevvec.h:$(GLSRC)gsccode.h -$(GLSRC)gdevvec.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevvec.h:$(GLSRC)stdio_.h -$(GLSRC)gdevvec.h:$(GLSRC)gstypes.h $(GLSRC)gdevvec.h:$(GLSRC)std.h +$(GLSRC)gdevvec.h:$(GLSRC)gstypes.h $(GLSRC)gdevvec.h:$(GLSRC)stdpre.h $(GLSRC)gdevvec.h:$(GLGEN)arch.h -$(GLSRC)gdevvec.h:$(GLSRC)gssprintf.h $(GLSRC)gshtx.h:$(GLSRC)gsht1.h $(GLSRC)gshtx.h:$(GLSRC)gsht.h -$(GLSRC)gshtx.h:$(GLSRC)gxtmap.h $(GLSRC)gshtx.h:$(GLSRC)gscspace.h -$(GLSRC)gshtx.h:$(GLSRC)gsrefct.h $(GLSRC)gshtx.h:$(GLSRC)gsiparam.h -$(GLSRC)gshtx.h:$(GLSRC)memento.h -$(GLSRC)gshtx.h:$(GLSRC)gsmatrix.h $(GLSRC)gshtx.h:$(GLSRC)gxbitmap.h +$(GLSRC)gshtx.h:$(GLSRC)gsmatrix.h +$(GLSRC)gshtx.h:$(GLSRC)gsrefct.h +$(GLSRC)gshtx.h:$(GLSRC)gsccolor.h $(GLSRC)gshtx.h:$(GLSRC)scommon.h +$(GLSRC)gshtx.h:$(GLSRC)memento.h $(GLSRC)gshtx.h:$(GLSRC)gsbitmap.h -$(GLSRC)gshtx.h:$(GLSRC)gsccolor.h $(GLSRC)gshtx.h:$(GLSRC)gsstype.h +$(GLSRC)gshtx.h:$(GLSRC)gxtmap.h $(GLSRC)gshtx.h:$(GLSRC)gsmemory.h $(GLSRC)gshtx.h:$(GLSRC)gslibctx.h -$(GLSRC)gshtx.h:$(GLSRC)stdint_.h -$(GLSRC)gshtx.h:$(GLSRC)gsgstate.h $(GLSRC)gshtx.h:$(GLSRC)gs_dll_call.h $(GLSRC)gshtx.h:$(GLSRC)stdio_.h -$(GLSRC)gshtx.h:$(GLSRC)gstypes.h +$(GLSRC)gshtx.h:$(GLSRC)gsgstate.h +$(GLSRC)gshtx.h:$(GLSRC)stdint_.h +$(GLSRC)gshtx.h:$(GLSRC)gssprintf.h $(GLSRC)gshtx.h:$(GLSRC)std.h +$(GLSRC)gshtx.h:$(GLSRC)gstypes.h $(GLSRC)gshtx.h:$(GLSRC)stdpre.h $(GLSRC)gshtx.h:$(GLGEN)arch.h -$(GLSRC)gshtx.h:$(GLSRC)gssprintf.h $(GLSRC)gxttf.h:$(GLSRC)stdpre.h $(GLSRC)ttfsfnt.h:$(GLSRC)tttypes.h $(GLSRC)ttfsfnt.h:$(GLSRC)ttconfig.h @@ -11258,40 +11383,40 @@ $(GLSRC)ttfinp.h:$(GLSRC)ttfoutl.h $(GLSRC)ttfinp.h:$(GLSRC)malloc_.h $(GLSRC)ttfinp.h:$(GLSRC)bobbin.h $(GLSRC)ttfinp.h:$(GLSRC)gxfcache.h +$(GLSRC)ttfinp.h:$(GLSRC)gsuid.h $(GLSRC)ttfinp.h:$(GLSRC)gsfont.h -$(GLSRC)ttfinp.h:$(GLSRC)gxbcache.h $(GLSRC)ttfinp.h:$(GLSRC)gxftype.h -$(GLSRC)ttfinp.h:$(GLSRC)gsuid.h +$(GLSRC)ttfinp.h:$(GLSRC)gxbcache.h $(GLSRC)ttfinp.h:$(GLSRC)gsxfont.h -$(GLSRC)ttfinp.h:$(GLSRC)gxfixed.h -$(GLSRC)ttfinp.h:$(GLSRC)memento.h -$(GLSRC)ttfinp.h:$(GLSRC)gsmatrix.h $(GLSRC)ttfinp.h:$(GLSRC)gxbitmap.h +$(GLSRC)ttfinp.h:$(GLSRC)gsmatrix.h +$(GLSRC)ttfinp.h:$(GLSRC)gxfixed.h $(GLSRC)ttfinp.h:$(GLSRC)scommon.h +$(GLSRC)ttfinp.h:$(GLSRC)memento.h $(GLSRC)ttfinp.h:$(GLSRC)gsbitmap.h $(GLSRC)ttfinp.h:$(GLSRC)gsstype.h $(GLSRC)ttfinp.h:$(GLSRC)gsmemory.h $(GLSRC)ttfinp.h:$(GLSRC)gslibctx.h -$(GLSRC)ttfinp.h:$(GLSRC)stdint_.h -$(GLSRC)ttfinp.h:$(GLSRC)gsgstate.h -$(GLSRC)ttfinp.h:$(GLSRC)gsccode.h $(GLSRC)ttfinp.h:$(GLSRC)gs_dll_call.h $(GLSRC)ttfinp.h:$(GLSRC)stdio_.h -$(GLSRC)ttfinp.h:$(GLSRC)gstypes.h +$(GLSRC)ttfinp.h:$(GLSRC)gsgstate.h +$(GLSRC)ttfinp.h:$(GLSRC)stdint_.h +$(GLSRC)ttfinp.h:$(GLSRC)gssprintf.h +$(GLSRC)ttfinp.h:$(GLSRC)gsccode.h $(GLSRC)ttfinp.h:$(GLSRC)std.h +$(GLSRC)ttfinp.h:$(GLSRC)gstypes.h $(GLSRC)ttfinp.h:$(GLSRC)stdpre.h $(GLSRC)ttfinp.h:$(GLGEN)arch.h -$(GLSRC)ttfinp.h:$(GLSRC)gssprintf.h $(GLSRC)ttfmemd.h:$(GLSRC)gsstype.h $(GLSRC)ttfmemd.h:$(GLSRC)gsmemory.h $(GLSRC)ttfmemd.h:$(GLSRC)gslibctx.h $(GLSRC)ttfmemd.h:$(GLSRC)gs_dll_call.h $(GLSRC)ttfmemd.h:$(GLSRC)stdio_.h -$(GLSRC)ttfmemd.h:$(GLSRC)gstypes.h +$(GLSRC)ttfmemd.h:$(GLSRC)gssprintf.h $(GLSRC)ttfmemd.h:$(GLSRC)std.h +$(GLSRC)ttfmemd.h:$(GLSRC)gstypes.h $(GLSRC)ttfmemd.h:$(GLSRC)stdpre.h $(GLSRC)ttfmemd.h:$(GLGEN)arch.h -$(GLSRC)ttfmemd.h:$(GLSRC)gssprintf.h $(GLSRC)tttype.h:$(GLSRC)std.h $(GLSRC)tttype.h:$(GLSRC)stdpre.h $(GLSRC)tttype.h:$(GLGEN)arch.h @@ -11318,14 +11443,14 @@ $(GLSRC)ttmisc.h:$(GLSRC)gserrors.h $(GLSRC)ttmisc.h:$(GLSRC)vmsmath.h $(GLSRC)ttmisc.h:$(GLSRC)gsmemory.h $(GLSRC)ttmisc.h:$(GLSRC)gslibctx.h -$(GLSRC)ttmisc.h:$(GLSRC)gsgstate.h $(GLSRC)ttmisc.h:$(GLSRC)gs_dll_call.h $(GLSRC)ttmisc.h:$(GLSRC)stdio_.h -$(GLSRC)ttmisc.h:$(GLSRC)gstypes.h +$(GLSRC)ttmisc.h:$(GLSRC)gsgstate.h +$(GLSRC)ttmisc.h:$(GLSRC)gssprintf.h $(GLSRC)ttmisc.h:$(GLSRC)std.h +$(GLSRC)ttmisc.h:$(GLSRC)gstypes.h $(GLSRC)ttmisc.h:$(GLSRC)stdpre.h $(GLSRC)ttmisc.h:$(GLGEN)arch.h -$(GLSRC)ttmisc.h:$(GLSRC)gssprintf.h $(GLSRC)tttables.h:$(GLSRC)tttypes.h $(GLSRC)tttables.h:$(GLSRC)ttconfig.h $(GLSRC)tttables.h:$(GLSRC)tttype.h @@ -11344,30 +11469,30 @@ $(GLSRC)ttobjs.h:$(GLSRC)ttconfig.h $(GLSRC)ttobjs.h:$(GLSRC)tttype.h $(GLSRC)ttobjs.h:$(GLSRC)ttconf.h $(GLSRC)ttobjs.h:$(GLSRC)gxfcache.h +$(GLSRC)ttobjs.h:$(GLSRC)gsuid.h $(GLSRC)ttobjs.h:$(GLSRC)gsfont.h -$(GLSRC)ttobjs.h:$(GLSRC)gxbcache.h $(GLSRC)ttobjs.h:$(GLSRC)gxftype.h -$(GLSRC)ttobjs.h:$(GLSRC)gsuid.h +$(GLSRC)ttobjs.h:$(GLSRC)gxbcache.h $(GLSRC)ttobjs.h:$(GLSRC)gsxfont.h -$(GLSRC)ttobjs.h:$(GLSRC)gxfixed.h -$(GLSRC)ttobjs.h:$(GLSRC)memento.h -$(GLSRC)ttobjs.h:$(GLSRC)gsmatrix.h $(GLSRC)ttobjs.h:$(GLSRC)gxbitmap.h +$(GLSRC)ttobjs.h:$(GLSRC)gsmatrix.h +$(GLSRC)ttobjs.h:$(GLSRC)gxfixed.h $(GLSRC)ttobjs.h:$(GLSRC)scommon.h +$(GLSRC)ttobjs.h:$(GLSRC)memento.h $(GLSRC)ttobjs.h:$(GLSRC)gsbitmap.h $(GLSRC)ttobjs.h:$(GLSRC)gsstype.h $(GLSRC)ttobjs.h:$(GLSRC)gsmemory.h $(GLSRC)ttobjs.h:$(GLSRC)gslibctx.h -$(GLSRC)ttobjs.h:$(GLSRC)stdint_.h -$(GLSRC)ttobjs.h:$(GLSRC)gsgstate.h -$(GLSRC)ttobjs.h:$(GLSRC)gsccode.h $(GLSRC)ttobjs.h:$(GLSRC)gs_dll_call.h $(GLSRC)ttobjs.h:$(GLSRC)stdio_.h -$(GLSRC)ttobjs.h:$(GLSRC)gstypes.h +$(GLSRC)ttobjs.h:$(GLSRC)gsgstate.h +$(GLSRC)ttobjs.h:$(GLSRC)stdint_.h +$(GLSRC)ttobjs.h:$(GLSRC)gssprintf.h +$(GLSRC)ttobjs.h:$(GLSRC)gsccode.h $(GLSRC)ttobjs.h:$(GLSRC)std.h +$(GLSRC)ttobjs.h:$(GLSRC)gstypes.h $(GLSRC)ttobjs.h:$(GLSRC)stdpre.h $(GLSRC)ttobjs.h:$(GLGEN)arch.h -$(GLSRC)ttobjs.h:$(GLSRC)gssprintf.h $(GLSRC)ttcalc.h:$(GLSRC)ttcommon.h $(GLSRC)ttcalc.h:$(GLSRC)tttypes.h $(GLSRC)ttcalc.h:$(GLSRC)ttconfig.h @@ -11388,30 +11513,30 @@ $(GLSRC)ttinterp.h:$(GLSRC)ttconfig.h $(GLSRC)ttinterp.h:$(GLSRC)tttype.h $(GLSRC)ttinterp.h:$(GLSRC)ttconf.h $(GLSRC)ttinterp.h:$(GLSRC)gxfcache.h +$(GLSRC)ttinterp.h:$(GLSRC)gsuid.h $(GLSRC)ttinterp.h:$(GLSRC)gsfont.h -$(GLSRC)ttinterp.h:$(GLSRC)gxbcache.h $(GLSRC)ttinterp.h:$(GLSRC)gxftype.h -$(GLSRC)ttinterp.h:$(GLSRC)gsuid.h +$(GLSRC)ttinterp.h:$(GLSRC)gxbcache.h $(GLSRC)ttinterp.h:$(GLSRC)gsxfont.h -$(GLSRC)ttinterp.h:$(GLSRC)gxfixed.h -$(GLSRC)ttinterp.h:$(GLSRC)memento.h -$(GLSRC)ttinterp.h:$(GLSRC)gsmatrix.h $(GLSRC)ttinterp.h:$(GLSRC)gxbitmap.h +$(GLSRC)ttinterp.h:$(GLSRC)gsmatrix.h +$(GLSRC)ttinterp.h:$(GLSRC)gxfixed.h $(GLSRC)ttinterp.h:$(GLSRC)scommon.h +$(GLSRC)ttinterp.h:$(GLSRC)memento.h $(GLSRC)ttinterp.h:$(GLSRC)gsbitmap.h $(GLSRC)ttinterp.h:$(GLSRC)gsstype.h $(GLSRC)ttinterp.h:$(GLSRC)gsmemory.h $(GLSRC)ttinterp.h:$(GLSRC)gslibctx.h -$(GLSRC)ttinterp.h:$(GLSRC)stdint_.h -$(GLSRC)ttinterp.h:$(GLSRC)gsgstate.h -$(GLSRC)ttinterp.h:$(GLSRC)gsccode.h $(GLSRC)ttinterp.h:$(GLSRC)gs_dll_call.h $(GLSRC)ttinterp.h:$(GLSRC)stdio_.h -$(GLSRC)ttinterp.h:$(GLSRC)gstypes.h +$(GLSRC)ttinterp.h:$(GLSRC)gsgstate.h +$(GLSRC)ttinterp.h:$(GLSRC)stdint_.h +$(GLSRC)ttinterp.h:$(GLSRC)gssprintf.h +$(GLSRC)ttinterp.h:$(GLSRC)gsccode.h $(GLSRC)ttinterp.h:$(GLSRC)std.h +$(GLSRC)ttinterp.h:$(GLSRC)gstypes.h $(GLSRC)ttinterp.h:$(GLSRC)stdpre.h $(GLSRC)ttinterp.h:$(GLGEN)arch.h -$(GLSRC)ttinterp.h:$(GLSRC)gssprintf.h $(GLSRC)ttload.h:$(GLSRC)ttobjs.h $(GLSRC)ttload.h:$(GLSRC)ttfoutl.h $(GLSRC)ttload.h:$(GLSRC)malloc_.h @@ -11424,30 +11549,30 @@ $(GLSRC)ttload.h:$(GLSRC)ttconfig.h $(GLSRC)ttload.h:$(GLSRC)tttype.h $(GLSRC)ttload.h:$(GLSRC)ttconf.h $(GLSRC)ttload.h:$(GLSRC)gxfcache.h +$(GLSRC)ttload.h:$(GLSRC)gsuid.h $(GLSRC)ttload.h:$(GLSRC)gsfont.h -$(GLSRC)ttload.h:$(GLSRC)gxbcache.h $(GLSRC)ttload.h:$(GLSRC)gxftype.h -$(GLSRC)ttload.h:$(GLSRC)gsuid.h +$(GLSRC)ttload.h:$(GLSRC)gxbcache.h $(GLSRC)ttload.h:$(GLSRC)gsxfont.h -$(GLSRC)ttload.h:$(GLSRC)gxfixed.h -$(GLSRC)ttload.h:$(GLSRC)memento.h -$(GLSRC)ttload.h:$(GLSRC)gsmatrix.h $(GLSRC)ttload.h:$(GLSRC)gxbitmap.h +$(GLSRC)ttload.h:$(GLSRC)gsmatrix.h +$(GLSRC)ttload.h:$(GLSRC)gxfixed.h $(GLSRC)ttload.h:$(GLSRC)scommon.h +$(GLSRC)ttload.h:$(GLSRC)memento.h $(GLSRC)ttload.h:$(GLSRC)gsbitmap.h $(GLSRC)ttload.h:$(GLSRC)gsstype.h $(GLSRC)ttload.h:$(GLSRC)gsmemory.h $(GLSRC)ttload.h:$(GLSRC)gslibctx.h -$(GLSRC)ttload.h:$(GLSRC)stdint_.h -$(GLSRC)ttload.h:$(GLSRC)gsgstate.h -$(GLSRC)ttload.h:$(GLSRC)gsccode.h $(GLSRC)ttload.h:$(GLSRC)gs_dll_call.h $(GLSRC)ttload.h:$(GLSRC)stdio_.h -$(GLSRC)ttload.h:$(GLSRC)gstypes.h +$(GLSRC)ttload.h:$(GLSRC)gsgstate.h +$(GLSRC)ttload.h:$(GLSRC)stdint_.h +$(GLSRC)ttload.h:$(GLSRC)gssprintf.h +$(GLSRC)ttload.h:$(GLSRC)gsccode.h $(GLSRC)ttload.h:$(GLSRC)std.h +$(GLSRC)ttload.h:$(GLSRC)gstypes.h $(GLSRC)ttload.h:$(GLSRC)stdpre.h $(GLSRC)ttload.h:$(GLGEN)arch.h -$(GLSRC)ttload.h:$(GLSRC)gssprintf.h $(GLSRC)gxhintn.h:$(GLSRC)gxfont1.h $(GLSRC)gxhintn.h:$(GLSRC)gstype1.h $(GLSRC)gxhintn.h:$(GLSRC)gxfont42.h @@ -11461,58 +11586,58 @@ $(GLSRC)gxhintn.h:$(GLSRC)gsnotify.h $(GLSRC)gxhintn.h:$(GLSRC)gsfcmap.h $(GLSRC)gxhintn.h:$(GLSRC)gstext.h $(GLSRC)gxhintn.h:$(GLSRC)gxfcache.h +$(GLSRC)gxhintn.h:$(GLSRC)gsuid.h +$(GLSRC)gxhintn.h:$(GLSRC)gsdcolor.h $(GLSRC)gxhintn.h:$(GLSRC)gsfont.h +$(GLSRC)gxhintn.h:$(GLSRC)gxftype.h +$(GLSRC)gxhintn.h:$(GLSRC)gscms.h +$(GLSRC)gxhintn.h:$(GLSRC)gscspace.h $(GLSRC)gxhintn.h:$(GLSRC)gxpath.h -$(GLSRC)gxhintn.h:$(GLSRC)gspenum.h -$(GLSRC)gxhintn.h:$(GLSRC)gslparam.h $(GLSRC)gxhintn.h:$(GLSRC)gxbcache.h -$(GLSRC)gxhintn.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxhintn.h:$(GLSRC)gsrect.h -$(GLSRC)gxhintn.h:$(GLSRC)gscms.h -$(GLSRC)gxhintn.h:$(GLSRC)gxftype.h $(GLSRC)gxhintn.h:$(GLSRC)gsdevice.h -$(GLSRC)gxhintn.h:$(GLSRC)gscspace.h -$(GLSRC)gxhintn.h:$(GLSRC)gsuid.h $(GLSRC)gxhintn.h:$(GLSRC)gxarith.h +$(GLSRC)gxhintn.h:$(GLSRC)gspenum.h +$(GLSRC)gxhintn.h:$(GLSRC)gxhttile.h +$(GLSRC)gxhintn.h:$(GLSRC)gsrect.h +$(GLSRC)gxhintn.h:$(GLSRC)gslparam.h $(GLSRC)gxhintn.h:$(GLSRC)gsxfont.h +$(GLSRC)gxhintn.h:$(GLSRC)gsiparam.h +$(GLSRC)gxhintn.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxhintn.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxhintn.h:$(GLSRC)gscpm.h $(GLSRC)gxhintn.h:$(GLSRC)gxfixed.h $(GLSRC)gxhintn.h:$(GLSRC)gsrefct.h -$(GLSRC)gxhintn.h:$(GLSRC)gscpm.h -$(GLSRC)gxhintn.h:$(GLSRC)gsiparam.h -$(GLSRC)gxhintn.h:$(GLSRC)gxhttile.h -$(GLSRC)gxhintn.h:$(GLSRC)memento.h $(GLSRC)gxhintn.h:$(GLSRC)gsparam.h -$(GLSRC)gxhintn.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxhintn.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxhintn.h:$(GLSRC)gsccolor.h $(GLSRC)gxhintn.h:$(GLSRC)gxsync.h $(GLSRC)gxhintn.h:$(GLSRC)scommon.h +$(GLSRC)gxhintn.h:$(GLSRC)memento.h $(GLSRC)gxhintn.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxhintn.h:$(GLSRC)gsccolor.h $(GLSRC)gxhintn.h:$(GLSRC)gsstype.h $(GLSRC)gxhintn.h:$(GLSRC)gsmemory.h $(GLSRC)gxhintn.h:$(GLSRC)gpsync.h $(GLSRC)gxhintn.h:$(GLSRC)gslibctx.h +$(GLSRC)gxhintn.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxhintn.h:$(GLSRC)stdio_.h $(GLSRC)gxhintn.h:$(GLSRC)gxcindex.h -$(GLSRC)gxhintn.h:$(GLSRC)stdint_.h $(GLSRC)gxhintn.h:$(GLSRC)gsgstate.h +$(GLSRC)gxhintn.h:$(GLSRC)stdint_.h +$(GLSRC)gxhintn.h:$(GLSRC)gssprintf.h $(GLSRC)gxhintn.h:$(GLSRC)gsccode.h -$(GLSRC)gxhintn.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxhintn.h:$(GLSRC)stdio_.h -$(GLSRC)gxhintn.h:$(GLSRC)gstypes.h $(GLSRC)gxhintn.h:$(GLSRC)std.h +$(GLSRC)gxhintn.h:$(GLSRC)gstypes.h $(GLSRC)gxhintn.h:$(GLSRC)stdpre.h $(GLSRC)gxhintn.h:$(GLGEN)arch.h -$(GLSRC)gxhintn.h:$(GLSRC)gssprintf.h $(GLSRC)gxcid.h:$(GLSRC)gsstype.h $(GLSRC)gxcid.h:$(GLSRC)gsmemory.h $(GLSRC)gxcid.h:$(GLSRC)gslibctx.h $(GLSRC)gxcid.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxcid.h:$(GLSRC)stdio_.h -$(GLSRC)gxcid.h:$(GLSRC)gstypes.h +$(GLSRC)gxcid.h:$(GLSRC)gssprintf.h $(GLSRC)gxcid.h:$(GLSRC)std.h +$(GLSRC)gxcid.h:$(GLSRC)gstypes.h $(GLSRC)gxcid.h:$(GLSRC)stdpre.h $(GLSRC)gxcid.h:$(GLGEN)arch.h -$(GLSRC)gxcid.h:$(GLSRC)gssprintf.h $(GLSRC)gxfcid.h:$(GLSRC)gstype1.h $(GLSRC)gxfcid.h:$(GLSRC)gxfont42.h $(GLSRC)gxfcid.h:$(GLSRC)gxfont.h @@ -11526,62 +11651,62 @@ $(GLSRC)gxfcid.h:$(GLSRC)gsnotify.h $(GLSRC)gxfcid.h:$(GLSRC)gsfcmap.h $(GLSRC)gxfcid.h:$(GLSRC)gstext.h $(GLSRC)gxfcid.h:$(GLSRC)gxfcache.h +$(GLSRC)gxfcid.h:$(GLSRC)gsuid.h +$(GLSRC)gxfcid.h:$(GLSRC)gsdcolor.h $(GLSRC)gxfcid.h:$(GLSRC)gsfont.h +$(GLSRC)gxfcid.h:$(GLSRC)gxftype.h +$(GLSRC)gxfcid.h:$(GLSRC)gscms.h +$(GLSRC)gxfcid.h:$(GLSRC)gscspace.h $(GLSRC)gxfcid.h:$(GLSRC)gxpath.h -$(GLSRC)gxfcid.h:$(GLSRC)gspenum.h -$(GLSRC)gxfcid.h:$(GLSRC)gslparam.h $(GLSRC)gxfcid.h:$(GLSRC)gxbcache.h -$(GLSRC)gxfcid.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxfcid.h:$(GLSRC)gsrect.h -$(GLSRC)gxfcid.h:$(GLSRC)gscms.h -$(GLSRC)gxfcid.h:$(GLSRC)gxftype.h $(GLSRC)gxfcid.h:$(GLSRC)gsdevice.h -$(GLSRC)gxfcid.h:$(GLSRC)gscspace.h -$(GLSRC)gxfcid.h:$(GLSRC)gsuid.h $(GLSRC)gxfcid.h:$(GLSRC)gxarith.h +$(GLSRC)gxfcid.h:$(GLSRC)gspenum.h +$(GLSRC)gxfcid.h:$(GLSRC)gxhttile.h +$(GLSRC)gxfcid.h:$(GLSRC)gsrect.h +$(GLSRC)gxfcid.h:$(GLSRC)gslparam.h $(GLSRC)gxfcid.h:$(GLSRC)gsxfont.h +$(GLSRC)gxfcid.h:$(GLSRC)gsiparam.h +$(GLSRC)gxfcid.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfcid.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxfcid.h:$(GLSRC)gscpm.h $(GLSRC)gxfcid.h:$(GLSRC)gxfixed.h $(GLSRC)gxfcid.h:$(GLSRC)gsrefct.h -$(GLSRC)gxfcid.h:$(GLSRC)gscpm.h -$(GLSRC)gxfcid.h:$(GLSRC)gsiparam.h -$(GLSRC)gxfcid.h:$(GLSRC)gxhttile.h -$(GLSRC)gxfcid.h:$(GLSRC)memento.h $(GLSRC)gxfcid.h:$(GLSRC)gsparam.h -$(GLSRC)gxfcid.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxfcid.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfcid.h:$(GLSRC)gsccolor.h $(GLSRC)gxfcid.h:$(GLSRC)gxsync.h $(GLSRC)gxfcid.h:$(GLSRC)scommon.h +$(GLSRC)gxfcid.h:$(GLSRC)memento.h $(GLSRC)gxfcid.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxfcid.h:$(GLSRC)gsccolor.h $(GLSRC)gxfcid.h:$(GLSRC)gsstype.h $(GLSRC)gxfcid.h:$(GLSRC)gsmemory.h $(GLSRC)gxfcid.h:$(GLSRC)gpsync.h $(GLSRC)gxfcid.h:$(GLSRC)gslibctx.h +$(GLSRC)gxfcid.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxfcid.h:$(GLSRC)stdio_.h $(GLSRC)gxfcid.h:$(GLSRC)gxcindex.h -$(GLSRC)gxfcid.h:$(GLSRC)stdint_.h $(GLSRC)gxfcid.h:$(GLSRC)gsgstate.h +$(GLSRC)gxfcid.h:$(GLSRC)stdint_.h +$(GLSRC)gxfcid.h:$(GLSRC)gssprintf.h $(GLSRC)gxfcid.h:$(GLSRC)gsccode.h -$(GLSRC)gxfcid.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxfcid.h:$(GLSRC)stdio_.h -$(GLSRC)gxfcid.h:$(GLSRC)gstypes.h $(GLSRC)gxfcid.h:$(GLSRC)std.h +$(GLSRC)gxfcid.h:$(GLSRC)gstypes.h $(GLSRC)gxfcid.h:$(GLSRC)stdpre.h $(GLSRC)gxfcid.h:$(GLGEN)arch.h -$(GLSRC)gxfcid.h:$(GLSRC)gssprintf.h $(GLSRC)gxfcmap.h:$(GLSRC)gxcid.h $(GLSRC)gxfcmap.h:$(GLSRC)gsfcmap.h $(GLSRC)gxfcmap.h:$(GLSRC)gsuid.h $(GLSRC)gxfcmap.h:$(GLSRC)gsstype.h $(GLSRC)gxfcmap.h:$(GLSRC)gsmemory.h $(GLSRC)gxfcmap.h:$(GLSRC)gslibctx.h -$(GLSRC)gxfcmap.h:$(GLSRC)gsccode.h $(GLSRC)gxfcmap.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxfcmap.h:$(GLSRC)stdio_.h -$(GLSRC)gxfcmap.h:$(GLSRC)gstypes.h +$(GLSRC)gxfcmap.h:$(GLSRC)gssprintf.h +$(GLSRC)gxfcmap.h:$(GLSRC)gsccode.h $(GLSRC)gxfcmap.h:$(GLSRC)std.h +$(GLSRC)gxfcmap.h:$(GLSRC)gstypes.h $(GLSRC)gxfcmap.h:$(GLSRC)stdpre.h $(GLSRC)gxfcmap.h:$(GLGEN)arch.h -$(GLSRC)gxfcmap.h:$(GLSRC)gssprintf.h $(GLSRC)gxfcmap1.h:$(GLSRC)gxfcmap.h $(GLSRC)gxfcmap1.h:$(GLSRC)gxcid.h $(GLSRC)gxfcmap1.h:$(GLSRC)gsfcmap.h @@ -11589,14 +11714,14 @@ $(GLSRC)gxfcmap1.h:$(GLSRC)gsuid.h $(GLSRC)gxfcmap1.h:$(GLSRC)gsstype.h $(GLSRC)gxfcmap1.h:$(GLSRC)gsmemory.h $(GLSRC)gxfcmap1.h:$(GLSRC)gslibctx.h -$(GLSRC)gxfcmap1.h:$(GLSRC)gsccode.h $(GLSRC)gxfcmap1.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxfcmap1.h:$(GLSRC)stdio_.h -$(GLSRC)gxfcmap1.h:$(GLSRC)gstypes.h +$(GLSRC)gxfcmap1.h:$(GLSRC)gssprintf.h +$(GLSRC)gxfcmap1.h:$(GLSRC)gsccode.h $(GLSRC)gxfcmap1.h:$(GLSRC)std.h +$(GLSRC)gxfcmap1.h:$(GLSRC)gstypes.h $(GLSRC)gxfcmap1.h:$(GLSRC)stdpre.h $(GLSRC)gxfcmap1.h:$(GLGEN)arch.h -$(GLSRC)gxfcmap1.h:$(GLSRC)gssprintf.h $(GLSRC)gxfont0c.h:$(GLSRC)gxfont0.h $(GLSRC)gxfont0c.h:$(GLSRC)gxfcid.h $(GLSRC)gxfont0c.h:$(GLSRC)gstype1.h @@ -11612,48 +11737,48 @@ $(GLSRC)gxfont0c.h:$(GLSRC)gsnotify.h $(GLSRC)gxfont0c.h:$(GLSRC)gsfcmap.h $(GLSRC)gxfont0c.h:$(GLSRC)gstext.h $(GLSRC)gxfont0c.h:$(GLSRC)gxfcache.h +$(GLSRC)gxfont0c.h:$(GLSRC)gsuid.h +$(GLSRC)gxfont0c.h:$(GLSRC)gsdcolor.h $(GLSRC)gxfont0c.h:$(GLSRC)gsfont.h +$(GLSRC)gxfont0c.h:$(GLSRC)gxftype.h +$(GLSRC)gxfont0c.h:$(GLSRC)gscms.h +$(GLSRC)gxfont0c.h:$(GLSRC)gscspace.h $(GLSRC)gxfont0c.h:$(GLSRC)gxpath.h -$(GLSRC)gxfont0c.h:$(GLSRC)gspenum.h -$(GLSRC)gxfont0c.h:$(GLSRC)gslparam.h $(GLSRC)gxfont0c.h:$(GLSRC)gxbcache.h -$(GLSRC)gxfont0c.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxfont0c.h:$(GLSRC)gsrect.h -$(GLSRC)gxfont0c.h:$(GLSRC)gscms.h -$(GLSRC)gxfont0c.h:$(GLSRC)gxftype.h $(GLSRC)gxfont0c.h:$(GLSRC)gsdevice.h -$(GLSRC)gxfont0c.h:$(GLSRC)gscspace.h -$(GLSRC)gxfont0c.h:$(GLSRC)gsuid.h $(GLSRC)gxfont0c.h:$(GLSRC)gxarith.h +$(GLSRC)gxfont0c.h:$(GLSRC)gspenum.h +$(GLSRC)gxfont0c.h:$(GLSRC)gxhttile.h +$(GLSRC)gxfont0c.h:$(GLSRC)gsrect.h +$(GLSRC)gxfont0c.h:$(GLSRC)gslparam.h $(GLSRC)gxfont0c.h:$(GLSRC)gsxfont.h +$(GLSRC)gxfont0c.h:$(GLSRC)gsiparam.h +$(GLSRC)gxfont0c.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont0c.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxfont0c.h:$(GLSRC)gscpm.h $(GLSRC)gxfont0c.h:$(GLSRC)gxfixed.h $(GLSRC)gxfont0c.h:$(GLSRC)gsrefct.h -$(GLSRC)gxfont0c.h:$(GLSRC)gscpm.h -$(GLSRC)gxfont0c.h:$(GLSRC)gsiparam.h -$(GLSRC)gxfont0c.h:$(GLSRC)gxhttile.h -$(GLSRC)gxfont0c.h:$(GLSRC)memento.h $(GLSRC)gxfont0c.h:$(GLSRC)gsparam.h -$(GLSRC)gxfont0c.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxfont0c.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont0c.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont0c.h:$(GLSRC)gxsync.h $(GLSRC)gxfont0c.h:$(GLSRC)scommon.h +$(GLSRC)gxfont0c.h:$(GLSRC)memento.h $(GLSRC)gxfont0c.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxfont0c.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont0c.h:$(GLSRC)gsstype.h $(GLSRC)gxfont0c.h:$(GLSRC)gsmemory.h $(GLSRC)gxfont0c.h:$(GLSRC)gpsync.h $(GLSRC)gxfont0c.h:$(GLSRC)gslibctx.h +$(GLSRC)gxfont0c.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxfont0c.h:$(GLSRC)stdio_.h $(GLSRC)gxfont0c.h:$(GLSRC)gxcindex.h -$(GLSRC)gxfont0c.h:$(GLSRC)stdint_.h $(GLSRC)gxfont0c.h:$(GLSRC)gsgstate.h +$(GLSRC)gxfont0c.h:$(GLSRC)stdint_.h +$(GLSRC)gxfont0c.h:$(GLSRC)gssprintf.h $(GLSRC)gxfont0c.h:$(GLSRC)gsccode.h -$(GLSRC)gxfont0c.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxfont0c.h:$(GLSRC)stdio_.h -$(GLSRC)gxfont0c.h:$(GLSRC)gstypes.h $(GLSRC)gxfont0c.h:$(GLSRC)std.h +$(GLSRC)gxfont0c.h:$(GLSRC)gstypes.h $(GLSRC)gxfont0c.h:$(GLSRC)stdpre.h $(GLSRC)gxfont0c.h:$(GLGEN)arch.h -$(GLSRC)gxfont0c.h:$(GLSRC)gssprintf.h $(GLSRC)gscrypt1.h:$(GLSRC)stdpre.h $(GLSRC)gstype1.h:$(GLSRC)gspath.h $(GLSRC)gstype1.h:$(GLSRC)gxmatrix.h @@ -11661,21 +11786,21 @@ $(GLSRC)gstype1.h:$(GLSRC)gsgdata.h $(GLSRC)gstype1.h:$(GLSRC)gsgcache.h $(GLSRC)gstype1.h:$(GLSRC)gsfont.h $(GLSRC)gstype1.h:$(GLSRC)gspenum.h -$(GLSRC)gstype1.h:$(GLSRC)gxfixed.h $(GLSRC)gstype1.h:$(GLSRC)gsmatrix.h +$(GLSRC)gstype1.h:$(GLSRC)gxfixed.h $(GLSRC)gstype1.h:$(GLSRC)scommon.h $(GLSRC)gstype1.h:$(GLSRC)gsstype.h $(GLSRC)gstype1.h:$(GLSRC)gsmemory.h $(GLSRC)gstype1.h:$(GLSRC)gslibctx.h -$(GLSRC)gstype1.h:$(GLSRC)stdint_.h -$(GLSRC)gstype1.h:$(GLSRC)gsgstate.h $(GLSRC)gstype1.h:$(GLSRC)gs_dll_call.h $(GLSRC)gstype1.h:$(GLSRC)stdio_.h -$(GLSRC)gstype1.h:$(GLSRC)gstypes.h +$(GLSRC)gstype1.h:$(GLSRC)gsgstate.h +$(GLSRC)gstype1.h:$(GLSRC)stdint_.h +$(GLSRC)gstype1.h:$(GLSRC)gssprintf.h $(GLSRC)gstype1.h:$(GLSRC)std.h +$(GLSRC)gstype1.h:$(GLSRC)gstypes.h $(GLSRC)gstype1.h:$(GLSRC)stdpre.h $(GLSRC)gstype1.h:$(GLGEN)arch.h -$(GLSRC)gstype1.h:$(GLSRC)gssprintf.h $(GLSRC)gxfont1.h:$(GLSRC)gstype1.h $(GLSRC)gxfont1.h:$(GLSRC)gxfont.h $(GLSRC)gxfont1.h:$(GLSRC)gspath.h @@ -11686,53 +11811,53 @@ $(GLSRC)gxfont1.h:$(GLSRC)gxfapi.h $(GLSRC)gxfont1.h:$(GLSRC)gsnotify.h $(GLSRC)gxfont1.h:$(GLSRC)gsfcmap.h $(GLSRC)gxfont1.h:$(GLSRC)gstext.h -$(GLSRC)gxfont1.h:$(GLSRC)gsfont.h -$(GLSRC)gxfont1.h:$(GLSRC)gxpath.h -$(GLSRC)gxfont1.h:$(GLSRC)gspenum.h -$(GLSRC)gxfont1.h:$(GLSRC)gslparam.h +$(GLSRC)gxfont1.h:$(GLSRC)gsuid.h $(GLSRC)gxfont1.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxfont1.h:$(GLSRC)gsrect.h -$(GLSRC)gxfont1.h:$(GLSRC)gscms.h +$(GLSRC)gxfont1.h:$(GLSRC)gsfont.h $(GLSRC)gxfont1.h:$(GLSRC)gxftype.h -$(GLSRC)gxfont1.h:$(GLSRC)gsdevice.h +$(GLSRC)gxfont1.h:$(GLSRC)gscms.h $(GLSRC)gxfont1.h:$(GLSRC)gscspace.h -$(GLSRC)gxfont1.h:$(GLSRC)gsuid.h +$(GLSRC)gxfont1.h:$(GLSRC)gxpath.h +$(GLSRC)gxfont1.h:$(GLSRC)gsdevice.h $(GLSRC)gxfont1.h:$(GLSRC)gxarith.h +$(GLSRC)gxfont1.h:$(GLSRC)gspenum.h +$(GLSRC)gxfont1.h:$(GLSRC)gxhttile.h +$(GLSRC)gxfont1.h:$(GLSRC)gsrect.h +$(GLSRC)gxfont1.h:$(GLSRC)gslparam.h +$(GLSRC)gxfont1.h:$(GLSRC)gsiparam.h +$(GLSRC)gxfont1.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont1.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxfont1.h:$(GLSRC)gscpm.h $(GLSRC)gxfont1.h:$(GLSRC)gxfixed.h $(GLSRC)gxfont1.h:$(GLSRC)gsrefct.h -$(GLSRC)gxfont1.h:$(GLSRC)gscpm.h -$(GLSRC)gxfont1.h:$(GLSRC)gsiparam.h -$(GLSRC)gxfont1.h:$(GLSRC)gxhttile.h -$(GLSRC)gxfont1.h:$(GLSRC)memento.h $(GLSRC)gxfont1.h:$(GLSRC)gsparam.h -$(GLSRC)gxfont1.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxfont1.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxfont1.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont1.h:$(GLSRC)gxsync.h $(GLSRC)gxfont1.h:$(GLSRC)scommon.h +$(GLSRC)gxfont1.h:$(GLSRC)memento.h $(GLSRC)gxfont1.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxfont1.h:$(GLSRC)gsccolor.h $(GLSRC)gxfont1.h:$(GLSRC)gsstype.h $(GLSRC)gxfont1.h:$(GLSRC)gsmemory.h $(GLSRC)gxfont1.h:$(GLSRC)gpsync.h $(GLSRC)gxfont1.h:$(GLSRC)gslibctx.h +$(GLSRC)gxfont1.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxfont1.h:$(GLSRC)stdio_.h $(GLSRC)gxfont1.h:$(GLSRC)gxcindex.h -$(GLSRC)gxfont1.h:$(GLSRC)stdint_.h $(GLSRC)gxfont1.h:$(GLSRC)gsgstate.h +$(GLSRC)gxfont1.h:$(GLSRC)stdint_.h +$(GLSRC)gxfont1.h:$(GLSRC)gssprintf.h $(GLSRC)gxfont1.h:$(GLSRC)gsccode.h -$(GLSRC)gxfont1.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxfont1.h:$(GLSRC)stdio_.h -$(GLSRC)gxfont1.h:$(GLSRC)gstypes.h $(GLSRC)gxfont1.h:$(GLSRC)std.h +$(GLSRC)gxfont1.h:$(GLSRC)gstypes.h $(GLSRC)gxfont1.h:$(GLSRC)stdpre.h $(GLSRC)gxfont1.h:$(GLGEN)arch.h -$(GLSRC)gxfont1.h:$(GLSRC)gssprintf.h $(GLSRC)gxtype1.h:$(GLSRC)gxhintn.h $(GLSRC)gxtype1.h:$(GLSRC)gxfont1.h $(GLSRC)gxtype1.h:$(GLSRC)gzpath.h $(GLSRC)gxtype1.h:$(GLSRC)gstype1.h $(GLSRC)gxtype1.h:$(GLSRC)gxfont42.h -$(GLSRC)gxtype1.h:$(GLSRC)gxfont.h $(GLSRC)gxtype1.h:$(GLSRC)gscrypt1.h +$(GLSRC)gxtype1.h:$(GLSRC)gxfont.h $(GLSRC)gxtype1.h:$(GLSRC)gspath.h $(GLSRC)gxtype1.h:$(GLSRC)gxmatrix.h $(GLSRC)gxtype1.h:$(GLSRC)gsgdata.h @@ -11742,759 +11867,760 @@ $(GLSRC)gxtype1.h:$(GLSRC)gsnotify.h $(GLSRC)gxtype1.h:$(GLSRC)gsfcmap.h $(GLSRC)gxtype1.h:$(GLSRC)gstext.h $(GLSRC)gxtype1.h:$(GLSRC)gxfcache.h +$(GLSRC)gxtype1.h:$(GLSRC)gsuid.h +$(GLSRC)gxtype1.h:$(GLSRC)gsdcolor.h $(GLSRC)gxtype1.h:$(GLSRC)gsfont.h +$(GLSRC)gxtype1.h:$(GLSRC)gxftype.h +$(GLSRC)gxtype1.h:$(GLSRC)gscms.h +$(GLSRC)gxtype1.h:$(GLSRC)gscspace.h $(GLSRC)gxtype1.h:$(GLSRC)gxpath.h -$(GLSRC)gxtype1.h:$(GLSRC)gspenum.h -$(GLSRC)gxtype1.h:$(GLSRC)gslparam.h $(GLSRC)gxtype1.h:$(GLSRC)gxbcache.h -$(GLSRC)gxtype1.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxtype1.h:$(GLSRC)gsrect.h -$(GLSRC)gxtype1.h:$(GLSRC)gscms.h -$(GLSRC)gxtype1.h:$(GLSRC)gxftype.h $(GLSRC)gxtype1.h:$(GLSRC)gsdevice.h -$(GLSRC)gxtype1.h:$(GLSRC)gscspace.h -$(GLSRC)gxtype1.h:$(GLSRC)gsuid.h $(GLSRC)gxtype1.h:$(GLSRC)gxarith.h +$(GLSRC)gxtype1.h:$(GLSRC)gspenum.h +$(GLSRC)gxtype1.h:$(GLSRC)gxhttile.h +$(GLSRC)gxtype1.h:$(GLSRC)gsrect.h +$(GLSRC)gxtype1.h:$(GLSRC)gslparam.h $(GLSRC)gxtype1.h:$(GLSRC)gsxfont.h +$(GLSRC)gxtype1.h:$(GLSRC)gsiparam.h +$(GLSRC)gxtype1.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxtype1.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxtype1.h:$(GLSRC)gscpm.h $(GLSRC)gxtype1.h:$(GLSRC)gxfixed.h $(GLSRC)gxtype1.h:$(GLSRC)gsrefct.h -$(GLSRC)gxtype1.h:$(GLSRC)gscpm.h -$(GLSRC)gxtype1.h:$(GLSRC)gsiparam.h -$(GLSRC)gxtype1.h:$(GLSRC)gxhttile.h -$(GLSRC)gxtype1.h:$(GLSRC)memento.h $(GLSRC)gxtype1.h:$(GLSRC)gsparam.h -$(GLSRC)gxtype1.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxtype1.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxtype1.h:$(GLSRC)gsccolor.h $(GLSRC)gxtype1.h:$(GLSRC)gxsync.h $(GLSRC)gxtype1.h:$(GLSRC)scommon.h +$(GLSRC)gxtype1.h:$(GLSRC)memento.h $(GLSRC)gxtype1.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxtype1.h:$(GLSRC)gsccolor.h $(GLSRC)gxtype1.h:$(GLSRC)gsstype.h $(GLSRC)gxtype1.h:$(GLSRC)gsmemory.h $(GLSRC)gxtype1.h:$(GLSRC)gpsync.h $(GLSRC)gxtype1.h:$(GLSRC)gslibctx.h +$(GLSRC)gxtype1.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxtype1.h:$(GLSRC)stdio_.h $(GLSRC)gxtype1.h:$(GLSRC)gxcindex.h -$(GLSRC)gxtype1.h:$(GLSRC)stdint_.h $(GLSRC)gxtype1.h:$(GLSRC)gsgstate.h +$(GLSRC)gxtype1.h:$(GLSRC)stdint_.h +$(GLSRC)gxtype1.h:$(GLSRC)gssprintf.h $(GLSRC)gxtype1.h:$(GLSRC)gsccode.h -$(GLSRC)gxtype1.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxtype1.h:$(GLSRC)stdio_.h -$(GLSRC)gxtype1.h:$(GLSRC)gstypes.h $(GLSRC)gxtype1.h:$(GLSRC)std.h +$(GLSRC)gxtype1.h:$(GLSRC)gstypes.h $(GLSRC)gxtype1.h:$(GLSRC)stdpre.h $(GLSRC)gxtype1.h:$(GLGEN)arch.h -$(GLSRC)gxtype1.h:$(GLSRC)gssprintf.h $(GLSRC)gsdsrc.h:$(GLSRC)gsstruct.h $(GLSRC)gsdsrc.h:$(GLSRC)scommon.h $(GLSRC)gsdsrc.h:$(GLSRC)gsstype.h $(GLSRC)gsdsrc.h:$(GLSRC)gsmemory.h $(GLSRC)gsdsrc.h:$(GLSRC)gslibctx.h -$(GLSRC)gsdsrc.h:$(GLSRC)stdint_.h $(GLSRC)gsdsrc.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsdsrc.h:$(GLSRC)stdio_.h -$(GLSRC)gsdsrc.h:$(GLSRC)gstypes.h +$(GLSRC)gsdsrc.h:$(GLSRC)stdint_.h +$(GLSRC)gsdsrc.h:$(GLSRC)gssprintf.h $(GLSRC)gsdsrc.h:$(GLSRC)std.h +$(GLSRC)gsdsrc.h:$(GLSRC)gstypes.h $(GLSRC)gsdsrc.h:$(GLSRC)stdpre.h $(GLSRC)gsdsrc.h:$(GLGEN)arch.h -$(GLSRC)gsdsrc.h:$(GLSRC)gssprintf.h $(GLSRC)gsfunc.h:$(GLSRC)gsdsrc.h -$(GLSRC)gsfunc.h:$(GLSRC)memento.h $(GLSRC)gsfunc.h:$(GLSRC)gsparam.h $(GLSRC)gsfunc.h:$(GLSRC)gsstruct.h $(GLSRC)gsfunc.h:$(GLSRC)scommon.h +$(GLSRC)gsfunc.h:$(GLSRC)memento.h $(GLSRC)gsfunc.h:$(GLSRC)gsstype.h $(GLSRC)gsfunc.h:$(GLSRC)gsmemory.h $(GLSRC)gsfunc.h:$(GLSRC)gslibctx.h -$(GLSRC)gsfunc.h:$(GLSRC)stdint_.h $(GLSRC)gsfunc.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsfunc.h:$(GLSRC)stdio_.h -$(GLSRC)gsfunc.h:$(GLSRC)gstypes.h +$(GLSRC)gsfunc.h:$(GLSRC)stdint_.h +$(GLSRC)gsfunc.h:$(GLSRC)gssprintf.h $(GLSRC)gsfunc.h:$(GLSRC)std.h +$(GLSRC)gsfunc.h:$(GLSRC)gstypes.h $(GLSRC)gsfunc.h:$(GLSRC)stdpre.h $(GLSRC)gsfunc.h:$(GLGEN)arch.h -$(GLSRC)gsfunc.h:$(GLSRC)gssprintf.h $(GLSRC)gsfunc0.h:$(GLSRC)gsfunc.h $(GLSRC)gsfunc0.h:$(GLSRC)gsdsrc.h -$(GLSRC)gsfunc0.h:$(GLSRC)memento.h $(GLSRC)gsfunc0.h:$(GLSRC)gsparam.h $(GLSRC)gsfunc0.h:$(GLSRC)gsstruct.h $(GLSRC)gsfunc0.h:$(GLSRC)scommon.h +$(GLSRC)gsfunc0.h:$(GLSRC)memento.h $(GLSRC)gsfunc0.h:$(GLSRC)gsstype.h $(GLSRC)gsfunc0.h:$(GLSRC)gsmemory.h $(GLSRC)gsfunc0.h:$(GLSRC)gslibctx.h -$(GLSRC)gsfunc0.h:$(GLSRC)stdint_.h $(GLSRC)gsfunc0.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsfunc0.h:$(GLSRC)stdio_.h -$(GLSRC)gsfunc0.h:$(GLSRC)gstypes.h +$(GLSRC)gsfunc0.h:$(GLSRC)stdint_.h +$(GLSRC)gsfunc0.h:$(GLSRC)gssprintf.h $(GLSRC)gsfunc0.h:$(GLSRC)std.h +$(GLSRC)gsfunc0.h:$(GLSRC)gstypes.h $(GLSRC)gsfunc0.h:$(GLSRC)stdpre.h $(GLSRC)gsfunc0.h:$(GLGEN)arch.h -$(GLSRC)gsfunc0.h:$(GLSRC)gssprintf.h $(GLSRC)gxfunc.h:$(GLSRC)gsfunc.h $(GLSRC)gxfunc.h:$(GLSRC)gsdsrc.h -$(GLSRC)gxfunc.h:$(GLSRC)memento.h $(GLSRC)gxfunc.h:$(GLSRC)gsparam.h $(GLSRC)gxfunc.h:$(GLSRC)gsstruct.h $(GLSRC)gxfunc.h:$(GLSRC)scommon.h +$(GLSRC)gxfunc.h:$(GLSRC)memento.h $(GLSRC)gxfunc.h:$(GLSRC)gsstype.h $(GLSRC)gxfunc.h:$(GLSRC)gsmemory.h $(GLSRC)gxfunc.h:$(GLSRC)gslibctx.h -$(GLSRC)gxfunc.h:$(GLSRC)stdint_.h $(GLSRC)gxfunc.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxfunc.h:$(GLSRC)stdio_.h -$(GLSRC)gxfunc.h:$(GLSRC)gstypes.h +$(GLSRC)gxfunc.h:$(GLSRC)stdint_.h +$(GLSRC)gxfunc.h:$(GLSRC)gssprintf.h $(GLSRC)gxfunc.h:$(GLSRC)std.h +$(GLSRC)gxfunc.h:$(GLSRC)gstypes.h $(GLSRC)gxfunc.h:$(GLSRC)stdpre.h $(GLSRC)gxfunc.h:$(GLGEN)arch.h -$(GLSRC)gxfunc.h:$(GLSRC)gssprintf.h $(GLSRC)gsfunc4.h:$(GLSRC)gsfunc.h $(GLSRC)gsfunc4.h:$(GLSRC)gsdsrc.h -$(GLSRC)gsfunc4.h:$(GLSRC)memento.h $(GLSRC)gsfunc4.h:$(GLSRC)gsparam.h $(GLSRC)gsfunc4.h:$(GLSRC)gsstruct.h $(GLSRC)gsfunc4.h:$(GLSRC)scommon.h +$(GLSRC)gsfunc4.h:$(GLSRC)memento.h $(GLSRC)gsfunc4.h:$(GLSRC)gsstype.h $(GLSRC)gsfunc4.h:$(GLSRC)gsmemory.h $(GLSRC)gsfunc4.h:$(GLSRC)gslibctx.h -$(GLSRC)gsfunc4.h:$(GLSRC)stdint_.h $(GLSRC)gsfunc4.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsfunc4.h:$(GLSRC)stdio_.h -$(GLSRC)gsfunc4.h:$(GLSRC)gstypes.h +$(GLSRC)gsfunc4.h:$(GLSRC)stdint_.h +$(GLSRC)gsfunc4.h:$(GLSRC)gssprintf.h $(GLSRC)gsfunc4.h:$(GLSRC)std.h +$(GLSRC)gsfunc4.h:$(GLSRC)gstypes.h $(GLSRC)gsfunc4.h:$(GLSRC)stdpre.h $(GLSRC)gsfunc4.h:$(GLGEN)arch.h -$(GLSRC)gsfunc4.h:$(GLSRC)gssprintf.h $(GLSRC)gscpixel.h:$(GLSRC)gscspace.h -$(GLSRC)gscpixel.h:$(GLSRC)gsrefct.h $(GLSRC)gscpixel.h:$(GLSRC)gsiparam.h -$(GLSRC)gscpixel.h:$(GLSRC)memento.h -$(GLSRC)gscpixel.h:$(GLSRC)gsmatrix.h $(GLSRC)gscpixel.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscpixel.h:$(GLSRC)gsmatrix.h +$(GLSRC)gscpixel.h:$(GLSRC)gsrefct.h +$(GLSRC)gscpixel.h:$(GLSRC)gsccolor.h $(GLSRC)gscpixel.h:$(GLSRC)scommon.h +$(GLSRC)gscpixel.h:$(GLSRC)memento.h $(GLSRC)gscpixel.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscpixel.h:$(GLSRC)gsccolor.h $(GLSRC)gscpixel.h:$(GLSRC)gsstype.h $(GLSRC)gscpixel.h:$(GLSRC)gsmemory.h $(GLSRC)gscpixel.h:$(GLSRC)gslibctx.h -$(GLSRC)gscpixel.h:$(GLSRC)stdint_.h -$(GLSRC)gscpixel.h:$(GLSRC)gsgstate.h $(GLSRC)gscpixel.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscpixel.h:$(GLSRC)stdio_.h -$(GLSRC)gscpixel.h:$(GLSRC)gstypes.h +$(GLSRC)gscpixel.h:$(GLSRC)gsgstate.h +$(GLSRC)gscpixel.h:$(GLSRC)stdint_.h +$(GLSRC)gscpixel.h:$(GLSRC)gssprintf.h $(GLSRC)gscpixel.h:$(GLSRC)std.h +$(GLSRC)gscpixel.h:$(GLSRC)gstypes.h $(GLSRC)gscpixel.h:$(GLSRC)stdpre.h $(GLSRC)gscpixel.h:$(GLGEN)arch.h -$(GLSRC)gscpixel.h:$(GLSRC)gssprintf.h -$(GLSRC)gscms.h:$(GLSRC)gsdevice.h $(GLSRC)gscms.h:$(GLSRC)gscspace.h -$(GLSRC)gscms.h:$(GLSRC)gsrefct.h +$(GLSRC)gscms.h:$(GLSRC)gsdevice.h $(GLSRC)gscms.h:$(GLSRC)gsiparam.h -$(GLSRC)gscms.h:$(GLSRC)memento.h -$(GLSRC)gscms.h:$(GLSRC)gsparam.h -$(GLSRC)gscms.h:$(GLSRC)gsmatrix.h $(GLSRC)gscms.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscms.h:$(GLSRC)gsmatrix.h +$(GLSRC)gscms.h:$(GLSRC)gsrefct.h +$(GLSRC)gscms.h:$(GLSRC)gsparam.h +$(GLSRC)gscms.h:$(GLSRC)gsccolor.h $(GLSRC)gscms.h:$(GLSRC)gxsync.h $(GLSRC)gscms.h:$(GLSRC)scommon.h +$(GLSRC)gscms.h:$(GLSRC)memento.h $(GLSRC)gscms.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscms.h:$(GLSRC)gsccolor.h $(GLSRC)gscms.h:$(GLSRC)gsstype.h $(GLSRC)gscms.h:$(GLSRC)gsmemory.h $(GLSRC)gscms.h:$(GLSRC)gpsync.h $(GLSRC)gscms.h:$(GLSRC)gslibctx.h -$(GLSRC)gscms.h:$(GLSRC)stdint_.h -$(GLSRC)gscms.h:$(GLSRC)gsgstate.h $(GLSRC)gscms.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscms.h:$(GLSRC)stdio_.h -$(GLSRC)gscms.h:$(GLSRC)gstypes.h +$(GLSRC)gscms.h:$(GLSRC)gsgstate.h +$(GLSRC)gscms.h:$(GLSRC)stdint_.h +$(GLSRC)gscms.h:$(GLSRC)gssprintf.h $(GLSRC)gscms.h:$(GLSRC)std.h +$(GLSRC)gscms.h:$(GLSRC)gstypes.h $(GLSRC)gscms.h:$(GLSRC)stdpre.h $(GLSRC)gscms.h:$(GLGEN)arch.h -$(GLSRC)gscms.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_cms.h:$(GLSRC)gxcvalue.h $(GLSRC)gsicc_cms.h:$(GLSRC)gscms.h -$(GLSRC)gsicc_cms.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc_cms.h:$(GLSRC)gscspace.h -$(GLSRC)gsicc_cms.h:$(GLSRC)gsrefct.h +$(GLSRC)gsicc_cms.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc_cms.h:$(GLSRC)gsiparam.h -$(GLSRC)gsicc_cms.h:$(GLSRC)memento.h -$(GLSRC)gsicc_cms.h:$(GLSRC)gsparam.h -$(GLSRC)gsicc_cms.h:$(GLSRC)gsmatrix.h $(GLSRC)gsicc_cms.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsicc_cms.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsicc_cms.h:$(GLSRC)gsrefct.h +$(GLSRC)gsicc_cms.h:$(GLSRC)gsparam.h +$(GLSRC)gsicc_cms.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_cms.h:$(GLSRC)gxsync.h $(GLSRC)gsicc_cms.h:$(GLSRC)scommon.h +$(GLSRC)gsicc_cms.h:$(GLSRC)memento.h $(GLSRC)gsicc_cms.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsicc_cms.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_cms.h:$(GLSRC)gsstype.h $(GLSRC)gsicc_cms.h:$(GLSRC)gsmemory.h $(GLSRC)gsicc_cms.h:$(GLSRC)gpsync.h $(GLSRC)gsicc_cms.h:$(GLSRC)gslibctx.h -$(GLSRC)gsicc_cms.h:$(GLSRC)stdint_.h -$(GLSRC)gsicc_cms.h:$(GLSRC)gsgstate.h $(GLSRC)gsicc_cms.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsicc_cms.h:$(GLSRC)stdio_.h -$(GLSRC)gsicc_cms.h:$(GLSRC)gstypes.h +$(GLSRC)gsicc_cms.h:$(GLSRC)gsgstate.h +$(GLSRC)gsicc_cms.h:$(GLSRC)stdint_.h +$(GLSRC)gsicc_cms.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_cms.h:$(GLSRC)std.h +$(GLSRC)gsicc_cms.h:$(GLSRC)gstypes.h $(GLSRC)gsicc_cms.h:$(GLSRC)stdpre.h $(GLSRC)gsicc_cms.h:$(GLGEN)arch.h -$(GLSRC)gsicc_cms.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_manage.h:$(GLSRC)gsicc_cms.h $(GLSRC)gsicc_manage.h:$(GLSRC)gxcvalue.h $(GLSRC)gsicc_manage.h:$(GLSRC)gscms.h -$(GLSRC)gsicc_manage.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc_manage.h:$(GLSRC)gscspace.h -$(GLSRC)gsicc_manage.h:$(GLSRC)gsrefct.h +$(GLSRC)gsicc_manage.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc_manage.h:$(GLSRC)gsiparam.h -$(GLSRC)gsicc_manage.h:$(GLSRC)memento.h -$(GLSRC)gsicc_manage.h:$(GLSRC)gsparam.h -$(GLSRC)gsicc_manage.h:$(GLSRC)gsmatrix.h $(GLSRC)gsicc_manage.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsicc_manage.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsicc_manage.h:$(GLSRC)gsrefct.h +$(GLSRC)gsicc_manage.h:$(GLSRC)gsparam.h +$(GLSRC)gsicc_manage.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_manage.h:$(GLSRC)gxsync.h $(GLSRC)gsicc_manage.h:$(GLSRC)scommon.h +$(GLSRC)gsicc_manage.h:$(GLSRC)memento.h $(GLSRC)gsicc_manage.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsicc_manage.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_manage.h:$(GLSRC)gsstype.h $(GLSRC)gsicc_manage.h:$(GLSRC)gsmemory.h $(GLSRC)gsicc_manage.h:$(GLSRC)gpsync.h $(GLSRC)gsicc_manage.h:$(GLSRC)gslibctx.h -$(GLSRC)gsicc_manage.h:$(GLSRC)stdint_.h -$(GLSRC)gsicc_manage.h:$(GLSRC)gsgstate.h $(GLSRC)gsicc_manage.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsicc_manage.h:$(GLSRC)stdio_.h -$(GLSRC)gsicc_manage.h:$(GLSRC)gstypes.h +$(GLSRC)gsicc_manage.h:$(GLSRC)gsgstate.h +$(GLSRC)gsicc_manage.h:$(GLSRC)stdint_.h +$(GLSRC)gsicc_manage.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_manage.h:$(GLSRC)std.h +$(GLSRC)gsicc_manage.h:$(GLSRC)gstypes.h $(GLSRC)gsicc_manage.h:$(GLSRC)stdpre.h $(GLSRC)gsicc_manage.h:$(GLGEN)arch.h -$(GLSRC)gsicc_manage.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_cache.h:$(GLSRC)gxcvalue.h $(GLSRC)gsicc_cache.h:$(GLSRC)gscms.h -$(GLSRC)gsicc_cache.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc_cache.h:$(GLSRC)gscspace.h -$(GLSRC)gsicc_cache.h:$(GLSRC)gsrefct.h +$(GLSRC)gsicc_cache.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc_cache.h:$(GLSRC)gsiparam.h -$(GLSRC)gsicc_cache.h:$(GLSRC)memento.h -$(GLSRC)gsicc_cache.h:$(GLSRC)gsparam.h -$(GLSRC)gsicc_cache.h:$(GLSRC)gsmatrix.h $(GLSRC)gsicc_cache.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsicc_cache.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsicc_cache.h:$(GLSRC)gsrefct.h +$(GLSRC)gsicc_cache.h:$(GLSRC)gsparam.h +$(GLSRC)gsicc_cache.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_cache.h:$(GLSRC)gxsync.h $(GLSRC)gsicc_cache.h:$(GLSRC)scommon.h +$(GLSRC)gsicc_cache.h:$(GLSRC)memento.h $(GLSRC)gsicc_cache.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsicc_cache.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_cache.h:$(GLSRC)gsstype.h $(GLSRC)gsicc_cache.h:$(GLSRC)gsmemory.h $(GLSRC)gsicc_cache.h:$(GLSRC)gpsync.h $(GLSRC)gsicc_cache.h:$(GLSRC)gslibctx.h -$(GLSRC)gsicc_cache.h:$(GLSRC)stdint_.h -$(GLSRC)gsicc_cache.h:$(GLSRC)gsgstate.h $(GLSRC)gsicc_cache.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsicc_cache.h:$(GLSRC)stdio_.h -$(GLSRC)gsicc_cache.h:$(GLSRC)gstypes.h +$(GLSRC)gsicc_cache.h:$(GLSRC)gsgstate.h +$(GLSRC)gsicc_cache.h:$(GLSRC)stdint_.h +$(GLSRC)gsicc_cache.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_cache.h:$(GLSRC)std.h +$(GLSRC)gsicc_cache.h:$(GLSRC)gstypes.h $(GLSRC)gsicc_cache.h:$(GLSRC)stdpre.h $(GLSRC)gsicc_cache.h:$(GLGEN)arch.h -$(GLSRC)gsicc_cache.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gscms.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gscspace.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsrefct.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsdevice.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gsiparam.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)memento.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsparam.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsmatrix.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsrefct.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsparam.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gxsync.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)scommon.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)memento.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsccolor.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gsstype.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gsmemory.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gpsync.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gslibctx.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)stdint_.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsgstate.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)stdio_.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)gstypes.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)gsgstate.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)stdint_.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)gssprintf.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)std.h +$(GLSRC)gsicc_profilecache.h:$(GLSRC)gstypes.h $(GLSRC)gsicc_profilecache.h:$(GLSRC)stdpre.h $(GLSRC)gsicc_profilecache.h:$(GLGEN)arch.h -$(GLSRC)gsicc_profilecache.h:$(GLSRC)gssprintf.h $(GLSRC)gstrap.h:$(GLSRC)gspath.h $(GLSRC)gstrap.h:$(GLSRC)gxmatrix.h $(GLSRC)gstrap.h:$(GLSRC)gspenum.h +$(GLSRC)gstrap.h:$(GLSRC)gsmatrix.h $(GLSRC)gstrap.h:$(GLSRC)gxfixed.h $(GLSRC)gstrap.h:$(GLSRC)gsparam.h -$(GLSRC)gstrap.h:$(GLSRC)gsmatrix.h $(GLSRC)gstrap.h:$(GLSRC)scommon.h $(GLSRC)gstrap.h:$(GLSRC)gsstype.h $(GLSRC)gstrap.h:$(GLSRC)gsmemory.h $(GLSRC)gstrap.h:$(GLSRC)gslibctx.h -$(GLSRC)gstrap.h:$(GLSRC)stdint_.h -$(GLSRC)gstrap.h:$(GLSRC)gsgstate.h $(GLSRC)gstrap.h:$(GLSRC)gs_dll_call.h $(GLSRC)gstrap.h:$(GLSRC)stdio_.h -$(GLSRC)gstrap.h:$(GLSRC)gstypes.h +$(GLSRC)gstrap.h:$(GLSRC)gsgstate.h +$(GLSRC)gstrap.h:$(GLSRC)stdint_.h +$(GLSRC)gstrap.h:$(GLSRC)gssprintf.h $(GLSRC)gstrap.h:$(GLSRC)std.h +$(GLSRC)gstrap.h:$(GLSRC)gstypes.h $(GLSRC)gstrap.h:$(GLSRC)stdpre.h $(GLSRC)gstrap.h:$(GLGEN)arch.h -$(GLSRC)gstrap.h:$(GLSRC)gssprintf.h $(GLSRC)gsipar3x.h:$(GLSRC)gsiparm3.h $(GLSRC)gsipar3x.h:$(GLSRC)gsiparam.h -$(GLSRC)gsipar3x.h:$(GLSRC)gsmatrix.h $(GLSRC)gsipar3x.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsipar3x.h:$(GLSRC)gsmatrix.h +$(GLSRC)gsipar3x.h:$(GLSRC)gsccolor.h $(GLSRC)gsipar3x.h:$(GLSRC)scommon.h $(GLSRC)gsipar3x.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsipar3x.h:$(GLSRC)gsccolor.h $(GLSRC)gsipar3x.h:$(GLSRC)gsstype.h $(GLSRC)gsipar3x.h:$(GLSRC)gsmemory.h $(GLSRC)gsipar3x.h:$(GLSRC)gslibctx.h -$(GLSRC)gsipar3x.h:$(GLSRC)stdint_.h $(GLSRC)gsipar3x.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsipar3x.h:$(GLSRC)stdio_.h -$(GLSRC)gsipar3x.h:$(GLSRC)gstypes.h +$(GLSRC)gsipar3x.h:$(GLSRC)stdint_.h +$(GLSRC)gsipar3x.h:$(GLSRC)gssprintf.h $(GLSRC)gsipar3x.h:$(GLSRC)std.h +$(GLSRC)gsipar3x.h:$(GLSRC)gstypes.h $(GLSRC)gsipar3x.h:$(GLSRC)stdpre.h $(GLSRC)gsipar3x.h:$(GLGEN)arch.h -$(GLSRC)gsipar3x.h:$(GLSRC)gssprintf.h $(GLSRC)gximag3x.h:$(GLSRC)gsipar3x.h $(GLSRC)gximag3x.h:$(GLSRC)gsiparm3.h $(GLSRC)gximag3x.h:$(GLSRC)gxiparam.h $(GLSRC)gximag3x.h:$(GLSRC)gxdevcli.h $(GLSRC)gximag3x.h:$(GLSRC)gxtext.h $(GLSRC)gximag3x.h:$(GLSRC)gstext.h +$(GLSRC)gximag3x.h:$(GLSRC)gsnamecl.h $(GLSRC)gximag3x.h:$(GLSRC)gstparam.h -$(GLSRC)gximag3x.h:$(GLSRC)gxcmap.h +$(GLSRC)gximag3x.h:$(GLSRC)gxfcache.h +$(GLSRC)gximag3x.h:$(GLSRC)gxcspace.h $(GLSRC)gximag3x.h:$(GLSRC)gsropt.h $(GLSRC)gximag3x.h:$(GLSRC)gsfunc.h -$(GLSRC)gximag3x.h:$(GLSRC)gsnamecl.h $(GLSRC)gximag3x.h:$(GLSRC)gxrplane.h -$(GLSRC)gximag3x.h:$(GLSRC)gxcspace.h -$(GLSRC)gximag3x.h:$(GLSRC)gxfcache.h +$(GLSRC)gximag3x.h:$(GLSRC)gsuid.h +$(GLSRC)gximag3x.h:$(GLSRC)gxcmap.h +$(GLSRC)gximag3x.h:$(GLSRC)gsimage.h +$(GLSRC)gximag3x.h:$(GLSRC)gsdcolor.h +$(GLSRC)gximag3x.h:$(GLSRC)gxdda.h +$(GLSRC)gximag3x.h:$(GLSRC)gxcvalue.h $(GLSRC)gximag3x.h:$(GLSRC)gsfont.h $(GLSRC)gximag3x.h:$(GLSRC)gxfmap.h -$(GLSRC)gximag3x.h:$(GLSRC)gxcvalue.h -$(GLSRC)gximag3x.h:$(GLSRC)gxpath.h -$(GLSRC)gximag3x.h:$(GLSRC)gspenum.h -$(GLSRC)gximag3x.h:$(GLSRC)gxtmap.h -$(GLSRC)gximag3x.h:$(GLSRC)gsimage.h +$(GLSRC)gximag3x.h:$(GLSRC)gxftype.h $(GLSRC)gximag3x.h:$(GLSRC)gxfrac.h -$(GLSRC)gximag3x.h:$(GLSRC)gxdda.h -$(GLSRC)gximag3x.h:$(GLSRC)gslparam.h -$(GLSRC)gximag3x.h:$(GLSRC)gxbcache.h -$(GLSRC)gximag3x.h:$(GLSRC)gsdcolor.h -$(GLSRC)gximag3x.h:$(GLSRC)gsrect.h $(GLSRC)gximag3x.h:$(GLSRC)gscms.h -$(GLSRC)gximag3x.h:$(GLSRC)gxftype.h -$(GLSRC)gximag3x.h:$(GLSRC)gsdevice.h $(GLSRC)gximag3x.h:$(GLSRC)gscspace.h -$(GLSRC)gximag3x.h:$(GLSRC)gsuid.h +$(GLSRC)gximag3x.h:$(GLSRC)gxpath.h +$(GLSRC)gximag3x.h:$(GLSRC)gxbcache.h +$(GLSRC)gximag3x.h:$(GLSRC)gsdevice.h $(GLSRC)gximag3x.h:$(GLSRC)gxarith.h -$(GLSRC)gximag3x.h:$(GLSRC)gsdsrc.h +$(GLSRC)gximag3x.h:$(GLSRC)gspenum.h +$(GLSRC)gximag3x.h:$(GLSRC)gxhttile.h +$(GLSRC)gximag3x.h:$(GLSRC)gsrect.h +$(GLSRC)gximag3x.h:$(GLSRC)gslparam.h $(GLSRC)gximag3x.h:$(GLSRC)gsxfont.h +$(GLSRC)gximag3x.h:$(GLSRC)gsiparam.h +$(GLSRC)gximag3x.h:$(GLSRC)gsdsrc.h +$(GLSRC)gximag3x.h:$(GLSRC)gxbitmap.h +$(GLSRC)gximag3x.h:$(GLSRC)gsmatrix.h +$(GLSRC)gximag3x.h:$(GLSRC)gscpm.h $(GLSRC)gximag3x.h:$(GLSRC)gxfixed.h $(GLSRC)gximag3x.h:$(GLSRC)gsrefct.h -$(GLSRC)gximag3x.h:$(GLSRC)gscpm.h -$(GLSRC)gximag3x.h:$(GLSRC)gsiparam.h -$(GLSRC)gximag3x.h:$(GLSRC)gxhttile.h -$(GLSRC)gximag3x.h:$(GLSRC)gp.h -$(GLSRC)gximag3x.h:$(GLSRC)memento.h $(GLSRC)gximag3x.h:$(GLSRC)gsparam.h -$(GLSRC)gximag3x.h:$(GLSRC)gsmatrix.h -$(GLSRC)gximag3x.h:$(GLSRC)gxbitmap.h -$(GLSRC)gximag3x.h:$(GLSRC)srdline.h +$(GLSRC)gximag3x.h:$(GLSRC)gp.h +$(GLSRC)gximag3x.h:$(GLSRC)gsccolor.h $(GLSRC)gximag3x.h:$(GLSRC)gsstruct.h $(GLSRC)gximag3x.h:$(GLSRC)gxsync.h -$(GLSRC)gximag3x.h:$(GLSRC)gscsel.h +$(GLSRC)gximag3x.h:$(GLSRC)srdline.h $(GLSRC)gximag3x.h:$(GLSRC)scommon.h +$(GLSRC)gximag3x.h:$(GLSRC)memento.h +$(GLSRC)gximag3x.h:$(GLSRC)gscsel.h $(GLSRC)gximag3x.h:$(GLSRC)gsbitmap.h -$(GLSRC)gximag3x.h:$(GLSRC)gsccolor.h $(GLSRC)gximag3x.h:$(GLSRC)gsstype.h +$(GLSRC)gximag3x.h:$(GLSRC)stat_.h +$(GLSRC)gximag3x.h:$(GLSRC)gxtmap.h $(GLSRC)gximag3x.h:$(GLSRC)gsmemory.h $(GLSRC)gximag3x.h:$(GLSRC)gpsync.h -$(GLSRC)gximag3x.h:$(GLSRC)gpgetenv.h $(GLSRC)gximag3x.h:$(GLSRC)memory_.h +$(GLSRC)gximag3x.h:$(GLSRC)gpgetenv.h $(GLSRC)gximag3x.h:$(GLSRC)gslibctx.h $(GLSRC)gximag3x.h:$(GLSRC)gscdefs.h +$(GLSRC)gximag3x.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gximag3x.h:$(GLSRC)stdio_.h $(GLSRC)gximag3x.h:$(GLSRC)gscompt.h $(GLSRC)gximag3x.h:$(GLSRC)gxcindex.h -$(GLSRC)gximag3x.h:$(GLSRC)stdint_.h $(GLSRC)gximag3x.h:$(GLSRC)gsgstate.h +$(GLSRC)gximag3x.h:$(GLSRC)stdint_.h +$(GLSRC)gximag3x.h:$(GLSRC)gssprintf.h $(GLSRC)gximag3x.h:$(GLSRC)gsccode.h -$(GLSRC)gximag3x.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gximag3x.h:$(GLSRC)stdio_.h -$(GLSRC)gximag3x.h:$(GLSRC)gstypes.h $(GLSRC)gximag3x.h:$(GLSRC)std.h +$(GLSRC)gximag3x.h:$(GLSRC)gstypes.h $(GLSRC)gximag3x.h:$(GLSRC)stdpre.h $(GLSRC)gximag3x.h:$(GLGEN)arch.h -$(GLSRC)gximag3x.h:$(GLSRC)gssprintf.h $(GLSRC)gxblend.h:$(GLSRC)gxdevcli.h $(GLSRC)gxblend.h:$(GLSRC)gxtext.h $(GLSRC)gxblend.h:$(GLSRC)gstext.h +$(GLSRC)gxblend.h:$(GLSRC)gsnamecl.h $(GLSRC)gxblend.h:$(GLSRC)gstparam.h -$(GLSRC)gxblend.h:$(GLSRC)gxcmap.h +$(GLSRC)gxblend.h:$(GLSRC)gxfcache.h +$(GLSRC)gxblend.h:$(GLSRC)gxcspace.h $(GLSRC)gxblend.h:$(GLSRC)gsropt.h $(GLSRC)gxblend.h:$(GLSRC)gsfunc.h -$(GLSRC)gxblend.h:$(GLSRC)gsnamecl.h $(GLSRC)gxblend.h:$(GLSRC)gxrplane.h -$(GLSRC)gxblend.h:$(GLSRC)gxcspace.h -$(GLSRC)gxblend.h:$(GLSRC)gxfcache.h +$(GLSRC)gxblend.h:$(GLSRC)gsuid.h +$(GLSRC)gxblend.h:$(GLSRC)gxcmap.h +$(GLSRC)gxblend.h:$(GLSRC)gsimage.h +$(GLSRC)gxblend.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxblend.h:$(GLSRC)gxdda.h +$(GLSRC)gxblend.h:$(GLSRC)gxcvalue.h $(GLSRC)gxblend.h:$(GLSRC)gsfont.h $(GLSRC)gxblend.h:$(GLSRC)gxfmap.h -$(GLSRC)gxblend.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxblend.h:$(GLSRC)gxpath.h -$(GLSRC)gxblend.h:$(GLSRC)gspenum.h -$(GLSRC)gxblend.h:$(GLSRC)gxtmap.h -$(GLSRC)gxblend.h:$(GLSRC)gsimage.h +$(GLSRC)gxblend.h:$(GLSRC)gxftype.h $(GLSRC)gxblend.h:$(GLSRC)gxfrac.h -$(GLSRC)gxblend.h:$(GLSRC)gxdda.h -$(GLSRC)gxblend.h:$(GLSRC)gslparam.h -$(GLSRC)gxblend.h:$(GLSRC)gxbcache.h -$(GLSRC)gxblend.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxblend.h:$(GLSRC)gsrect.h $(GLSRC)gxblend.h:$(GLSRC)gscms.h -$(GLSRC)gxblend.h:$(GLSRC)gxftype.h -$(GLSRC)gxblend.h:$(GLSRC)gsdevice.h $(GLSRC)gxblend.h:$(GLSRC)gscspace.h -$(GLSRC)gxblend.h:$(GLSRC)gsuid.h +$(GLSRC)gxblend.h:$(GLSRC)gxpath.h +$(GLSRC)gxblend.h:$(GLSRC)gxbcache.h +$(GLSRC)gxblend.h:$(GLSRC)gsdevice.h $(GLSRC)gxblend.h:$(GLSRC)gxarith.h -$(GLSRC)gxblend.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxblend.h:$(GLSRC)gspenum.h +$(GLSRC)gxblend.h:$(GLSRC)gxhttile.h +$(GLSRC)gxblend.h:$(GLSRC)gsrect.h +$(GLSRC)gxblend.h:$(GLSRC)gslparam.h $(GLSRC)gxblend.h:$(GLSRC)gsxfont.h +$(GLSRC)gxblend.h:$(GLSRC)gsiparam.h +$(GLSRC)gxblend.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxblend.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxblend.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxblend.h:$(GLSRC)gscpm.h $(GLSRC)gxblend.h:$(GLSRC)gxfixed.h $(GLSRC)gxblend.h:$(GLSRC)gsrefct.h -$(GLSRC)gxblend.h:$(GLSRC)gscpm.h -$(GLSRC)gxblend.h:$(GLSRC)gsiparam.h -$(GLSRC)gxblend.h:$(GLSRC)gxhttile.h -$(GLSRC)gxblend.h:$(GLSRC)gp.h -$(GLSRC)gxblend.h:$(GLSRC)memento.h $(GLSRC)gxblend.h:$(GLSRC)gsparam.h -$(GLSRC)gxblend.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxblend.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxblend.h:$(GLSRC)srdline.h +$(GLSRC)gxblend.h:$(GLSRC)gp.h +$(GLSRC)gxblend.h:$(GLSRC)gsccolor.h $(GLSRC)gxblend.h:$(GLSRC)gsstruct.h $(GLSRC)gxblend.h:$(GLSRC)gxsync.h -$(GLSRC)gxblend.h:$(GLSRC)gscsel.h +$(GLSRC)gxblend.h:$(GLSRC)srdline.h $(GLSRC)gxblend.h:$(GLSRC)scommon.h +$(GLSRC)gxblend.h:$(GLSRC)memento.h +$(GLSRC)gxblend.h:$(GLSRC)gscsel.h $(GLSRC)gxblend.h:$(GLSRC)gsbitmap.h -$(GLSRC)gxblend.h:$(GLSRC)gsccolor.h $(GLSRC)gxblend.h:$(GLSRC)gsstype.h +$(GLSRC)gxblend.h:$(GLSRC)stat_.h +$(GLSRC)gxblend.h:$(GLSRC)gxtmap.h $(GLSRC)gxblend.h:$(GLSRC)gsmemory.h $(GLSRC)gxblend.h:$(GLSRC)gpsync.h -$(GLSRC)gxblend.h:$(GLSRC)gpgetenv.h $(GLSRC)gxblend.h:$(GLSRC)memory_.h +$(GLSRC)gxblend.h:$(GLSRC)gpgetenv.h $(GLSRC)gxblend.h:$(GLSRC)gslibctx.h $(GLSRC)gxblend.h:$(GLSRC)gscdefs.h +$(GLSRC)gxblend.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxblend.h:$(GLSRC)stdio_.h $(GLSRC)gxblend.h:$(GLSRC)gscompt.h $(GLSRC)gxblend.h:$(GLSRC)gxcindex.h -$(GLSRC)gxblend.h:$(GLSRC)stdint_.h $(GLSRC)gxblend.h:$(GLSRC)gsgstate.h +$(GLSRC)gxblend.h:$(GLSRC)stdint_.h +$(GLSRC)gxblend.h:$(GLSRC)gssprintf.h $(GLSRC)gxblend.h:$(GLSRC)gsccode.h -$(GLSRC)gxblend.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxblend.h:$(GLSRC)stdio_.h -$(GLSRC)gxblend.h:$(GLSRC)gstypes.h $(GLSRC)gxblend.h:$(GLSRC)std.h +$(GLSRC)gxblend.h:$(GLSRC)gstypes.h $(GLSRC)gxblend.h:$(GLSRC)stdpre.h $(GLSRC)gxblend.h:$(GLGEN)arch.h -$(GLSRC)gxblend.h:$(GLSRC)gssprintf.h $(GLSRC)gdevp14.h:$(GLSRC)gxcolor2.h $(GLSRC)gdevp14.h:$(GLSRC)gxpcolor.h $(GLSRC)gdevp14.h:$(GLSRC)gdevdevn.h -$(GLSRC)gdevp14.h:$(GLSRC)gxblend.h $(GLSRC)gdevp14.h:$(GLSRC)gsequivc.h +$(GLSRC)gdevp14.h:$(GLSRC)gxblend.h +$(GLSRC)gdevp14.h:$(GLSRC)gxdcolor.h $(GLSRC)gdevp14.h:$(GLSRC)gscolor2.h +$(GLSRC)gdevp14.h:$(GLSRC)gscindex.h $(GLSRC)gdevp14.h:$(GLSRC)gxdevice.h $(GLSRC)gdevp14.h:$(GLSRC)gxcpath.h $(GLSRC)gdevp14.h:$(GLSRC)gxdevmem.h +$(GLSRC)gdevp14.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevp14.h:$(GLSRC)gxpcache.h -$(GLSRC)gdevp14.h:$(GLSRC)gscindex.h $(GLSRC)gdevp14.h:$(GLSRC)gsptype1.h -$(GLSRC)gdevp14.h:$(GLSRC)gxdevcli.h $(GLSRC)gdevp14.h:$(GLSRC)gxtext.h -$(GLSRC)gdevp14.h:$(GLSRC)gspcolor.h +$(GLSRC)gdevp14.h:$(GLSRC)gscie.h $(GLSRC)gdevp14.h:$(GLSRC)gstext.h -$(GLSRC)gdevp14.h:$(GLSRC)gxdcolor.h +$(GLSRC)gdevp14.h:$(GLSRC)gsnamecl.h $(GLSRC)gdevp14.h:$(GLSRC)gstparam.h -$(GLSRC)gdevp14.h:$(GLSRC)gscie.h -$(GLSRC)gdevp14.h:$(GLSRC)gxcmap.h -$(GLSRC)gdevp14.h:$(GLSRC)gsmalloc.h +$(GLSRC)gdevp14.h:$(GLSRC)gspcolor.h +$(GLSRC)gdevp14.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevp14.h:$(GLSRC)gxcspace.h $(GLSRC)gdevp14.h:$(GLSRC)gsropt.h $(GLSRC)gdevp14.h:$(GLSRC)gsfunc.h -$(GLSRC)gdevp14.h:$(GLSRC)gxctable.h -$(GLSRC)gdevp14.h:$(GLSRC)gsnamecl.h +$(GLSRC)gdevp14.h:$(GLSRC)gsmalloc.h $(GLSRC)gdevp14.h:$(GLSRC)gxrplane.h -$(GLSRC)gdevp14.h:$(GLSRC)gxcspace.h -$(GLSRC)gdevp14.h:$(GLSRC)gxiclass.h -$(GLSRC)gdevp14.h:$(GLSRC)gxfcache.h +$(GLSRC)gdevp14.h:$(GLSRC)gxctable.h +$(GLSRC)gdevp14.h:$(GLSRC)gsuid.h +$(GLSRC)gdevp14.h:$(GLSRC)gxcmap.h +$(GLSRC)gdevp14.h:$(GLSRC)gsimage.h +$(GLSRC)gdevp14.h:$(GLSRC)gsdcolor.h +$(GLSRC)gdevp14.h:$(GLSRC)gxdda.h +$(GLSRC)gdevp14.h:$(GLSRC)gxcvalue.h $(GLSRC)gdevp14.h:$(GLSRC)gsfont.h $(GLSRC)gdevp14.h:$(GLSRC)gxfmap.h -$(GLSRC)gdevp14.h:$(GLSRC)gxcvalue.h -$(GLSRC)gdevp14.h:$(GLSRC)gxpath.h -$(GLSRC)gdevp14.h:$(GLSRC)gspenum.h -$(GLSRC)gdevp14.h:$(GLSRC)gxtmap.h -$(GLSRC)gdevp14.h:$(GLSRC)gsimage.h +$(GLSRC)gdevp14.h:$(GLSRC)gxiclass.h +$(GLSRC)gdevp14.h:$(GLSRC)gxftype.h $(GLSRC)gdevp14.h:$(GLSRC)gxfrac.h -$(GLSRC)gdevp14.h:$(GLSRC)gxdda.h -$(GLSRC)gdevp14.h:$(GLSRC)gslparam.h -$(GLSRC)gdevp14.h:$(GLSRC)gxbcache.h -$(GLSRC)gdevp14.h:$(GLSRC)gsdcolor.h -$(GLSRC)gdevp14.h:$(GLSRC)gsrect.h $(GLSRC)gdevp14.h:$(GLSRC)gscms.h -$(GLSRC)gdevp14.h:$(GLSRC)gxftype.h -$(GLSRC)gdevp14.h:$(GLSRC)gsdevice.h $(GLSRC)gdevp14.h:$(GLSRC)gscspace.h -$(GLSRC)gdevp14.h:$(GLSRC)gsuid.h +$(GLSRC)gdevp14.h:$(GLSRC)gxpath.h +$(GLSRC)gdevp14.h:$(GLSRC)gxbcache.h +$(GLSRC)gdevp14.h:$(GLSRC)gsdevice.h $(GLSRC)gdevp14.h:$(GLSRC)gxarith.h -$(GLSRC)gdevp14.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevp14.h:$(GLSRC)gxstdio.h +$(GLSRC)gdevp14.h:$(GLSRC)gspenum.h +$(GLSRC)gdevp14.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevp14.h:$(GLSRC)gsrect.h +$(GLSRC)gdevp14.h:$(GLSRC)gslparam.h $(GLSRC)gdevp14.h:$(GLSRC)gsxfont.h -$(GLSRC)gdevp14.h:$(GLSRC)gxfixed.h -$(GLSRC)gdevp14.h:$(GLSRC)gsrefct.h -$(GLSRC)gdevp14.h:$(GLSRC)gscpm.h $(GLSRC)gdevp14.h:$(GLSRC)gsiparam.h -$(GLSRC)gdevp14.h:$(GLSRC)gxhttile.h +$(GLSRC)gdevp14.h:$(GLSRC)gsdsrc.h $(GLSRC)gdevp14.h:$(GLSRC)gsio.h -$(GLSRC)gdevp14.h:$(GLSRC)gp.h -$(GLSRC)gdevp14.h:$(GLSRC)memento.h -$(GLSRC)gdevp14.h:$(GLSRC)gsparam.h -$(GLSRC)gdevp14.h:$(GLSRC)gsmatrix.h $(GLSRC)gdevp14.h:$(GLSRC)gxbitmap.h -$(GLSRC)gdevp14.h:$(GLSRC)srdline.h +$(GLSRC)gdevp14.h:$(GLSRC)gsmatrix.h +$(GLSRC)gdevp14.h:$(GLSRC)gscpm.h +$(GLSRC)gdevp14.h:$(GLSRC)gxfixed.h +$(GLSRC)gdevp14.h:$(GLSRC)gsrefct.h +$(GLSRC)gdevp14.h:$(GLSRC)gsparam.h +$(GLSRC)gdevp14.h:$(GLSRC)gp.h +$(GLSRC)gdevp14.h:$(GLSRC)gsccolor.h $(GLSRC)gdevp14.h:$(GLSRC)gsstruct.h $(GLSRC)gdevp14.h:$(GLSRC)gxsync.h -$(GLSRC)gdevp14.h:$(GLSRC)gscsel.h +$(GLSRC)gdevp14.h:$(GLSRC)srdline.h $(GLSRC)gdevp14.h:$(GLSRC)scommon.h +$(GLSRC)gdevp14.h:$(GLSRC)memento.h +$(GLSRC)gdevp14.h:$(GLSRC)gscsel.h $(GLSRC)gdevp14.h:$(GLSRC)gsbitmap.h $(GLSRC)gdevp14.h:$(GLSRC)gsfname.h -$(GLSRC)gdevp14.h:$(GLSRC)gsccolor.h $(GLSRC)gdevp14.h:$(GLSRC)gsstype.h +$(GLSRC)gdevp14.h:$(GLSRC)stat_.h +$(GLSRC)gdevp14.h:$(GLSRC)gxtmap.h $(GLSRC)gdevp14.h:$(GLSRC)gsmemory.h $(GLSRC)gdevp14.h:$(GLSRC)gpsync.h -$(GLSRC)gdevp14.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevp14.h:$(GLSRC)memory_.h +$(GLSRC)gdevp14.h:$(GLSRC)gpgetenv.h $(GLSRC)gdevp14.h:$(GLSRC)gslibctx.h $(GLSRC)gdevp14.h:$(GLSRC)gscdefs.h +$(GLSRC)gdevp14.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gdevp14.h:$(GLSRC)stdio_.h $(GLSRC)gdevp14.h:$(GLSRC)gscompt.h $(GLSRC)gdevp14.h:$(GLSRC)gxcindex.h -$(GLSRC)gdevp14.h:$(GLSRC)stdint_.h $(GLSRC)gdevp14.h:$(GLSRC)gsgstate.h +$(GLSRC)gdevp14.h:$(GLSRC)stdint_.h +$(GLSRC)gdevp14.h:$(GLSRC)gssprintf.h $(GLSRC)gdevp14.h:$(GLSRC)gsccode.h -$(GLSRC)gdevp14.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gdevp14.h:$(GLSRC)stdio_.h -$(GLSRC)gdevp14.h:$(GLSRC)gstypes.h $(GLSRC)gdevp14.h:$(GLSRC)std.h +$(GLSRC)gdevp14.h:$(GLSRC)gstypes.h $(GLSRC)gdevp14.h:$(GLSRC)stdpre.h $(GLSRC)gdevp14.h:$(GLGEN)arch.h -$(GLSRC)gdevp14.h:$(GLSRC)gssprintf.h $(GLSRC)gscolor3.h:$(GLSRC)gsshade.h $(GLSRC)gscolor3.h:$(GLSRC)gspath.h $(GLSRC)gscolor3.h:$(GLSRC)gxmatrix.h $(GLSRC)gscolor3.h:$(GLSRC)gscie.h $(GLSRC)gscolor3.h:$(GLSRC)gsfunc.h $(GLSRC)gscolor3.h:$(GLSRC)gxctable.h -$(GLSRC)gscolor3.h:$(GLSRC)gspenum.h $(GLSRC)gscolor3.h:$(GLSRC)gxfrac.h -$(GLSRC)gscolor3.h:$(GLSRC)gsdevice.h $(GLSRC)gscolor3.h:$(GLSRC)gscspace.h +$(GLSRC)gscolor3.h:$(GLSRC)gsdevice.h +$(GLSRC)gscolor3.h:$(GLSRC)gspenum.h +$(GLSRC)gscolor3.h:$(GLSRC)gsiparam.h $(GLSRC)gscolor3.h:$(GLSRC)gsdsrc.h +$(GLSRC)gscolor3.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscolor3.h:$(GLSRC)gsmatrix.h $(GLSRC)gscolor3.h:$(GLSRC)gxfixed.h $(GLSRC)gscolor3.h:$(GLSRC)gsrefct.h -$(GLSRC)gscolor3.h:$(GLSRC)gsiparam.h -$(GLSRC)gscolor3.h:$(GLSRC)memento.h $(GLSRC)gscolor3.h:$(GLSRC)gsparam.h -$(GLSRC)gscolor3.h:$(GLSRC)gsmatrix.h -$(GLSRC)gscolor3.h:$(GLSRC)gxbitmap.h +$(GLSRC)gscolor3.h:$(GLSRC)gsccolor.h $(GLSRC)gscolor3.h:$(GLSRC)gsstruct.h $(GLSRC)gscolor3.h:$(GLSRC)scommon.h +$(GLSRC)gscolor3.h:$(GLSRC)memento.h $(GLSRC)gscolor3.h:$(GLSRC)gsbitmap.h -$(GLSRC)gscolor3.h:$(GLSRC)gsccolor.h $(GLSRC)gscolor3.h:$(GLSRC)gsstype.h $(GLSRC)gscolor3.h:$(GLSRC)gsmemory.h $(GLSRC)gscolor3.h:$(GLSRC)gslibctx.h -$(GLSRC)gscolor3.h:$(GLSRC)stdint_.h -$(GLSRC)gscolor3.h:$(GLSRC)gsgstate.h $(GLSRC)gscolor3.h:$(GLSRC)gs_dll_call.h $(GLSRC)gscolor3.h:$(GLSRC)stdio_.h -$(GLSRC)gscolor3.h:$(GLSRC)gstypes.h +$(GLSRC)gscolor3.h:$(GLSRC)gsgstate.h +$(GLSRC)gscolor3.h:$(GLSRC)stdint_.h +$(GLSRC)gscolor3.h:$(GLSRC)gssprintf.h $(GLSRC)gscolor3.h:$(GLSRC)std.h +$(GLSRC)gscolor3.h:$(GLSRC)gstypes.h $(GLSRC)gscolor3.h:$(GLSRC)stdpre.h $(GLSRC)gscolor3.h:$(GLGEN)arch.h -$(GLSRC)gscolor3.h:$(GLSRC)gssprintf.h $(GLSRC)gsfunc3.h:$(GLSRC)gsfunc.h $(GLSRC)gsfunc3.h:$(GLSRC)gsdsrc.h -$(GLSRC)gsfunc3.h:$(GLSRC)memento.h $(GLSRC)gsfunc3.h:$(GLSRC)gsparam.h $(GLSRC)gsfunc3.h:$(GLSRC)gsstruct.h $(GLSRC)gsfunc3.h:$(GLSRC)scommon.h +$(GLSRC)gsfunc3.h:$(GLSRC)memento.h $(GLSRC)gsfunc3.h:$(GLSRC)gsstype.h $(GLSRC)gsfunc3.h:$(GLSRC)gsmemory.h $(GLSRC)gsfunc3.h:$(GLSRC)gslibctx.h -$(GLSRC)gsfunc3.h:$(GLSRC)stdint_.h $(GLSRC)gsfunc3.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsfunc3.h:$(GLSRC)stdio_.h -$(GLSRC)gsfunc3.h:$(GLSRC)gstypes.h +$(GLSRC)gsfunc3.h:$(GLSRC)stdint_.h +$(GLSRC)gsfunc3.h:$(GLSRC)gssprintf.h $(GLSRC)gsfunc3.h:$(GLSRC)std.h +$(GLSRC)gsfunc3.h:$(GLSRC)gstypes.h $(GLSRC)gsfunc3.h:$(GLSRC)stdpre.h $(GLSRC)gsfunc3.h:$(GLGEN)arch.h -$(GLSRC)gsfunc3.h:$(GLSRC)gssprintf.h $(GLSRC)gsshade.h:$(GLSRC)gspath.h $(GLSRC)gsshade.h:$(GLSRC)gxmatrix.h $(GLSRC)gsshade.h:$(GLSRC)gscie.h $(GLSRC)gsshade.h:$(GLSRC)gsfunc.h $(GLSRC)gsshade.h:$(GLSRC)gxctable.h -$(GLSRC)gsshade.h:$(GLSRC)gspenum.h $(GLSRC)gsshade.h:$(GLSRC)gxfrac.h -$(GLSRC)gsshade.h:$(GLSRC)gsdevice.h $(GLSRC)gsshade.h:$(GLSRC)gscspace.h +$(GLSRC)gsshade.h:$(GLSRC)gsdevice.h +$(GLSRC)gsshade.h:$(GLSRC)gspenum.h +$(GLSRC)gsshade.h:$(GLSRC)gsiparam.h $(GLSRC)gsshade.h:$(GLSRC)gsdsrc.h +$(GLSRC)gsshade.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsshade.h:$(GLSRC)gsmatrix.h $(GLSRC)gsshade.h:$(GLSRC)gxfixed.h $(GLSRC)gsshade.h:$(GLSRC)gsrefct.h -$(GLSRC)gsshade.h:$(GLSRC)gsiparam.h -$(GLSRC)gsshade.h:$(GLSRC)memento.h $(GLSRC)gsshade.h:$(GLSRC)gsparam.h -$(GLSRC)gsshade.h:$(GLSRC)gsmatrix.h -$(GLSRC)gsshade.h:$(GLSRC)gxbitmap.h +$(GLSRC)gsshade.h:$(GLSRC)gsccolor.h $(GLSRC)gsshade.h:$(GLSRC)gsstruct.h $(GLSRC)gsshade.h:$(GLSRC)scommon.h +$(GLSRC)gsshade.h:$(GLSRC)memento.h $(GLSRC)gsshade.h:$(GLSRC)gsbitmap.h -$(GLSRC)gsshade.h:$(GLSRC)gsccolor.h $(GLSRC)gsshade.h:$(GLSRC)gsstype.h $(GLSRC)gsshade.h:$(GLSRC)gsmemory.h $(GLSRC)gsshade.h:$(GLSRC)gslibctx.h -$(GLSRC)gsshade.h:$(GLSRC)stdint_.h -$(GLSRC)gsshade.h:$(GLSRC)gsgstate.h $(GLSRC)gsshade.h:$(GLSRC)gs_dll_call.h $(GLSRC)gsshade.h:$(GLSRC)stdio_.h -$(GLSRC)gsshade.h:$(GLSRC)gstypes.h +$(GLSRC)gsshade.h:$(GLSRC)gsgstate.h +$(GLSRC)gsshade.h:$(GLSRC)stdint_.h +$(GLSRC)gsshade.h:$(GLSRC)gssprintf.h $(GLSRC)gsshade.h:$(GLSRC)std.h +$(GLSRC)gsshade.h:$(GLSRC)gstypes.h $(GLSRC)gsshade.h:$(GLSRC)stdpre.h $(GLSRC)gsshade.h:$(GLGEN)arch.h -$(GLSRC)gsshade.h:$(GLSRC)gssprintf.h $(GLSRC)gxshade.h:$(GLSRC)gsshade.h $(GLSRC)gxshade.h:$(GLSRC)gspath.h $(GLSRC)gxshade.h:$(GLSRC)gxmatrix.h -$(GLSRC)gxshade.h:$(GLSRC)stream.h $(GLSRC)gxshade.h:$(GLSRC)gscie.h +$(GLSRC)gxshade.h:$(GLSRC)stream.h $(GLSRC)gxshade.h:$(GLSRC)gsfunc.h $(GLSRC)gxshade.h:$(GLSRC)gxctable.h $(GLSRC)gxshade.h:$(GLSRC)gxiodev.h -$(GLSRC)gxshade.h:$(GLSRC)stat_.h -$(GLSRC)gxshade.h:$(GLSRC)gspenum.h -$(GLSRC)gxshade.h:$(GLSRC)gxfrac.h $(GLSRC)gxshade.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxshade.h:$(GLSRC)gxfrac.h $(GLSRC)gxshade.h:$(GLSRC)gscms.h -$(GLSRC)gxshade.h:$(GLSRC)gsdevice.h $(GLSRC)gxshade.h:$(GLSRC)gscspace.h +$(GLSRC)gxshade.h:$(GLSRC)gsdevice.h $(GLSRC)gxshade.h:$(GLSRC)gxarith.h +$(GLSRC)gxshade.h:$(GLSRC)gspenum.h +$(GLSRC)gxshade.h:$(GLSRC)gxhttile.h +$(GLSRC)gxshade.h:$(GLSRC)gsiparam.h $(GLSRC)gxshade.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxshade.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxshade.h:$(GLSRC)gsmatrix.h $(GLSRC)gxshade.h:$(GLSRC)gxfixed.h $(GLSRC)gxshade.h:$(GLSRC)gsrefct.h -$(GLSRC)gxshade.h:$(GLSRC)gsiparam.h -$(GLSRC)gxshade.h:$(GLSRC)gxhttile.h -$(GLSRC)gxshade.h:$(GLSRC)gp.h -$(GLSRC)gxshade.h:$(GLSRC)memento.h $(GLSRC)gxshade.h:$(GLSRC)gsparam.h -$(GLSRC)gxshade.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxshade.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxshade.h:$(GLSRC)srdline.h +$(GLSRC)gxshade.h:$(GLSRC)gp.h +$(GLSRC)gxshade.h:$(GLSRC)gsccolor.h $(GLSRC)gxshade.h:$(GLSRC)gsstruct.h $(GLSRC)gxshade.h:$(GLSRC)gxsync.h +$(GLSRC)gxshade.h:$(GLSRC)srdline.h $(GLSRC)gxshade.h:$(GLSRC)scommon.h +$(GLSRC)gxshade.h:$(GLSRC)memento.h $(GLSRC)gxshade.h:$(GLSRC)gsbitmap.h $(GLSRC)gxshade.h:$(GLSRC)gsfname.h -$(GLSRC)gxshade.h:$(GLSRC)gsccolor.h $(GLSRC)gxshade.h:$(GLSRC)gsstype.h +$(GLSRC)gxshade.h:$(GLSRC)stat_.h $(GLSRC)gxshade.h:$(GLSRC)gsmemory.h $(GLSRC)gxshade.h:$(GLSRC)gpsync.h -$(GLSRC)gxshade.h:$(GLSRC)gpgetenv.h $(GLSRC)gxshade.h:$(GLSRC)memory_.h +$(GLSRC)gxshade.h:$(GLSRC)gpgetenv.h $(GLSRC)gxshade.h:$(GLSRC)gslibctx.h $(GLSRC)gxshade.h:$(GLSRC)gscdefs.h -$(GLSRC)gxshade.h:$(GLSRC)gxcindex.h -$(GLSRC)gxshade.h:$(GLSRC)stdint_.h -$(GLSRC)gxshade.h:$(GLSRC)gsgstate.h $(GLSRC)gxshade.h:$(GLSRC)gs_dll_call.h $(GLSRC)gxshade.h:$(GLSRC)stdio_.h -$(GLSRC)gxshade.h:$(GLSRC)gstypes.h +$(GLSRC)gxshade.h:$(GLSRC)gxcindex.h +$(GLSRC)gxshade.h:$(GLSRC)gsgstate.h +$(GLSRC)gxshade.h:$(GLSRC)stdint_.h +$(GLSRC)gxshade.h:$(GLSRC)gssprintf.h $(GLSRC)gxshade.h:$(GLSRC)std.h +$(GLSRC)gxshade.h:$(GLSRC)gstypes.h $(GLSRC)gxshade.h:$(GLSRC)stdpre.h $(GLSRC)gxshade.h:$(GLGEN)arch.h -$(GLSRC)gxshade.h:$(GLSRC)gssprintf.h $(GLSRC)gxshade4.h:$(GLSRC)gxshade.h $(GLSRC)gxshade4.h:$(GLSRC)gsshade.h $(GLSRC)gxshade4.h:$(GLSRC)gscicach.h $(GLSRC)gxshade4.h:$(GLSRC)gspath.h $(GLSRC)gxshade4.h:$(GLSRC)gxmatrix.h -$(GLSRC)gxshade4.h:$(GLSRC)stream.h $(GLSRC)gxshade4.h:$(GLSRC)gxdevcli.h $(GLSRC)gxshade4.h:$(GLSRC)gxtext.h +$(GLSRC)gxshade4.h:$(GLSRC)gscie.h $(GLSRC)gxshade4.h:$(GLSRC)gstext.h +$(GLSRC)gxshade4.h:$(GLSRC)gsnamecl.h $(GLSRC)gxshade4.h:$(GLSRC)gstparam.h -$(GLSRC)gxshade4.h:$(GLSRC)gscie.h -$(GLSRC)gxshade4.h:$(GLSRC)gxcmap.h +$(GLSRC)gxshade4.h:$(GLSRC)gxfcache.h +$(GLSRC)gxshade4.h:$(GLSRC)stream.h +$(GLSRC)gxshade4.h:$(GLSRC)gxcspace.h $(GLSRC)gxshade4.h:$(GLSRC)gsropt.h $(GLSRC)gxshade4.h:$(GLSRC)gsfunc.h +$(GLSRC)gxshade4.h:$(GLSRC)gxrplane.h $(GLSRC)gxshade4.h:$(GLSRC)gxctable.h -$(GLSRC)gxshade4.h:$(GLSRC)gsnamecl.h $(GLSRC)gxshade4.h:$(GLSRC)gxiodev.h -$(GLSRC)gxshade4.h:$(GLSRC)gxrplane.h -$(GLSRC)gxshade4.h:$(GLSRC)gxcspace.h -$(GLSRC)gxshade4.h:$(GLSRC)stat_.h -$(GLSRC)gxshade4.h:$(GLSRC)gxfcache.h +$(GLSRC)gxshade4.h:$(GLSRC)gsuid.h +$(GLSRC)gxshade4.h:$(GLSRC)gxcmap.h +$(GLSRC)gxshade4.h:$(GLSRC)gsimage.h +$(GLSRC)gxshade4.h:$(GLSRC)gsdcolor.h +$(GLSRC)gxshade4.h:$(GLSRC)gxdda.h +$(GLSRC)gxshade4.h:$(GLSRC)gxcvalue.h $(GLSRC)gxshade4.h:$(GLSRC)gsfont.h $(GLSRC)gxshade4.h:$(GLSRC)gxfmap.h -$(GLSRC)gxshade4.h:$(GLSRC)gxcvalue.h -$(GLSRC)gxshade4.h:$(GLSRC)gxpath.h -$(GLSRC)gxshade4.h:$(GLSRC)gspenum.h -$(GLSRC)gxshade4.h:$(GLSRC)gxtmap.h -$(GLSRC)gxshade4.h:$(GLSRC)gsimage.h +$(GLSRC)gxshade4.h:$(GLSRC)gxftype.h $(GLSRC)gxshade4.h:$(GLSRC)gxfrac.h -$(GLSRC)gxshade4.h:$(GLSRC)gxdda.h -$(GLSRC)gxshade4.h:$(GLSRC)gslparam.h -$(GLSRC)gxshade4.h:$(GLSRC)gxbcache.h -$(GLSRC)gxshade4.h:$(GLSRC)gsdcolor.h -$(GLSRC)gxshade4.h:$(GLSRC)gsrect.h $(GLSRC)gxshade4.h:$(GLSRC)gscms.h -$(GLSRC)gxshade4.h:$(GLSRC)gxftype.h -$(GLSRC)gxshade4.h:$(GLSRC)gsdevice.h $(GLSRC)gxshade4.h:$(GLSRC)gscspace.h -$(GLSRC)gxshade4.h:$(GLSRC)gsuid.h +$(GLSRC)gxshade4.h:$(GLSRC)gxpath.h +$(GLSRC)gxshade4.h:$(GLSRC)gxbcache.h +$(GLSRC)gxshade4.h:$(GLSRC)gsdevice.h $(GLSRC)gxshade4.h:$(GLSRC)gxarith.h -$(GLSRC)gxshade4.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxshade4.h:$(GLSRC)gspenum.h +$(GLSRC)gxshade4.h:$(GLSRC)gxhttile.h +$(GLSRC)gxshade4.h:$(GLSRC)gsrect.h +$(GLSRC)gxshade4.h:$(GLSRC)gslparam.h $(GLSRC)gxshade4.h:$(GLSRC)gsxfont.h +$(GLSRC)gxshade4.h:$(GLSRC)gsiparam.h +$(GLSRC)gxshade4.h:$(GLSRC)gsdsrc.h +$(GLSRC)gxshade4.h:$(GLSRC)gxbitmap.h +$(GLSRC)gxshade4.h:$(GLSRC)gsmatrix.h +$(GLSRC)gxshade4.h:$(GLSRC)gscpm.h $(GLSRC)gxshade4.h:$(GLSRC)gxfixed.h $(GLSRC)gxshade4.h:$(GLSRC)gsrefct.h -$(GLSRC)gxshade4.h:$(GLSRC)gscpm.h -$(GLSRC)gxshade4.h:$(GLSRC)gsiparam.h -$(GLSRC)gxshade4.h:$(GLSRC)gxhttile.h -$(GLSRC)gxshade4.h:$(GLSRC)gp.h -$(GLSRC)gxshade4.h:$(GLSRC)memento.h $(GLSRC)gxshade4.h:$(GLSRC)gsparam.h -$(GLSRC)gxshade4.h:$(GLSRC)gsmatrix.h -$(GLSRC)gxshade4.h:$(GLSRC)gxbitmap.h -$(GLSRC)gxshade4.h:$(GLSRC)srdline.h +$(GLSRC)gxshade4.h:$(GLSRC)gp.h +$(GLSRC)gxshade4.h:$(GLSRC)gsccolor.h $(GLSRC)gxshade4.h:$(GLSRC)gsstruct.h $(GLSRC)gxshade4.h:$(GLSRC)gxsync.h -$(GLSRC)gxshade4.h:$(GLSRC)gscsel.h +$(GLSRC)gxshade4.h:$(GLSRC)srdline.h $(GLSRC)gxshade4.h:$(GLSRC)scommon.h +$(GLSRC)gxshade4.h:$(GLSRC)memento.h +$(GLSRC)gxshade4.h:$(GLSRC)gscsel.h $(GLSRC)gxshade4.h:$(GLSRC)gsbitmap.h $(GLSRC)gxshade4.h:$(GLSRC)gsfname.h -$(GLSRC)gxshade4.h:$(GLSRC)gsccolor.h $(GLSRC)gxshade4.h:$(GLSRC)gsstype.h +$(GLSRC)gxshade4.h:$(GLSRC)stat_.h +$(GLSRC)gxshade4.h:$(GLSRC)gxtmap.h $(GLSRC)gxshade4.h:$(GLSRC)gsmemory.h $(GLSRC)gxshade4.h:$(GLSRC)gpsync.h -$(GLSRC)gxshade4.h:$(GLSRC)gpgetenv.h $(GLSRC)gxshade4.h:$(GLSRC)memory_.h +$(GLSRC)gxshade4.h:$(GLSRC)gpgetenv.h $(GLSRC)gxshade4.h:$(GLSRC)gslibctx.h $(GLSRC)gxshade4.h:$(GLSRC)gscdefs.h +$(GLSRC)gxshade4.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gxshade4.h:$(GLSRC)stdio_.h $(GLSRC)gxshade4.h:$(GLSRC)gscompt.h $(GLSRC)gxshade4.h:$(GLSRC)gxcindex.h -$(GLSRC)gxshade4.h:$(GLSRC)stdint_.h $(GLSRC)gxshade4.h:$(GLSRC)gsgstate.h +$(GLSRC)gxshade4.h:$(GLSRC)stdint_.h +$(GLSRC)gxshade4.h:$(GLSRC)gssprintf.h $(GLSRC)gxshade4.h:$(GLSRC)gsccode.h -$(GLSRC)gxshade4.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxshade4.h:$(GLSRC)stdio_.h -$(GLSRC)gxshade4.h:$(GLSRC)gstypes.h $(GLSRC)gxshade4.h:$(GLSRC)std.h +$(GLSRC)gxshade4.h:$(GLSRC)gstypes.h $(GLSRC)gxshade4.h:$(GLSRC)stdpre.h $(GLSRC)gxshade4.h:$(GLGEN)arch.h -$(GLSRC)gxshade4.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gxshade4.h:$(GLSRC)gssprintf.h -$(GLSRC)gsmd5.h:$(GLSRC)memory_.h diff --git a/base/memento.c b/base/memento.c index f1b938f9..50eed104 100644 --- a/base/memento.c +++ b/base/memento.c @@ -45,10 +45,13 @@ int atexit(void (*)(void)); #ifndef _MSC_VER #include <stdint.h> #include <limits.h> +#include <unistd.h> #endif +#include <errno.h> #include <stdlib.h> #include <stdarg.h> +#include <string.h> #ifdef __ANDROID__ #define MEMENTO_ANDROID @@ -59,9 +62,11 @@ int atexit(void (*)(void)); #ifdef _MSC_VER #define FMTZ "%llu" #define FMTZ_CAST _int64 +#define FMTP "0x%p" #else #define FMTZ "%zu" #define FMTZ_CAST size_t +#define FMTP "%p" #endif #define UB(x) ((intptr_t)((x) & 0xFF)) @@ -251,7 +256,8 @@ enum { Memento_Flag_BreakOnFree = 4, Memento_Flag_BreakOnRealloc = 8, Memento_Flag_Freed = 16, - Memento_Flag_KnownLeak = 32 + Memento_Flag_KnownLeak = 32, + Memento_Flag_Reported = 64 }; enum { @@ -397,6 +403,11 @@ static void Memento_initMutex(Memento_mutex *m) #endif #endif +typedef struct { + int begin; + int end; +} Memento_range; + /* And our global structure */ static struct { int inited; @@ -427,6 +438,9 @@ static struct { size_t numFrees; size_t numReallocs; Memento_mutex mutex; + Memento_range *squeezes; + int squeezes_num; + int squeezes_pos; } memento; #define MEMENTO_EXTRASIZE (sizeof(Memento_BlkHeader) + Memento_PostSize) @@ -452,6 +466,7 @@ extern void backtrace_symbols_fd(void **, size_t, int); extern char **backtrace_symbols(void **, size_t); #define MEMENTO_BACKTRACE_MAX 256 +static void (*print_stack_value)(void *address); /* Libbacktrace gubbins - relies on us having libdl to load the .so */ #ifdef HAVE_LIBDL @@ -489,7 +504,6 @@ static backtrace_create_state_type backtrace_create_state; static backtrace_pcinfo_type backtrace_pcinfo; static struct backtrace_state *my_backtrace_state; static void *libbt; -static void (*print_stack_value)(void *address); static char backtrace_exe[4096]; static void *current_addr; @@ -535,7 +549,30 @@ static void print_stack_libbt(void *addr) static void print_stack_libbt_failed(void *addr) { - char **strings = backtrace_symbols(&addr, 1); + char **strings; +#if 0 + /* Let's use a hack from Julian Smith to call gdb to extract the information */ + /* Disabled for now, as I can't make this work. */ + static char command[1024]; + int e; + static int gdb_invocation_failed = 0; + + if (gdb_invocation_failed == 0) + { + snprintf(command, sizeof(command), + //"gdb -q --batch -p=%i -ex 'info line *%p' -ex quit 2>/dev/null", + "gdb -q --batch -p=%i -ex 'info line *%p' -ex quit 2>/dev/null| egrep -v '(Thread debugging using)|(Using host libthread_db library)|(A debugging session is active)|(will be detached)|(Quit anyway)|(No such file or directory)|(^0x)|(^$)'", + getpid(), addr); + printf("%s\n", command); + e = system(command); + if (e == 0) + return; /* That'll do! */ + gdb_invocation_failed = 1; /* If it's failed once, it'll probably keep failing. */ + } +#endif + + /* We couldn't even get gdb! Make do. */ + strings = backtrace_symbols(&addr, 1); if (strings == NULL || strings[0] == NULL) { @@ -553,6 +590,12 @@ static void print_stack_libbt_failed(void *addr) static int init_libbt(void) { + static int libbt_inited = 0; + + if (libbt_inited) + return 0; + libbt_inited = 1; + libbt = dlopen("libbacktrace.so", RTLD_LAZY); if (libbt == NULL) libbt = dlopen("/opt/lib/libbacktrace.so", RTLD_LAZY); @@ -588,6 +631,9 @@ static int init_libbt(void) return 1; fail: + fprintf(stderr, + "MEMENTO: libbacktrace.so failed to load; backtraces will be sparse.\n" + "MEMENTO: See memento.h for how to rectify this.\n"); libbt = NULL; backtrace_create_state = NULL; backtrace_syminfo = NULL; @@ -602,7 +648,7 @@ static void print_stack_default(void *addr) if (strings == NULL || strings[0] == NULL) { - fprintf(stderr, " [0x%p]\n", addr); + fprintf(stderr, " ["FMTP"]\n", addr); } #ifdef HAVE_LIBDL else if (strchr(strings[0], ':') == NULL) @@ -614,8 +660,8 @@ static void print_stack_default(void *addr) { memcpy(backtrace_exe, strings[0], s - strings[0]); backtrace_exe[s-strings[0]] = 0; - if (init_libbt()) - print_stack_value(addr); + init_libbt(); + print_stack_value(addr); } } #endif @@ -846,12 +892,12 @@ static void Memento_showStacktrace(void **stack, int numberOfFrames) const char *sym = info.dli_sname ? info.dli_sname : "<unknown>"; char *demangled = __cxa_demangle(sym, NULL, 0, &status); int offset = stack[i] - info.dli_saddr; - fprintf(stderr, " [%p]%s(+0x%x)\n", stack[i], demangled && status == 0 ? demangled : sym, offset); + fprintf(stderr, " ["FMTP"]%s(+0x%x)\n", stack[i], demangled && status == 0 ? demangled : sym, offset); free(demangled); } else { - fprintf(stderr, " [%p]\n", stack[i]); + fprintf(stderr, " ["FMTP"]\n", stack[i]); } } } @@ -1102,7 +1148,7 @@ static int Memento_Internal_checkFreedBlock(Memento_BlkHeader *b, void *arg) goto mismatch4; p += 4; i -= 4; - } while (i > 0); + } while (i > 0); i += 4; } if (i & 2) { @@ -1259,7 +1305,7 @@ static int showBlock(Memento_BlkHeader *b, int space) { int seq; VALGRIND_MAKE_MEM_DEFINED(b, sizeof(Memento_BlkHeader)); - fprintf(stderr, "0x%p:(size=" FMTZ ",num=%d)", + fprintf(stderr, FMTP":(size=" FMTZ ",num=%d)", MEMBLK_TOBLK(b), (FMTZ_CAST)b->rawsize, b->sequence); if (b->label) fprintf(stderr, "%c(%s)", space, b->label); @@ -1376,10 +1422,11 @@ int Memento_listBlocksNested(void) for (b = memento.used.head; b; b = b->next) { char *p = MEMBLK_TOBLK(b); int end = (b->rawsize < MEMENTO_PTRSEARCH ? b->rawsize : MEMENTO_PTRSEARCH); + VALGRIND_MAKE_MEM_DEFINED(p, end); + end -= sizeof(void *)-1; for (i = MEMENTO_SEARCH_SKIP; i < end; i += sizeof(void *)) { void *q = *(void **)(&p[i]); void **r; - /* Do trivial checks on pointer */ if ((mask & (intptr_t)q) != mask || q < minptr || q > maxptr) continue; @@ -1400,7 +1447,7 @@ int Memento_listBlocksNested(void) /* Not interested in pointers to ourself! */ if (child == b) - continue; + continue; /* We're also assuming acyclicness here. If this is one of * our parents, ignore it. */ @@ -1505,7 +1552,7 @@ static int showInfo(Memento_BlkHeader *b, void *arg) { Memento_BlkDetails *details; - fprintf(stderr, "0x%p:(size="FMTZ",num=%d)", + fprintf(stderr, FMTP":(size="FMTZ",num=%d)", MEMBLK_TOBLK(b), (FMTZ_CAST)b->rawsize, b->sequence); if (b->label) fprintf(stderr, " (%s)", b->label); @@ -1537,9 +1584,15 @@ static int Memento_nonLeakBlocksLeaked(void) Memento_BlkHeader *blk = memento.used.head; while (blk) { - if ((blk->flags & Memento_Flag_KnownLeak) == 0) + Memento_BlkHeader *next; + int leaked; + VALGRIND_MAKE_MEM_DEFINED(blk, sizeof(*blk)); + leaked = ((blk->flags & Memento_Flag_KnownLeak) == 0); + next = blk->next; + VALGRIND_MAKE_MEM_DEFINED(blk, sizeof(*blk)); + if (leaked) return 1; - blk = blk->next; + blk = next; } return 0; } @@ -1579,6 +1632,184 @@ void Memento_fin(void) } } +/* Reads number from <text> using strtol(). + +Params: + text: + text to read. + out: + pointer to output value. + relative: + *relative set to 1 if <text> starts with '+' or '-', else set to 0. + end: + *end is set to point to next unread character after number. + +Returns 0 on success, else -1. +*/ +static int read_number(const char *text, int *out, int *relative, char **end) +{ + if (text[0] == '+' || text[0] == '-') { + *relative = 1; + } + else { + *relative = 0; + } + errno = 0; + *out = strtol(text, end, 0 /*base*/); + if (errno || *end == text) { + fprintf(stderr, "Failed to parse number at start of '%s'.\n", text); + return -1; + } + if (0) fprintf(stderr, "text='%s': *out=%i *relative=%i\n", + text, *out, *relative); + return 0; +} + +/* Reads number plus optional delta value from <text>. + +Evaluates <number> or <number>[+|-<delta>]. E.g. text='1234+2' sets *out=1236, +text='1234-1' sets *out=1233. + +Params: + text: + text to read. + out: + pointer to output value. + end: + *end is set to point to next unread character after number. + +Returns 0 on success, else -1. +*/ +static int read_number_delta(const char *text, int *out, char **end) +{ + int e; + int relative; + e = read_number(text, out, &relative, end); + if (e) { + return e; + } + if (relative) { + fprintf(stderr, "Base number should not start with '+' or '-' at start of '%s'.\n", + text); + return -1; + } + if (*end) { + if (**end == '-' || **end == '+') { + int delta; + e = read_number(*end, &delta, &relative, end); + if (e) { + return e; + } + *out += delta; + } + } + if (0) fprintf(stderr, "text='%s': *out=%i\n", text, *out); + return 0; +} + +/* Reads range. + +E.g.: + text='115867-2' sets *begin=115865 *end=115866. + text='115867-1..+3' sets *begin=115866 *end=115869. + +Supported patterns for text: + <range> + <value> - returns *begin=value *end=*begin+1. + <value1>..<value2> - returns *begin=value1 *end=value2. + <value>..+<number> - returns *begin=value *end=*begin+number. + <value> + <number> + <number>+<number> + <number>-<number> + + <number>: [0-9]+ + +If not specified, *end defaults to *begin+1. + +Returns 0 on success, else -1, with *string_end pointing to first unused +character. +*/ +static int read_number_range(const char *text, int *begin, int *end, char **string_end) +{ + int e; + e = read_number_delta(text, begin, string_end); + if (e) { + return e; + } + if (string_end && (*string_end)[0] == '.' && (*string_end)[1] == '.') { + int relative; + e = read_number((*string_end) + 2, end, &relative, string_end); + if (e) { + return e; + } + if (relative) { + *end += *begin; + } + } + else { + *end = *begin + 1; + } + if (*end < *begin) { + fprintf(stderr, "Range %i..%i has negative extent, at start of '%s'.\n", + *begin, *end, text); + return -1; + } + if (0) fprintf(stderr, "text='%s': *begin=%i *end=%i\n", text, *begin, *end); + return 0; +} + +/* +Format: <range>[,<range>]+ + +For description of <range>, see read_number_range() above. + +E.g.: + MEMENTO_SQUEEZES=1234-2..+4,2345,2350..+2 +*/ +static int Memento_add_squeezes(const char *text) +{ + int e = 0; + for(;;) { + int begin; + int end; + char *string_end; + if (!*text) { + break; + } + e = read_number_range(text, &begin, &end, &string_end); + if (e) { + break; + } + if (*string_end && *string_end != ',') { + fprintf(stderr, "Expecting comma at start of '%s'.\n", string_end); + e = -1; + break; + } + fprintf(stderr, "Adding squeeze range %i..%i.\n", + begin, end, string_end-text); + memento.squeezes_num += 1; + memento.squeezes = MEMENTO_UNDERLYING_REALLOC( + memento.squeezes, + memento.squeezes_num * sizeof(*memento.squeezes) + ); + if (!memento.squeezes) { + fprintf(stderr, "Failed to allocate memory for memento.squeezes_num=%i\n", + memento.squeezes_num); + e = -1; + break; + } + memento.squeezes[memento.squeezes_num-1].begin = begin; + memento.squeezes[memento.squeezes_num-1].end = end; + + if (*string_end == 0) { + break; + } + text = string_end + 1; + } + return e; +} + static void Memento_init(void) { char *env; @@ -1590,10 +1821,16 @@ static void Memento_init(void) memento.free.tail = NULL; memento.sequence = 0; memento.countdown = 1024; + memento.squeezes = NULL; + memento.squeezes_num = 0; + memento.squeezes_pos = 0; env = getenv("MEMENTO_FAILAT"); memento.failAt = (env ? atoi(env) : 0); + env = getenv("MEMENTO_BREAKAT"); + memento.breakAt = (env ? atoi(env) : 0); + env = getenv("MEMENTO_PARANOIA"); memento.paranoia = (env ? atoi(env) : 0); if (memento.paranoia == 0) @@ -1605,6 +1842,17 @@ static void Memento_init(void) env = getenv("MEMENTO_SQUEEZEAT"); memento.squeezeAt = (env ? atoi(env) : 0); + env = getenv("MEMENTO_SQUEEZES"); + if (env) { + int e; + fprintf(stderr, "Parsing squeeze ranges in MEMENTO_SQUEEZES=%s\n", env); + e = Memento_add_squeezes(env); + if (e) { + fprintf(stderr, "Failed to parse MEMENTO_SQUEEZES=%s\n", env); + exit(1); + } + } + env = getenv("MEMENTO_PATTERN"); memento.pattern = (env ? atoi(env) : 0); @@ -1744,6 +1992,11 @@ static int squeeze(void) } else memento.patternBit <<= 1; memento.squeezing = 1; + + /* This is necessary to allow Memento_failThisEventLocked() near the + end to do 'return squeeze();'. */ + memento.squeezes_num = 0; + return 1; } @@ -1815,6 +2068,7 @@ static void Memento_startFailing(void) { if (!memento.failing) { fprintf(stderr, "Starting to fail...\n"); + Memento_bt(); fflush(stderr); memento.failing = 1; memento.failAt = memento.sequence; @@ -1931,9 +2185,46 @@ static int Memento_failThisEventLocked(void) if (Memento_event()) Memento_breakpointLocked(); + if (!memento.squeezing && memento.squeezes_num) { + /* Move to next relevant squeeze region if appropriate. */ + for(;;) { + if (memento.squeezes_pos == memento.squeezes_num) { + break; + } + if (memento.sequence >= memento.squeezes[memento.squeezes_pos].end) { + memento.squeezes_pos += 1; + } + else { + break; + } + } + + /* See whether memento.sequence is within this squeeze region. */ + if (memento.squeezes_pos < memento.squeezes_num) { + int begin = memento.squeezes[memento.squeezes_pos].begin; + int end = memento.squeezes[memento.squeezes_pos].end; + if (memento.sequence >= begin && memento.sequence < end) { + if (1) { + fprintf(stderr, + "squeezes match memento.sequence=%i: memento.squeezes_pos=%i/%i %i..%i\n", + memento.sequence, + memento.squeezes_pos, + memento.squeezes_num, + memento.squeezes[memento.squeezes_pos].begin, + memento.squeezes[memento.squeezes_pos].end + ); + } + return squeeze(); + } + } + } + if ((memento.sequence >= memento.failAt) && (memento.failAt != 0)) Memento_startFailing(); - if ((memento.sequence >= memento.squeezeAt) && (memento.squeezeAt != 0)) { + if (memento.squeezes_num==0 + && (memento.sequence >= memento.squeezeAt) + && (memento.squeezeAt != 0) + ) { return squeeze(); } @@ -2054,112 +2345,112 @@ static void do_reference(Memento_BlkHeader *blk, int event) int Memento_checkPointerOrNull(void *blk) { - if (blk == NULL) - return 0; - if (blk == MEMENTO_PREFILL_PTR) - fprintf(stderr, "Prefill value found as pointer - buffer underrun?\n"); - else if (blk == MEMENTO_POSTFILL_PTR) - fprintf(stderr, "Postfill value found as pointer - buffer overrun?\n"); - else if (blk == MEMENTO_ALLOCFILL_PTR) - fprintf(stderr, "Allocfill value found as pointer - use of uninitialised value?\n"); - else if (blk == MEMENTO_FREEFILL_PTR) - fprintf(stderr, "Allocfill value found as pointer - use after free?\n"); - else - return 0; + if (blk == NULL) + return 0; + if (blk == MEMENTO_PREFILL_PTR) + fprintf(stderr, "Prefill value found as pointer - buffer underrun?\n"); + else if (blk == MEMENTO_POSTFILL_PTR) + fprintf(stderr, "Postfill value found as pointer - buffer overrun?\n"); + else if (blk == MEMENTO_ALLOCFILL_PTR) + fprintf(stderr, "Allocfill value found as pointer - use of uninitialised value?\n"); + else if (blk == MEMENTO_FREEFILL_PTR) + fprintf(stderr, "Allocfill value found as pointer - use after free?\n"); + else + return 0; #ifdef MEMENTO_DETAILS - fprintf(stderr, "Current backtrace:\n"); - Memento_bt(); - fprintf(stderr, "History:\n"); - Memento_info(blk); + fprintf(stderr, "Current backtrace:\n"); + Memento_bt(); + fprintf(stderr, "History:\n"); + Memento_info(blk); #endif - return 1; + return 1; } int Memento_checkBytePointerOrNull(void *blk) { - unsigned char i; - if (blk == NULL) - return 0; - Memento_checkPointerOrNull(blk); - - i = *(unsigned int *)blk; - - if (i == MEMENTO_PREFILL_UBYTE) - fprintf(stderr, "Prefill value found - buffer underrun?\n"); - else if (i == MEMENTO_POSTFILL_UBYTE) - fprintf(stderr, "Postfill value found - buffer overrun?\n"); - else if (i == MEMENTO_ALLOCFILL_UBYTE) - fprintf(stderr, "Allocfill value found - use of uninitialised value?\n"); - else if (i == MEMENTO_FREEFILL_UBYTE) - fprintf(stderr, "Allocfill value found - use after free?\n"); - else - return 0; + unsigned char i; + if (blk == NULL) + return 0; + Memento_checkPointerOrNull(blk); + + i = *(unsigned int *)blk; + + if (i == MEMENTO_PREFILL_UBYTE) + fprintf(stderr, "Prefill value found - buffer underrun?\n"); + else if (i == MEMENTO_POSTFILL_UBYTE) + fprintf(stderr, "Postfill value found - buffer overrun?\n"); + else if (i == MEMENTO_ALLOCFILL_UBYTE) + fprintf(stderr, "Allocfill value found - use of uninitialised value?\n"); + else if (i == MEMENTO_FREEFILL_UBYTE) + fprintf(stderr, "Allocfill value found - use after free?\n"); + else + return 0; #ifdef MEMENTO_DETAILS - fprintf(stderr, "Current backtrace:\n"); - Memento_bt(); - fprintf(stderr, "History:\n"); - Memento_info(blk); + fprintf(stderr, "Current backtrace:\n"); + Memento_bt(); + fprintf(stderr, "History:\n"); + Memento_info(blk); #endif - Memento_breakpoint(); - return 1; + Memento_breakpoint(); + return 1; } int Memento_checkShortPointerOrNull(void *blk) { - unsigned short i; - if (blk == NULL) - return 0; - Memento_checkPointerOrNull(blk); - - i = *(unsigned short *)blk; - - if (i == MEMENTO_PREFILL_USHORT) - fprintf(stderr, "Prefill value found - buffer underrun?\n"); - else if (i == MEMENTO_POSTFILL_USHORT) - fprintf(stderr, "Postfill value found - buffer overrun?\n"); - else if (i == MEMENTO_ALLOCFILL_USHORT) - fprintf(stderr, "Allocfill value found - use of uninitialised value?\n"); - else if (i == MEMENTO_FREEFILL_USHORT) - fprintf(stderr, "Allocfill value found - use after free?\n"); - else - return 0; + unsigned short i; + if (blk == NULL) + return 0; + Memento_checkPointerOrNull(blk); + + i = *(unsigned short *)blk; + + if (i == MEMENTO_PREFILL_USHORT) + fprintf(stderr, "Prefill value found - buffer underrun?\n"); + else if (i == MEMENTO_POSTFILL_USHORT) + fprintf(stderr, "Postfill value found - buffer overrun?\n"); + else if (i == MEMENTO_ALLOCFILL_USHORT) + fprintf(stderr, "Allocfill value found - use of uninitialised value?\n"); + else if (i == MEMENTO_FREEFILL_USHORT) + fprintf(stderr, "Allocfill value found - use after free?\n"); + else + return 0; #ifdef MEMENTO_DETAILS - fprintf(stderr, "Current backtrace:\n"); - Memento_bt(); - fprintf(stderr, "History:\n"); - Memento_info(blk); + fprintf(stderr, "Current backtrace:\n"); + Memento_bt(); + fprintf(stderr, "History:\n"); + Memento_info(blk); #endif - Memento_breakpoint(); - return 1; + Memento_breakpoint(); + return 1; } int Memento_checkIntPointerOrNull(void *blk) { - unsigned int i; - if (blk == NULL) - return 0; - Memento_checkPointerOrNull(blk); - - i = *(unsigned int *)blk; - - if (i == MEMENTO_PREFILL_UINT) - fprintf(stderr, "Prefill value found - buffer underrun?\n"); - else if (i == MEMENTO_POSTFILL_UINT) - fprintf(stderr, "Postfill value found - buffer overrun?\n"); - else if (i == MEMENTO_ALLOCFILL_UINT) - fprintf(stderr, "Allocfill value found - use of uninitialised value?\n"); - else if (i == MEMENTO_FREEFILL_UINT) - fprintf(stderr, "Allocfill value found - use after free?\n"); - else - return 0; + unsigned int i; + if (blk == NULL) + return 0; + Memento_checkPointerOrNull(blk); + + i = *(unsigned int *)blk; + + if (i == MEMENTO_PREFILL_UINT) + fprintf(stderr, "Prefill value found - buffer underrun?\n"); + else if (i == MEMENTO_POSTFILL_UINT) + fprintf(stderr, "Postfill value found - buffer overrun?\n"); + else if (i == MEMENTO_ALLOCFILL_UINT) + fprintf(stderr, "Allocfill value found - use of uninitialised value?\n"); + else if (i == MEMENTO_FREEFILL_UINT) + fprintf(stderr, "Allocfill value found - use after free?\n"); + else + return 0; #ifdef MEMENTO_DETAILS - fprintf(stderr, "Current backtrace:\n"); - Memento_bt(); - fprintf(stderr, "History:\n"); - Memento_info(blk); + fprintf(stderr, "Current backtrace:\n"); + Memento_bt(); + fprintf(stderr, "History:\n"); + Memento_info(blk); #endif - Memento_breakpoint(); - return 1; + Memento_breakpoint(); + return 1; } static void *do_takeRef(void *blk) @@ -2358,7 +2649,11 @@ static int checkBlockUser(Memento_BlkHeader *memblk, const char *action) } fprintf(stderr, "Block last checked OK at allocation %d. Now %d.\n", memblk->lastCheckedOK, memento.sequence); - Memento_breakpointLocked(); + if ((memblk->flags & Memento_Flag_Reported) == 0) + { + memblk->flags |= Memento_Flag_Reported; + Memento_breakpointLocked(); + } return 1; } #endif @@ -2405,7 +2700,11 @@ static int checkBlock(Memento_BlkHeader *memblk, const char *action) } fprintf(stderr, "Block last checked OK at allocation %d. Now %d.\n", memblk->lastCheckedOK, memento.sequence); - Memento_breakpointLocked(); + if ((memblk->flags & Memento_Flag_Reported) == 0) + { + memblk->flags |= Memento_Flag_Reported; + Memento_breakpointLocked(); + } return 1; } #endif @@ -2596,6 +2895,11 @@ static int Memento_Internal_checkAllAlloced(Memento_BlkHeader *memblk, void *arg data->preCorrupt = 0; data->postCorrupt = 0; data->freeCorrupt = 0; + if ((memblk->flags & Memento_Flag_Reported) == 0) + { + memblk->flags |= Memento_Flag_Reported; + Memento_breakpointLocked(); + } } else memblk->lastCheckedOK = memento.sequence; @@ -2615,7 +2919,7 @@ static int Memento_Internal_checkAllFreed(Memento_BlkHeader *memblk, void *arg) fprintf(stderr, " "); showBlock(memblk, ' '); if (data->freeCorrupt) { - fprintf(stderr, " index %d (address 0x%p) onwards", (int)data->index, + fprintf(stderr, " index %d (address "FMTP") onwards", (int)data->index, &((char *)MEMBLK_TOBLK(memblk))[data->index]); if (data->preCorrupt) { fprintf(stderr, "+ preguard"); @@ -2636,6 +2940,11 @@ static int Memento_Internal_checkAllFreed(Memento_BlkHeader *memblk, void *arg) fprintf(stderr, " corrupted.\n" " Block last checked OK at allocation %d. Now %d.\n", memblk->lastCheckedOK, memento.sequence); + if ((memblk->flags & Memento_Flag_Reported) == 0) + { + memblk->flags |= Memento_Flag_Reported; + Memento_breakpointLocked(); + } VALGRIND_MAKE_MEM_NOACCESS(memblk, sizeof(Memento_BlkHeader)); data->preCorrupt = 0; data->postCorrupt = 0; @@ -2723,7 +3032,7 @@ int Memento_find(void *a) data.flags = 0; Memento_appBlocks(&memento.used, Memento_containsAddr, &data); if (data.blk != NULL) { - fprintf(stderr, "Address 0x%p is in %sallocated block ", + fprintf(stderr, "Address "FMTP" is in %sallocated block ", data.addr, (data.flags == 1 ? "" : (data.flags == 2 ? "preguard of " : "postguard of "))); @@ -2736,7 +3045,7 @@ int Memento_find(void *a) data.flags = 0; Memento_appBlocks(&memento.free, Memento_containsAddr, &data); if (data.blk != NULL) { - fprintf(stderr, "Address 0x%p is in %sfreed block ", + fprintf(stderr, "Address "FMTP" is in %sfreed block ", data.addr, (data.flags == 1 ? "" : (data.flags == 2 ? "preguard of " : "postguard of "))); @@ -2759,7 +3068,7 @@ void Memento_breakOnFree(void *a) data.flags = 0; Memento_appBlocks(&memento.used, Memento_containsAddr, &data); if (data.blk != NULL) { - fprintf(stderr, "Will stop when address 0x%p (in %sallocated block ", + fprintf(stderr, "Will stop when address "FMTP" (in %sallocated block ", data.addr, (data.flags == 1 ? "" : (data.flags == 2 ? "preguard of " : "postguard of "))); @@ -2775,7 +3084,7 @@ void Memento_breakOnFree(void *a) data.flags = 0; Memento_appBlocks(&memento.free, Memento_containsAddr, &data); if (data.blk != NULL) { - fprintf(stderr, "Can't stop on free; address 0x%p is in %sfreed block ", + fprintf(stderr, "Can't stop on free; address "FMTP" is in %sfreed block ", data.addr, (data.flags == 1 ? "" : (data.flags == 2 ? "preguard of " : "postguard of "))); @@ -2784,7 +3093,7 @@ void Memento_breakOnFree(void *a) MEMENTO_UNLOCK(); return; } - fprintf(stderr, "Can't stop on free; address 0x%p is not in a known block.\n", a); + fprintf(stderr, "Can't stop on free; address "FMTP" is not in a known block.\n", a); MEMENTO_UNLOCK(); } @@ -2798,7 +3107,7 @@ void Memento_breakOnRealloc(void *a) data.flags = 0; Memento_appBlocks(&memento.used, Memento_containsAddr, &data); if (data.blk != NULL) { - fprintf(stderr, "Will stop when address 0x%p (in %sallocated block ", + fprintf(stderr, "Will stop when address "FMTP" (in %sallocated block ", data.addr, (data.flags == 1 ? "" : (data.flags == 2 ? "preguard of " : "postguard of "))); @@ -2814,7 +3123,7 @@ void Memento_breakOnRealloc(void *a) data.flags = 0; Memento_appBlocks(&memento.free, Memento_containsAddr, &data); if (data.blk != NULL) { - fprintf(stderr, "Can't stop on free/realloc; address 0x%p is in %sfreed block ", + fprintf(stderr, "Can't stop on free/realloc; address "FMTP" is in %sfreed block ", data.addr, (data.flags == 1 ? "" : (data.flags == 2 ? "preguard of " : "postguard of "))); @@ -2823,7 +3132,7 @@ void Memento_breakOnRealloc(void *a) MEMENTO_UNLOCK(); return; } - fprintf(stderr, "Can't stop on free/realloc; address 0x%p is not in a known block.\n", a); + fprintf(stderr, "Can't stop on free/realloc; address "FMTP" is not in a known block.\n", a); MEMENTO_UNLOCK(); } @@ -2852,6 +3161,11 @@ void Memento_stopLeaking(void) memento.leaking--; } +int Memento_squeezing(void) +{ + return memento.squeezing; +} + #endif /* MEMENTO_CPP_EXTRAS_ONLY */ #ifdef __cplusplus @@ -3051,4 +3365,9 @@ void (Memento_stopLeaking)(void) { } +int (Memento_squeezing)(void) +{ + return 0; +} + #endif diff --git a/base/memento.h b/base/memento.h index d8cf5b34..b822479f 100644 --- a/base/memento.h +++ b/base/memento.h @@ -75,8 +75,7 @@ * An example: * Suppose we have a gs invocation that crashes with memory corruption. * * Build with -DMEMENTO. - * * In your debugger put breakpoints on Memento_inited and - * Memento_Breakpoint. + * * In your debugger put a breakpoint on Memento_breakpoint. * * Run the program. It will stop in Memento_inited. * * Execute Memento_setParanoia(1); (In VS use Ctrl-Alt-Q). (Note #1) * * Continue execution. @@ -92,9 +91,9 @@ * and 1458 - so if we rerun and stop the program at 1457, we can then * step through, possibly with a data breakpoint at 0x172e710 and see * when it occurs. - * * So restart the program from the beginning. When we hit Memento_inited - * execute Memento_breakAt(1457); (and maybe Memento_setParanoia(1), or - * Memento_setParanoidAt(1457)) + * * So restart the program from the beginning. When we stop after + * initialisation execute Memento_breakAt(1457); (and maybe + * Memento_setParanoia(1), or Memento_setParanoidAt(1457)) * * Continue execution until we hit Memento_breakpoint. * * Now you can step through and watch the memory corruption happen. * @@ -157,6 +156,30 @@ * Both Windows and GCC provide separate new[] and delete[] operators * for arrays. Apparently some systems do not. If this is the case for * your system, define MEMENTO_CPP_NO_ARRAY_CONSTRUCTORS. + * + * "libbacktrace.so failed to load" + * + * In order to give nice backtraces on unix, Memento will try to use + * a libbacktrace dynamic library. If it can't find it, you'll see + * that warning, and your backtraces won't include file/line information. + * + * To fix this you'll need to build your own libbacktrace. Don't worry + * it's really easy: + * git clone git://github.com/ianlancetaylor/libbacktrace + * cd libbacktrace + * ./configure + * make + * + * This leaves the build .so as .libs/libbacktrace.so + * + * Memento will look for this on LD_LIBRARY_PATH, or in /opt/lib/, + * or in /lib/, or in /usr/lib/, or in /usr/local/lib/. I recommend + * using /opt/lib/ as this won't conflict with anything that you + * get via a package manager like apt. + * + * sudo mkdir /opt + * sudo mkdir /opt/lib + * sudo cp .libs/libbacktrace.so /opt/lib/ */ #ifndef MEMENTO_H @@ -238,6 +261,8 @@ void Memento_stopLeaking(void); int Memento_sequence(void); +int Memento_squeezing(void); + void Memento_fin(void); void Memento_bt(void); @@ -299,6 +324,7 @@ void Memento_bt(void); #define Memento_fin() do {} while (0) #define Memento_bt() do {} while (0) #define Memento_sequence() (0) +#define Memento_squeezing() (0) #endif /* MEMENTO */ diff --git a/base/mkromfs.c b/base/mkromfs.c index f6e4d6f9..54e33f28 100644 --- a/base/mkromfs.c +++ b/base/mkromfs.c @@ -383,12 +383,12 @@ int cmpstringp(const void *p1, const void *p2); void put_uint32(FILE *out, const unsigned int q); void put_bytes_padded(FILE *out, unsigned char *p, unsigned int len); void inode_clear(romfs_inode* node); -void inode_write(FILE *out, romfs_inode *node, int compression, int inode_count, int*totlen, split_data *splits); +void inode_write(FILE *out, romfs_inode *node, int compression, int inode_count, int*totlen, split_data *splits, int verbose); void process_path(char *path, const char *os_prefix, const char *rom_prefix, Xlist_element *Xlist_head, int compression, int compaction, int *inode_count, int *totlen, FILE *out, - split_data *splits); -FILE *prefix_open(const char *os_prefix, const char *inname); + split_data *splits, int verbose); +FILE *prefix_open(const char *os_prefix, const char *inname, int verbose); void prefix_add(const char *prefix, const char *filename, char *prefixed_path); /* put 4 byte integer, big endian */ @@ -467,7 +467,7 @@ void inode_clear(romfs_inode* node) } static unsigned long -do_inode_write(FILE *out, romfs_inode *node, int compression, int inode_count, int *totlen, int split) +do_inode_write(FILE *out, romfs_inode *node, int compression, int inode_count, int *totlen, int split, int verbose) { int i, offset; int blocks = (node->length+ROMFS_BLOCKSIZE-1)/ROMFS_BLOCKSIZE; @@ -504,12 +504,14 @@ do_inode_write(FILE *out, romfs_inode *node, int compression, int inode_count, i } fprintf(out, "\t0 };\t/* end-of-node */\n"); - printf("node '%s' len=%ld", node->name, node->length); - printf(" %d blocks", blocks); - if (compression) { - printf(", compressed size=%d", clen); + if (verbose) { + printf("node '%s' len=%ld", node->name, node->length); + printf(" %d blocks", blocks); + if (compression) { + printf(", compressed size=%d", clen); + } + printf("\n"); } - printf("\n"); if (compression) return clen; return node->length; @@ -548,7 +550,7 @@ start_file(FILE *out) /* write out an inode and its file data */ void -inode_write(FILE *out, romfs_inode *node, int compression, int inode_count, int *totlen, split_data *splits) +inode_write(FILE *out, romfs_inode *node, int compression, int inode_count, int *totlen, split_data *splits, int verbose) { prepare_splits(splits); if (splits->max_splits) { @@ -568,10 +570,10 @@ inode_write(FILE *out, romfs_inode *node, int compression, int inode_count, int } else { out2 = fopen(splits->outname_formatted, "a"); } - splits->sizes[which] += do_inode_write(out2, node, compression, inode_count, totlen, 1); + splits->sizes[which] += do_inode_write(out2, node, compression, inode_count, totlen, 1, verbose); fclose(out2); } else - (void)do_inode_write(out, node, compression, inode_count, totlen, 0); + (void)do_inode_write(out, node, compression, inode_count, totlen, 0, verbose); } void @@ -1666,7 +1668,7 @@ int cmpstringp(const void *p1, const void *p2) void process_path(char *path, const char *os_prefix, const char *rom_prefix, Xlist_element *Xlist_head, int compression, int compaction, int *inode_count, int *totlen, FILE *out, - split_data *splits) + split_data *splits, int verbose) { int i, namelen, excluded, save_count=*inode_count; Xlist_element *Xlist_scan; @@ -1799,7 +1801,7 @@ void process_path(char *path, const char *os_prefix, const char *rom_prefix, } /* write out data for this file */ - inode_write(out, node, compression, *inode_count, totlen, splits); + inode_write(out, node, compression, *inode_count, totlen, splits, verbose); /* clean up */ inode_clear(node); free(node); @@ -1835,7 +1837,7 @@ void process_path(char *path, const char *os_prefix, const char *rom_prefix, * will be converted to a binary token. */ /* Forward references */ -void merge_to_ps(const char *os_prefix, const char *inname, FILE * in, FILE * config); +void merge_to_ps(const char *os_prefix, const char *inname, FILE * in, FILE * config, int verbose); int write_init(char *); bool rl(FILE * in, char *str, int len); void wsc(const byte *str, int len); @@ -1845,7 +1847,7 @@ char *doit(char *line, bool intact); void hex_string_to_binary(FILE *in); void flush_buf(char *buf); void mergefile(const char *os_prefix, const char *inname, FILE * in, FILE * config, - bool intact); + bool intact, int verbose); void flush_line_buf(int len); typedef struct in_block_s in_block_t; @@ -1894,7 +1896,7 @@ static int ib_feof(in_block_file *ibf) static int process_initfile(char *initfile, char *gconfig_h, const char *os_prefix, const char *rom_prefix, int compression, int *inode_count, - int *totlen, FILE *out, split_data *splits) + int *totlen, FILE *out, split_data *splits, int verbose) { int ret, block, blocks; romfs_inode *node = NULL; @@ -1939,7 +1941,7 @@ process_initfile(char *initfile, char *gconfig_h, const char *os_prefix, node = calloc(1, sizeof(romfs_inode)); node->name = rom_filename; /* without -P prefix, with -d rom_prefix */ - merge_to_ps(os_prefix, initfile, in, config); + merge_to_ps(os_prefix, initfile, in, config, verbose); fclose(in); fclose(config); @@ -2018,7 +2020,7 @@ process_initfile(char *initfile, char *gconfig_h, const char *os_prefix, } /* write data for this file */ - inode_write(out, node, compression, *inode_count, totlen, splits); + inode_write(out, node, compression, *inode_count, totlen, splits, verbose); /* clean up */ inode_clear(node); (*inode_count)++; @@ -2280,7 +2282,7 @@ flush_buf(char *buf) } FILE * -prefix_open(const char *os_prefix, const char *filename) +prefix_open(const char *os_prefix, const char *filename, int verbose) { char *prefixed_path; FILE *filep; @@ -2291,7 +2293,9 @@ prefix_open(const char *os_prefix, const char *filename) return NULL; } prefix_add(os_prefix, filename, prefixed_path); - printf("including: '%s'\n", prefixed_path); + if (verbose) { + printf("including: '%s'\n", prefixed_path); + } filep = fopen(prefixed_path, "rb"); free(prefixed_path); return filep; @@ -2299,7 +2303,7 @@ prefix_open(const char *os_prefix, const char *filename) void mergefile(const char *os_prefix, const char *inname, FILE * in, FILE * config, - bool intact) + bool intact, int verbose) { char line[LINE_SIZE + 1]; char buf[LINE_SIZE + 1]; @@ -2324,12 +2328,12 @@ mergefile(const char *os_prefix, const char *inname, FILE * in, FILE * config, FILE *ps; psname[strlen(psname) - 1] = 0; - ps = prefix_open(os_prefix, psname + 1); + ps = prefix_open(os_prefix, psname + 1, verbose); if (ps == 0) { fprintf(stderr, "Failed to open '%s' - aborting\n", psname+1); exit(1); } - mergefile(os_prefix, psname + 1, ps, config, intact || do_intact); + mergefile(os_prefix, psname + 1, ps, config, intact || do_intact, verbose); } else if (!strcmp(psname, "INITFILES")) { /* * We don't want to bind config.h into geninit, so @@ -2344,10 +2348,10 @@ mergefile(const char *os_prefix, const char *inname, FILE * in, FILE * config, exit(1); *quote = 0; - ps = prefix_open(os_prefix, psname + 9); + ps = prefix_open(os_prefix, psname + 9, verbose); if (ps == 0) exit(1); - mergefile(os_prefix, psname + 9, ps, config, false); + mergefile(os_prefix, psname + 9, ps, config, false, verbose); } } else { printf("Unknown %%%% Replace %d %s\n", @@ -2400,7 +2404,7 @@ mergefile(const char *os_prefix, const char *inname, FILE * in, FILE * config, /* Merge and produce a PostScript file. */ void -merge_to_ps(const char *os_prefix, const char *inname, FILE * in, FILE * config) +merge_to_ps(const char *os_prefix, const char *inname, FILE * in, FILE * config, int verbose) { char line[LINE_SIZE + 1]; @@ -2408,7 +2412,7 @@ merge_to_ps(const char *os_prefix, const char *inname, FILE * in, FILE * config) sprintf(linebuf, "%s", line ); wl(linebuf); } - mergefile(os_prefix, inname, in, config, false); + mergefile(os_prefix, inname, in, config, false, verbose); } static void @@ -2460,6 +2464,7 @@ main(int argc, char *argv[]) int atarg = 1; int compression = 1; /* default to doing compression */ int compaction = 0; + int verbose = 1; Xlist_element *Xlist_scan = NULL, *Xlist_head = NULL; char pa[PATH_STR_LEN]; time_t buildtime = 0; @@ -2475,6 +2480,7 @@ main(int argc, char *argv[]) " options:\n" " -o outputfile default: obj/gsromfs.c if this option present, must be first.\n" " -P prefix use prefix to find path. prefix not included in %%rom%%\n" + " -q reduce diagnostics\n" " -X path exclude the path from further processing.\n" " Note: The tail of any path encountered will be tested so .svn on the -X\n" " list will exclude that path in all subsequent paths enumerated.\n" @@ -2520,7 +2526,7 @@ main(int argc, char *argv[]) } if (!buildtime) buildtime = time(NULL); - fprintf(out," time_t gs_romfs_buildtime = %ld;\n\n", buildtime); + fprintf(out," time_t gs_romfs_buildtime = %ld;\n\n", (long)buildtime); /* process the remaining arguments (options interspersed with paths) */ for (; atarg < argc; atarg++) { @@ -2539,6 +2545,9 @@ main(int argc, char *argv[]) case 'C': compaction = 1; break; + case 'q': + verbose = 0; + break; case 'd': if (++atarg == argc) { printf(" option %s missing required argument\n", argv[atarg-1]); @@ -2570,7 +2579,7 @@ main(int argc, char *argv[]) atarg++; strncpy(gconfig_h, argv[atarg], PATH_STR_LEN - 1); process_initfile(initfile, gconfig_h, os_prefix, rom_prefix, compression, - &inode_count, &totlen, out, &splits); + &inode_count, &totlen, out, &splits, verbose); } break; case 'P': @@ -2601,7 +2610,7 @@ main(int argc, char *argv[]) /* process a path or file */ strncpy(pa, argv[atarg], PATH_STR_LEN - (strlen(os_prefix) < strlen(rom_prefix) ? strlen(rom_prefix) : strlen(os_prefix))); process_path(pa, os_prefix, rom_prefix, Xlist_head, - compression, compaction, &inode_count, &totlen, out, &splits); + compression, compaction, &inode_count, &totlen, out, &splits, verbose); } /* Now allow for the (probably never happening) case where we are splitting, but haven't written anything to one of the files */ diff --git a/base/msvccmd.mak b/base/msvccmd.mak index 21299523..da0d8c2c 100644 --- a/base/msvccmd.mak +++ b/base/msvccmd.mak @@ -99,6 +99,8 @@ CDCC=/Zi !if "$(CPU_FAMILY)"=="i386" +!if ($(MSVC_VERSION) <= 12) +# GB and QI0f were removed at (or before) VS2015 !if ($(MSVC_VERSION) >= 8) || defined(WIN64) # MSVC 8 (2005) attempts to produce code good for all processors. # and doesn't used /G5 or /GB. @@ -113,6 +115,7 @@ CPFLAGS=/GB $(QI0f) CPFLAGS=/GB $(QI0f) !endif !endif +!endif !if $(MSVC_VERSION)<5 FPFLAGS=/FPi87 @@ -200,7 +203,11 @@ COMPILE_WITH_FRAMES=/Oy- CS= !else !if $(DEBUG)!=0 || $(TDEBUG)!=0 +!if $(MSVC_VERSION) < 14 +# This flag (Enable stack checks for all functions) has gone in +# VS2015. CS=/Ge +!endif !else CS=/Gs !endif diff --git a/base/msvclib.mak b/base/msvclib.mak index 48243216..5b1894b2 100644 --- a/base/msvclib.mak +++ b/base/msvclib.mak @@ -384,7 +384,7 @@ TIFFSRCDIR=tiff$(D) TIFFCONFDIR=$(TIFFSRCDIR) TIFFCONFIG_SUFFIX=.vc TIFFPLATFORM=win32 -TIFFCFLAGS="-DJPEG_LIB_MK1_OR_12BIT=0" +TIFF_CFLAGS=-DJPEG_SUPPORT -DOJPEG_SUPPORT -DJPEG_LIB_MK1_OR_12BIT=0 !endif # Define which jbig2 library to use @@ -511,6 +511,7 @@ CFLAGS=$(CFLAGS) $(XCFLAGS) MSVC_VERSION=5 !endif !if "$(_NMAKE_VER)" == "6.00.8168.0" +# VC 6 MSVC_VERSION=6 !endif !if "$(_NMAKE_VER)" == "7.00.9466" @@ -524,44 +525,69 @@ MSVC_VERSION=7 MSVC_MINOR_VERSION=1 !endif !if "$(_NMAKE_VER)" == "8.00.40607.16" +# VS2005 MSVC_VERSION=8 !endif !if "$(_NMAKE_VER)" == "8.00.50727.42" +# VS2005 MSVC_VERSION=8 !endif !if "$(_NMAKE_VER)" == "8.00.50727.762" +# VS2005 MSVC_VERSION=8 !endif !if "$(_NMAKE_VER)" == "9.00.21022.08" +# VS2008 MSVC_VERSION=9 !endif !if "$(_NMAKE_VER)" == "9.00.30729.01" +# VS2008 MSVC_VERSION=9 !endif !if "$(_NMAKE_VER)" == "10.00.30319.01" +# VS2010 MSVC_VERSION=10 !endif !if "$(_NMAKE_VER)" == "11.00.50522.1" +# VS2012 MSVC_VERSION=11 !endif !if "$(_NMAKE_VER)" == "11.00.50727.1" +# VS2012 MSVC_VERSION=11 !endif !if "$(_NMAKE_VER)" == "11.00.60315.1" +# VS2012 MSVC_VERSION=11 !endif !if "$(_NMAKE_VER)" == "11.00.60610.1" +# VS2012 MSVC_VERSION=11 !endif !if "$(_NMAKE_VER)" == "12.00.21005.1" +# VS 2013 MSVC_VERSION=12 !endif !if "$(_NMAKE_VER)" == "14.00.23506.0" +# VS2015 MSVC_VERSION=14 !endif +!if "$(_NMAKE_VER)" == "14.00.24210.0" +# VS2015 +MSVC_VERSION=14 +!endif +!if "$(_NMAKE_VER)" == "14.16.27034.0" +# VS2017 or VS2019 (Toolset v141) +MSVC_VERSION=15 +!endif +!if "$(_NMAKE_VER)" == "14.24.28314.0" +# VS2019 (Toolset v142) +MSVC_VERSION=16 +!endif !endif !ifndef MSVC_VERSION +!MESSAGE Could not determine MSVC_VERSION! Guessing at an ancient one. MSVC_VERSION=6 !endif !ifndef MSVC_MINOR_VERSION @@ -849,6 +875,24 @@ LINKLIBPATH=/LIBPATH:"$(COMPBASE)\lib\amd64" /LIBPATH:"$(COMPBASE)\PlatformSDK\L ! endif !endif +!if $(MSVC_VERSION) == 15 +! if "$(DEVSTUDIO)"=="" +COMPBASE= +SHAREDBASE= +! else +!MESSAGE Compilation is unlikely to work like this. Build from VS solution for now. +! endif +!endif + +!if $(MSVC_VERSION) == 16 +! if "$(DEVSTUDIO)"=="" +COMPBASE= +SHAREDBASE= +! else +!MESSAGE Compilation is unlikely to work like this. Build from VS solution for now. +! endif +!endif + !if "$(ARM)"=="1" VCINSTDIR=$(VS110COMNTOOLS)..\..\VC\ diff --git a/base/openjpeg.mak b/base/openjpeg.mak index 9bbd5b0b..f02bd3fb 100644 --- a/base/openjpeg.mak +++ b/base/openjpeg.mak @@ -115,7 +115,7 @@ $(OPEN_JPEG_GEN)openjpeg_0.dev : $(ECHOGS_XE) $(open_jpeg_OBJS) \ $(SETMOD) $(OPEN_JPEG_GEN)openjpeg_0 $(open_jpeg_OBJS) # define our specific compiler -OPEN_JPEG_CC=$(CC) $(CFLAGS) $(D_)OPJ_STATIC$(_D) $(D_)STANDARD_SLOW_VERSION$(_D) $(I_)$(OPEN_JPEG_GEN)$(_I) $(I_)$(JPX_OPENJPEG_I_)$(_I) $(I_)$(JPX_OPENJPEG_I_)$(D)..$(_I) $(JPXCF_) +OPEN_JPEG_CC=$(CC) $(CFLAGS) $(D_)OPJ_STATIC$(_D) $(I_)$(OPEN_JPEG_GEN)$(_I) $(I_)$(JPX_OPENJPEG_I_)$(_I) $(I_)$(JPX_OPENJPEG_I_)$(D)..$(_I) $(JPXCF_) OPEN_JPEG_O=$(O_)$(OPEN_JPEG_OBJ)$(OPEN_JPEG_PREFIX) OPEN_JPEG_DEP=$(AK) $(OPEN_JPEG_MAK) $(MAKEDIRS) diff --git a/base/pack_ps.c b/base/pack_ps.c index 1bd8edc1..764ae3b3 100644 --- a/base/pack_ps.c +++ b/base/pack_ps.c @@ -344,7 +344,7 @@ main(int argc, char *argv[]) if (!buildtime) { buildtime = time(NULL); } - fprintf(outfile,"/* Auto-generated from PostScript file \"%s\" at time %ld */\n", infilename, buildtime); + fprintf(outfile,"/* Auto-generated from PostScript file \"%s\" at time %ld */\n", infilename, (long)buildtime); while (readline(infile, inputline, INPUT_LINE_LENGTH_MAX)) { diff --git a/base/png.mak b/base/png.mak index 7c617f86..899e1785 100644 --- a/base/png.mak +++ b/base/png.mak @@ -62,7 +62,7 @@ PZGEN=$(ZGENDIR)$(D) # adds /Za which conflicts with the libpng 1.5.x source. PNGCC=$(CC) $(CFLAGS) $(PNG_CFLAGS) $(I_)$(PI_)$(_I) $(I_)$(PNGGENDIR)$(_I) $(PF_) \ $(D_)PNG_NO_ASSEMBLER_CODE$(_D) $(D_)PNG_INTEL_SSE_OPT=0$(_D) \ -$(D_)PNG_INTEL_SSE_IMPLEMENTATION=0$(_D) +$(D_)PNG_INTEL_SSE_IMPLEMENTATION=0$(_D) $(D_)PNG_ARM_NEON_IMPLEMENTATION=0$(_D) # Define the name of this makefile. LIBPNG_MAK=$(GLSRC)png.mak $(TOP_MAKEFILES) diff --git a/base/scfe.c b/base/scfe.c index 3bdd4f62..fbb3bde6 100644 --- a/base/scfe.c +++ b/base/scfe.c @@ -380,6 +380,8 @@ s_CFE_process(stream_state * st, stream_cursor_read * pr, } /* Encode a 1-D scan line. */ +/* Attempt to stop coverity thinking skip_white_pixels() taints lbuf:*/ +/* coverity[ -tainted_data_argument : arg-1 ] */ static void cf_encode_1d(stream_CFE_state * ss, const byte * lbuf, stream_cursor_write * pw) { @@ -411,6 +413,7 @@ cf_encode_1d(stream_CFE_state * ss, const byte * lbuf, stream_cursor_write * pw) } /* Encode a 2-D scan line. */ +/* coverity[ -tainted_data_argument : arg-1 ] */ static void cf_encode_2d(stream_CFE_state * ss, const byte * lbuf, stream_cursor_write * pw, const byte * lprev) diff --git a/base/simscale.c b/base/simscale.c index ad628fff..76bb3969 100644 --- a/base/simscale.c +++ b/base/simscale.c @@ -8363,7 +8363,7 @@ s_imscale_process(stream_state *st, stream_cursor_read *pr, pr->ptr += ncopy; } else { memset(ss->window + 3 * w, 0xff, w); - ss->src_offset += ss->src_size; + ss->src_offset = ss->src_size; } if (ss->src_offset == ss->src_size) { ss->src_offset = 0; diff --git a/base/sjpegc.c b/base/sjpegc.c index 1810dcda..a54cc933 100644 --- a/base/sjpegc.c +++ b/base/sjpegc.c @@ -182,10 +182,11 @@ static long gs_j_mem_init (j_common_ptr cinfo) static void gs_j_mem_term (j_common_ptr cinfo) { gs_memory_t *cmem = (gs_memory_t *)(GET_CUST_MEM_DATA(cinfo)->priv); - gs_memory_t *mem = gs_memory_chunk_target(cmem); + gs_memory_t *mem = gs_memory_chunk_unwrap(cmem); + + if (mem == cmem) + return; - gs_memory_chunk_release(cmem); - (void)jpeg_cust_mem_set_private(GET_CUST_MEM_DATA(cinfo), mem); } #endif /* SHAREJPEG == 0 */ @@ -199,13 +200,16 @@ int gs_jpeg_mem_init (gs_memory_t *mem, j_common_ptr cinfo) memset(&custm, 0x00, sizeof(custm)); + /* JPEG allocated chunks don't need to be subject to gc. */ + mem = mem->non_gc_memory; + if (!jpeg_cust_mem_init(&custm, (void *) mem, gs_j_mem_init, gs_j_mem_term, NULL, gs_j_mem_alloc, gs_j_mem_free, gs_j_mem_alloc, gs_j_mem_free, NULL)) { code = gs_note_error(gs_error_VMerror); } if (code == 0) { - custmptr = (jpeg_cust_mem_data *)gs_alloc_bytes(mem->non_gc_memory, sizeof(custm) + sizeof(void *), "JPEG custom memory descriptor"); + custmptr = (jpeg_cust_mem_data *)gs_alloc_bytes(mem, sizeof(custm) + sizeof(void *), "JPEG custom memory descriptor"); if (!custmptr) { code = gs_note_error(gs_error_VMerror); } diff --git a/base/sjpx_openjpeg.c b/base/sjpx_openjpeg.c index b2769550..a4d7884e 100644 --- a/base/sjpx_openjpeg.c +++ b/base/sjpx_openjpeg.c @@ -38,20 +38,16 @@ int sjpxd_create(gs_memory_t *mem) #if !defined(SHARE_JPX) || (SHARE_JPX == 0) gs_lib_ctx_t *ctx = mem->gs_lib_ctx; -#ifdef MEMENTO_SQUEEZE_BUILD - ctx->sjpxd_private = NULL; -#else ctx->sjpxd_private = gx_monitor_label(gx_monitor_alloc(mem), "sjpxd_monitor"); if (ctx->sjpxd_private == NULL) return gs_error_VMerror; #endif -#endif return 0; } void sjpxd_destroy(gs_memory_t *mem) { -#if (!defined(SHARE_JPX) || (SHARE_JPX == 0)) && !defined(MEMENTO_SQUEEZE_BUILD) +#if !defined(SHARE_JPX) || (SHARE_JPX == 0) gs_lib_ctx_t *ctx = mem->gs_lib_ctx; gx_monitor_free((gx_monitor_t *)ctx->sjpxd_private); @@ -64,13 +60,9 @@ static int opj_lock(gs_memory_t *mem) #if !defined(SHARE_JPX) || (SHARE_JPX == 0) int ret; -#ifdef MEMENTO_SQUEEZE_BUILD - ret = 0; -#else gs_lib_ctx_t *ctx = mem->gs_lib_ctx; ret = gx_monitor_enter((gx_monitor_t *)ctx->sjpxd_private); -#endif assert(opj_memory == NULL); opj_memory = mem->non_gc_memory; return ret; @@ -86,12 +78,7 @@ static int opj_unlock(gs_memory_t *mem) assert(opj_memory != NULL); opj_memory = NULL; -#ifdef MEMENTO_SQUEEZE_BUILD - (void)ctx; - return 0; -#else return gx_monitor_leave((gx_monitor_t *)ctx->sjpxd_private); -#endif #else return 0; #endif @@ -439,7 +426,7 @@ static int decode_image(stream_jpxd_state * const state) { if (state->image->comps[compno].alpha == 0x00) numprimcomp++; - else if (state->image->comps[compno].alpha == 0x01) + else if (state->image->comps[compno].alpha == 0x01 || state->image->comps[compno].alpha == 0x02) alpha_comp = compno; } diff --git a/base/spwgd.c b/base/spwgd.c index 19ec7643..cb04cb72 100644 --- a/base/spwgd.c +++ b/base/spwgd.c @@ -171,8 +171,17 @@ data_produced: } } +static void +s_PWGD_release(stream_state * st) +{ + stream_PWGD_state *const ss = (stream_PWGD_state *) st; + + gs_free_object(st->memory, ss->line_buffer, "PWGD(close)"); + ss->line_buffer = NULL; +} + /* Stream template */ const stream_template s_PWGD_template = { - &st_PWGD_state, s_PWGD_init, s_PWGD_process, 1, 1, NULL, + &st_PWGD_state, s_PWGD_init, s_PWGD_process, 1, 1, s_PWGD_release, s_PWGD_set_defaults }; diff --git a/base/srle.c b/base/srle.c index 0c0186e0..21b729f3 100644 --- a/base/srle.c +++ b/base/srle.c @@ -329,11 +329,13 @@ run_len_0_n0_read: *++q = n0; } case state_eod_unmarked: - if (wlimit - q < 1) { - ss->state = state_eod_unmarked; - goto no_output_room; + if (!ss->omitEOD) { + if (wlimit - q < 1) { + ss->state = state_eod_unmarked; + goto no_output_room; + } + *++q = 128; /* EOD */ } - *++q = 128; /* EOD */ case state_eod: ss->run_len = 0; ss->state = state_0; diff --git a/base/srlx.h b/base/srlx.h index ebf17206..98309dbd 100644 --- a/base/srlx.h +++ b/base/srlx.h @@ -32,6 +32,7 @@ typedef struct stream_RLE_state_s { stream_RL_state_common; /* The following parameters are set by the client. */ ulong record_size; + bool omitEOD; /* The following change dynamically. */ ulong record_left; /* bytes left in current record */ byte n0; @@ -47,7 +48,7 @@ typedef struct stream_RLE_state_s { /* We define the initialization procedure here, so that clients */ /* can avoid a procedure call. */ #define s_RLE_set_defaults_inline(ss)\ - ((ss)->EndOfData = true, (ss)->record_size = 0) + ((ss)->EndOfData = true, (ss)->omitEOD = false, (ss)->record_size = 0) #define s_RLE_init_inline(ss)\ ((ss)->record_left =\ ((ss)->record_size == 0 ? ((ss)->record_size = max_uint) :\ @@ -85,6 +85,7 @@ typedef ulong bits32; #define max_ushort ARCH_MAX_USHORT #define max_uint ARCH_MAX_UINT #define max_ulong ARCH_MAX_ULONG +#define max_size_t ARCH_MAX_SIZE_T /* Minimum and maximum values for pointers. */ #if ARCH_PTRS_ARE_SIGNED diff --git a/base/stdint_.h b/base/stdint_.h index 7da1457f..39ab5ac4 100644 --- a/base/stdint_.h +++ b/base/stdint_.h @@ -227,6 +227,9 @@ typedef unsigned long long uint64_t; # define PRIiSIZE "lli" # endif # endif +# ifndef PRIx64 +# define PRIx64 PRIxSIZE +# endif # endif #endif /* stdint__INCLUDED */ diff --git a/base/stdpre.h b/base/stdpre.h index d638d362..5dd068d9 100644 --- a/base/stdpre.h +++ b/base/stdpre.h @@ -123,20 +123,24 @@ typedef struct gp_file_s gp_file; -/* Disable 'inline' if the compiler can't handle it. */ -#ifdef __DECC -# undef inline -# define inline __inline -#else -# ifdef __GNUC__ -/* Define inline as __inline__ so -pedantic won't produce a warning. */ -# undef inline -# define inline __inline__ -# else -# if !(defined(__MWERKS__) || defined(inline)) -# define inline /* */ -# endif -# endif +/* Ensure we have a definition of 'inline', even if that means + * disabling it if the compiler can't handle it. */ +#ifdef __cplusplus + /* inline will already be defined within C++ */ +#elif defined (__STDC_VERSION_) && (__STDC_VERSION__ >= 199901L) + /* inline will already be defined within C99 */ +#elif defined(_MSC_VER) && (_MSC_VER >= 1500) /* MSVC 9 or newer */ + #define inline __inline +#elif defined(__GNUC__) && (__GNUC__ >= 3) /* GCC 3 or newer */ + /* Define inline as __inline__ so -pedantic won't produce a warning. */ + #undef inline + #define inline __inline__ +#elif defined(__DECC) + #undef inline + #define inline __inline +#elif !(defined(__MWERKS__) || defined(inline)) + /* Unknown or ancient - disable it */ + #define inline #endif /* Define ourselves a 'forceinline' we can use to more forcefully diff --git a/base/tiff.mak b/base/tiff.mak index 24b7543d..dec0e65e 100644 --- a/base/tiff.mak +++ b/base/tiff.mak @@ -42,7 +42,7 @@ tiff_1=$(TIFFOBJ)tif_aux.$(OBJ) $(TIFFOBJ)tif_close.$(OBJ) $(TIFFOBJ)tif_codec.$ tiff_2=$(TIFFOBJ)tif_compress.$(OBJ) $(TIFFOBJ)tif_dir.$(OBJ) $(TIFFOBJ)tif_dirinfo.$(OBJ) $(TIFFOBJ)tif_dirread.$(OBJ) tiff_3=$(TIFFOBJ)tif_dirwrite.$(OBJ) $(TIFFOBJ)tif_dumpmode.$(OBJ) $(TIFFOBJ)tif_error.$(OBJ) $(TIFFOBJ)tif_extension.$(OBJ) tiff_4=$(TIFFOBJ)tif_fax3.$(OBJ) $(TIFFOBJ)tif_fax3sm.$(OBJ) $(TIFFOBJ)tif_flush.$(OBJ) $(TIFFOBJ)tif_getimage.$(OBJ) -tiff_5=$(TIFFOBJ)tif_jbig.$(OBJ) $(TIFFOBJ)tif_jpeg.$(OBJ) $(TIFFOBJ)tif_luv.$(OBJ) $(TIFFOBJ)tif_lzw.$(OBJ) +tiff_5=$(TIFFOBJ)tif_jbig.$(OBJ) $(TIFFOBJ)tif_jpeg.$(OBJ) $(TIFFOBJ)tif_jpeg_12.$(OBJ) $(TIFFOBJ)tif_luv.$(OBJ) $(TIFFOBJ)tif_lzw.$(OBJ) $(TIFFOBJ)tif_webp.$(OBJ) tiff_6=$(TIFFOBJ)tif_next.$(OBJ) $(TIFFOBJ)tif_ojpeg.$(OBJ) $(TIFFOBJ)tif_open.$(OBJ) $(TIFFOBJ)tif_packbits.$(OBJ) tiff_7=$(TIFFOBJ)tif_pixarlog.$(OBJ) $(TIFFOBJ)tif_predict.$(OBJ) $(TIFFOBJ)tif_print.$(OBJ) $(TIFFOBJ)tif_read.$(OBJ) tiff_8=$(TIFFOBJ)tif_strip.$(OBJ) $(TIFFOBJ)tif_swab.$(OBJ) $(TIFFOBJ)tif_thunder.$(OBJ) $(TIFFOBJ)tif_tile.$(OBJ) @@ -110,6 +110,9 @@ $(TIFFOBJ)tif_getimage.$(OBJ) : $(TIFFSRC)/libtiff/tif_getimage.c $(TIFFDEP) $(TIFFOBJ)tif_jbig.$(OBJ) : $(TIFFSRC)/libtiff/tif_jbig.c $(TIFFDEP) $(TIFFCC) $(TIFFO_)tif_jbig.$(OBJ) $(C_) $(TIFFSRC)/libtiff/tif_jbig.c +$(TIFFOBJ)tif_jpeg_12.$(OBJ) : $(TIFFSRC)/libtiff/tif_jpeg_12.c $(TIFFDEP) $(JGENDIR)/jconfig.h + $(TIFFCC) $(TIFFO_)tif_jpeg_12.$(OBJ) $(C_) $(TIFFSRC)/libtiff/tif_jpeg_12.c + $(TIFFOBJ)tif_jpeg.$(OBJ) : $(TIFFSRC)/libtiff/tif_jpeg.c $(TIFFDEP) $(JGENDIR)/jconfig.h $(TIFFCC) $(TIFFO_)tif_jpeg.$(OBJ) $(C_) $(TIFFSRC)/libtiff/tif_jpeg.c @@ -119,11 +122,14 @@ $(TIFFOBJ)tif_luv.$(OBJ) : $(TIFFSRC)/libtiff/tif_luv.c $(TIFFDEP) $(TIFFOBJ)tif_lzw.$(OBJ) : $(TIFFSRC)/libtiff/tif_lzw.c $(TIFFDEP) $(TIFFCC) $(TIFFO_)tif_lzw.$(OBJ) $(C_) $(TIFFSRC)/libtiff/tif_lzw.c +$(TIFFOBJ)tif_webp.$(OBJ) : $(TIFFSRC)/libtiff/tif_webp.c $(TIFFDEP) + $(TIFFCC) $(TIFFO_)tif_webp.$(OBJ) $(C_) $(TIFFSRC)/libtiff/tif_webp.c + $(TIFFOBJ)tif_next.$(OBJ) : $(TIFFSRC)/libtiff/tif_next.c $(TIFFDEP) $(TIFFCC) $(TIFFO_)tif_next.$(OBJ) $(C_) $(TIFFSRC)/libtiff/tif_next.c $(TIFFOBJ)tif_ojpeg.$(OBJ) : $(TIFFSRC)/libtiff/tif_ojpeg.c $(jconfig_h) $(TIFFDEP) - $(TIFFCC) $(TIFFO_)tif_ojpeg.$(OBJ) $(C_) $(TIFFSRC)/libtiff/tif_ojpeg.c + $(TIFFCC) $(I_)$(GLI_) $(TIFFO_)tif_ojpeg.$(OBJ) $(C_) $(TIFFSRC)/libtiff/tif_ojpeg.c $(TIFFOBJ)tif_open.$(OBJ) : $(TIFFSRC)/libtiff/tif_open.c $(TIFFDEP) $(TIFFCC) $(TIFFO_)tif_open.$(OBJ) $(C_) $(TIFFSRC)/libtiff/tif_open.c @@ -241,113 +247,114 @@ $(GLSRC)gstiffio.h:$(GLSRC)gxclthrd.h $(GLSRC)gstiffio.h:$(GLSRC)gxclpage.h $(GLSRC)gstiffio.h:$(GLSRC)gxclist.h $(GLSRC)gstiffio.h:$(GLSRC)gxgstate.h -$(GLSRC)gstiffio.h:$(GLSRC)gstrans.h $(GLSRC)gstiffio.h:$(GLSRC)gxline.h +$(GLSRC)gstiffio.h:$(GLSRC)gstrans.h $(GLSRC)gstiffio.h:$(GLSRC)gsht1.h -$(GLSRC)gstiffio.h:$(GLSRC)gxcomp.h $(GLSRC)gstiffio.h:$(GLSRC)math_.h $(GLSRC)gstiffio.h:$(GLSRC)gdevp14.h $(GLSRC)gstiffio.h:$(GLSRC)gxcolor2.h $(GLSRC)gstiffio.h:$(GLSRC)gxpcolor.h -$(GLSRC)gstiffio.h:$(GLSRC)gx.h $(GLSRC)gstiffio.h:$(GLSRC)gdevdevn.h +$(GLSRC)gstiffio.h:$(GLSRC)gsequivc.h +$(GLSRC)gstiffio.h:$(GLSRC)gx.h $(GLSRC)gstiffio.h:$(GLSRC)gxblend.h +$(GLSRC)gstiffio.h:$(GLSRC)gxclipsr.h +$(GLSRC)gstiffio.h:$(GLSRC)gxcomp.h +$(GLSRC)gstiffio.h:$(GLSRC)gxdcolor.h $(GLSRC)gstiffio.h:$(GLSRC)gdebug.h $(GLSRC)gstiffio.h:$(GLSRC)gxmatrix.h +$(GLSRC)gstiffio.h:$(GLSRC)gxbitfmt.h $(GLSRC)gstiffio.h:$(GLSRC)gxdevbuf.h $(GLSRC)gstiffio.h:$(GLSRC)gxband.h -$(GLSRC)gstiffio.h:$(GLSRC)gxbitfmt.h -$(GLSRC)gstiffio.h:$(GLSRC)gsequivc.h -$(GLSRC)gstiffio.h:$(GLSRC)gxclipsr.h $(GLSRC)gstiffio.h:$(GLSRC)gscolor2.h +$(GLSRC)gstiffio.h:$(GLSRC)gscindex.h $(GLSRC)gstiffio.h:$(GLSRC)gxdevice.h -$(GLSRC)gstiffio.h:$(GLSRC)gxcpath.h $(GLSRC)gstiffio.h:$(GLSRC)gsht.h +$(GLSRC)gstiffio.h:$(GLSRC)gxcpath.h $(GLSRC)gstiffio.h:$(GLSRC)gxdevmem.h +$(GLSRC)gstiffio.h:$(GLSRC)gxdevcli.h $(GLSRC)gstiffio.h:$(GLSRC)gxpcache.h -$(GLSRC)gstiffio.h:$(GLSRC)gscindex.h $(GLSRC)gstiffio.h:$(GLSRC)gsptype1.h -$(GLSRC)gstiffio.h:$(GLSRC)gxdevcli.h $(GLSRC)gstiffio.h:$(GLSRC)gxtext.h -$(GLSRC)gstiffio.h:$(GLSRC)gspcolor.h +$(GLSRC)gstiffio.h:$(GLSRC)gscie.h $(GLSRC)gstiffio.h:$(GLSRC)gstext.h -$(GLSRC)gstiffio.h:$(GLSRC)gxdcolor.h +$(GLSRC)gstiffio.h:$(GLSRC)gsnamecl.h $(GLSRC)gstiffio.h:$(GLSRC)gstparam.h -$(GLSRC)gstiffio.h:$(GLSRC)gscie.h $(GLSRC)gstiffio.h:$(GLSRC)gxstate.h -$(GLSRC)gstiffio.h:$(GLSRC)gxcmap.h -$(GLSRC)gstiffio.h:$(GLSRC)gsmalloc.h +$(GLSRC)gstiffio.h:$(GLSRC)gspcolor.h +$(GLSRC)gstiffio.h:$(GLSRC)gxfcache.h +$(GLSRC)gstiffio.h:$(GLSRC)gxcspace.h $(GLSRC)gstiffio.h:$(GLSRC)gsropt.h $(GLSRC)gstiffio.h:$(GLSRC)gsfunc.h -$(GLSRC)gstiffio.h:$(GLSRC)gxctable.h -$(GLSRC)gstiffio.h:$(GLSRC)gsnamecl.h +$(GLSRC)gstiffio.h:$(GLSRC)gsmalloc.h $(GLSRC)gstiffio.h:$(GLSRC)gxrplane.h -$(GLSRC)gstiffio.h:$(GLSRC)gxcspace.h -$(GLSRC)gstiffio.h:$(GLSRC)gxiclass.h -$(GLSRC)gstiffio.h:$(GLSRC)gxclio.h -$(GLSRC)gstiffio.h:$(GLSRC)gxfcache.h +$(GLSRC)gstiffio.h:$(GLSRC)gxctable.h +$(GLSRC)gstiffio.h:$(GLSRC)gsuid.h +$(GLSRC)gstiffio.h:$(GLSRC)gxcmap.h +$(GLSRC)gstiffio.h:$(GLSRC)gsimage.h +$(GLSRC)gstiffio.h:$(GLSRC)gsdcolor.h +$(GLSRC)gstiffio.h:$(GLSRC)gxdda.h +$(GLSRC)gstiffio.h:$(GLSRC)gxcvalue.h $(GLSRC)gstiffio.h:$(GLSRC)gsfont.h $(GLSRC)gstiffio.h:$(GLSRC)gxfmap.h -$(GLSRC)gstiffio.h:$(GLSRC)gxcvalue.h -$(GLSRC)gstiffio.h:$(GLSRC)gxpath.h -$(GLSRC)gstiffio.h:$(GLSRC)gspenum.h -$(GLSRC)gstiffio.h:$(GLSRC)gxtmap.h -$(GLSRC)gstiffio.h:$(GLSRC)gsimage.h +$(GLSRC)gstiffio.h:$(GLSRC)gxiclass.h +$(GLSRC)gstiffio.h:$(GLSRC)gxftype.h $(GLSRC)gstiffio.h:$(GLSRC)gxfrac.h -$(GLSRC)gstiffio.h:$(GLSRC)gxdda.h -$(GLSRC)gstiffio.h:$(GLSRC)gslparam.h -$(GLSRC)gstiffio.h:$(GLSRC)gxbcache.h -$(GLSRC)gstiffio.h:$(GLSRC)gsdcolor.h -$(GLSRC)gstiffio.h:$(GLSRC)gsrect.h $(GLSRC)gstiffio.h:$(GLSRC)gscms.h -$(GLSRC)gstiffio.h:$(GLSRC)gxftype.h -$(GLSRC)gstiffio.h:$(GLSRC)gsdevice.h $(GLSRC)gstiffio.h:$(GLSRC)gscspace.h -$(GLSRC)gstiffio.h:$(GLSRC)gsuid.h +$(GLSRC)gstiffio.h:$(GLSRC)gxpath.h +$(GLSRC)gstiffio.h:$(GLSRC)gxbcache.h +$(GLSRC)gstiffio.h:$(GLSRC)gsdevice.h $(GLSRC)gstiffio.h:$(GLSRC)gxarith.h -$(GLSRC)gstiffio.h:$(GLSRC)gsdsrc.h $(GLSRC)gstiffio.h:$(GLSRC)gxstdio.h +$(GLSRC)gstiffio.h:$(GLSRC)gspenum.h +$(GLSRC)gstiffio.h:$(GLSRC)gxhttile.h +$(GLSRC)gstiffio.h:$(GLSRC)gsrect.h +$(GLSRC)gstiffio.h:$(GLSRC)gslparam.h $(GLSRC)gstiffio.h:$(GLSRC)gsxfont.h -$(GLSRC)gstiffio.h:$(GLSRC)gxfixed.h -$(GLSRC)gstiffio.h:$(GLSRC)gsrefct.h -$(GLSRC)gstiffio.h:$(GLSRC)gscpm.h +$(GLSRC)gstiffio.h:$(GLSRC)gxclio.h $(GLSRC)gstiffio.h:$(GLSRC)gsiparam.h -$(GLSRC)gstiffio.h:$(GLSRC)gxhttile.h +$(GLSRC)gstiffio.h:$(GLSRC)gsdsrc.h $(GLSRC)gstiffio.h:$(GLSRC)gsio.h -$(GLSRC)gstiffio.h:$(GLSRC)gp.h -$(GLSRC)gstiffio.h:$(GLSRC)memento.h -$(GLSRC)gstiffio.h:$(GLSRC)gsparam.h -$(GLSRC)gstiffio.h:$(GLSRC)gsmatrix.h $(GLSRC)gstiffio.h:$(GLSRC)gxbitmap.h +$(GLSRC)gstiffio.h:$(GLSRC)gsmatrix.h +$(GLSRC)gstiffio.h:$(GLSRC)gscpm.h +$(GLSRC)gstiffio.h:$(GLSRC)gxfixed.h +$(GLSRC)gstiffio.h:$(GLSRC)gsrefct.h +$(GLSRC)gstiffio.h:$(GLSRC)gsparam.h +$(GLSRC)gstiffio.h:$(GLSRC)gp.h +$(GLSRC)gstiffio.h:$(GLSRC)gsccolor.h +$(GLSRC)gstiffio.h:$(GLSRC)gsstruct.h +$(GLSRC)gstiffio.h:$(GLSRC)gxsync.h $(GLSRC)gstiffio.h:$(GLSRC)gsutil.h $(GLSRC)gstiffio.h:$(GLSRC)gsstrl.h $(GLSRC)gstiffio.h:$(GLSRC)gdbflags.h $(GLSRC)gstiffio.h:$(GLSRC)srdline.h -$(GLSRC)gstiffio.h:$(GLSRC)gsstruct.h $(GLSRC)gstiffio.h:$(GLSRC)gserrors.h -$(GLSRC)gstiffio.h:$(GLSRC)gxsync.h +$(GLSRC)gstiffio.h:$(GLSRC)scommon.h +$(GLSRC)gstiffio.h:$(GLSRC)memento.h $(GLSRC)gstiffio.h:$(GLSRC)vmsmath.h $(GLSRC)gstiffio.h:$(GLSRC)gscsel.h -$(GLSRC)gstiffio.h:$(GLSRC)scommon.h $(GLSRC)gstiffio.h:$(GLSRC)gsbitmap.h $(GLSRC)gstiffio.h:$(GLSRC)gsfname.h -$(GLSRC)gstiffio.h:$(GLSRC)gsccolor.h $(GLSRC)gstiffio.h:$(GLSRC)gsstype.h +$(GLSRC)gstiffio.h:$(GLSRC)stat_.h +$(GLSRC)gstiffio.h:$(GLSRC)gxtmap.h $(GLSRC)gstiffio.h:$(GLSRC)gsmemory.h $(GLSRC)gstiffio.h:$(GLSRC)gpsync.h -$(GLSRC)gstiffio.h:$(GLSRC)gpgetenv.h $(GLSRC)gstiffio.h:$(GLSRC)memory_.h +$(GLSRC)gstiffio.h:$(GLSRC)gpgetenv.h $(GLSRC)gstiffio.h:$(GLSRC)gslibctx.h $(GLSRC)gstiffio.h:$(GLSRC)gscdefs.h +$(GLSRC)gstiffio.h:$(GLSRC)gs_dll_call.h +$(GLSRC)gstiffio.h:$(GLSRC)stdio_.h $(GLSRC)gstiffio.h:$(GLSRC)gscompt.h $(GLSRC)gstiffio.h:$(GLSRC)gxcindex.h -$(GLSRC)gstiffio.h:$(GLSRC)stdint_.h $(GLSRC)gstiffio.h:$(GLSRC)gsgstate.h +$(GLSRC)gstiffio.h:$(GLSRC)stdint_.h +$(GLSRC)gstiffio.h:$(GLSRC)gssprintf.h $(GLSRC)gstiffio.h:$(GLSRC)gsccode.h -$(GLSRC)gstiffio.h:$(GLSRC)gs_dll_call.h -$(GLSRC)gstiffio.h:$(GLSRC)stdio_.h -$(GLSRC)gstiffio.h:$(GLSRC)gstypes.h $(GLSRC)gstiffio.h:$(GLSRC)std.h +$(GLSRC)gstiffio.h:$(GLSRC)gstypes.h $(GLSRC)gstiffio.h:$(GLSRC)stdpre.h $(GLSRC)gstiffio.h:$(GLGEN)arch.h -$(GLSRC)gstiffio.h:$(GLSRC)gssprintf.h diff --git a/base/unix-dll.mak b/base/unix-dll.mak index 7ae731f7..0f9fd94c 100644 --- a/base/unix-dll.mak +++ b/base/unix-dll.mak @@ -66,21 +66,21 @@ GPDL_SONAME_BASE=lib$(GPDL_SO_BASE) GS_SOEXT=$(SO_LIB_EXT) GS_DLLEXT=$(DLL_EXT) -GS_SONAME=$(GS_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT) -GS_SONAME_MAJOR=$(GS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT) -GS_SONAME_MAJOR_MINOR=$(GS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT) +#GS_SONAME=$(GS_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT) +#GS_SONAME_MAJOR=$(GS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT) +#GS_SONAME_MAJOR_MINOR=$(GS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT) -PCL_SONAME=$(PCL_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT) -PCL_SONAME_MAJOR=$(PCL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT) -PCL_SONAME_MAJOR_MINOR=$(PCL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT) +#PCL_SONAME=$(PCL_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT) +#PCL_SONAME_MAJOR=$(PCL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT) +#PCL_SONAME_MAJOR_MINOR=$(PCL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT) -XPS_SONAME=$(XPS_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT) -XPS_SONAME_MAJOR=$(XPS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT) -XPS_SONAME_MAJOR_MINOR=$(XPS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT) +#XPS_SONAME=$(XPS_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT) +#XPS_SONAME_MAJOR=$(XPS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT) +#XPS_SONAME_MAJOR_MINOR=$(XPS_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT) -GPDL_SONAME=$(GPDL_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT) -GPDL_SONAME_MAJOR=$(GPDL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT) -GPDL_SONAME_MAJOR_MINOR=$(GPDL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT) +#GPDL_SONAME=$(GPDL_SONAME_BASE)$(GS_SOEXT)$(GS_DLLEXT) +#GPDL_SONAME_MAJOR=$(GPDL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(GS_DLLEXT) +#GPDL_SONAME_MAJOR_MINOR=$(GPDL_SONAME_BASE)$(GS_SOEXT)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MAJOR)$(SO_LIB_VERSION_SEPARATOR)$(GS_VERSION_MINOR)$(GS_DLLEXT) #LDFLAGS_SO=-shared -Wl,-soname=$(GS_SONAME_MAJOR) diff --git a/base/unix-gcc.mak b/base/unix-gcc.mak index a316038f..c27d0e3b 100644 --- a/base/unix-gcc.mak +++ b/base/unix-gcc.mak @@ -178,7 +178,7 @@ GPDL=gpdl XE= XEAUX= -PCL_XPS_TARGETS= +PCL_XPS_PDL_TARGETS= # Define the directories for debugging and profiling binaries, relative to # the standard binaries. @@ -376,9 +376,9 @@ GCFLAGS= -Wall -Wstrict-prototypes -Wundef -Wmissing-declarations -Wmissing-pro # Define the added flags for standard, debugging, profiling # and shared object builds. -CFLAGS_STANDARD= -O2 +CFLAGS_STANDARD= -O2 -DNDEBUG CFLAGS_DEBUG= -g -O0 -CFLAGS_PROFILE=-pg -O2 +CFLAGS_PROFILE=-pg -O2 -DNDEBUG CFLAGS_SO=-fPIC # Define the other compilation flags. Add at most one of the following: @@ -521,7 +521,7 @@ FEATURE_DEVS=$(GLD)pipe.dev $(GLD)gsnogc.dev $(GLD)htxlib.dev $(GLD)psl3lib.dev $(GLD)seprlib.dev $(GLD)translib.dev $(GLD)cidlib.dev $(GLD)psf0lib.dev $(GLD)psf1lib.dev\ $(GLD)psf2lib.dev $(GLD)lzwd.dev $(GLD)sicclib.dev \ $(GLD)sjbig2.dev $(GLD)sjpx.dev $(GLD)ramfs.dev \ - $(GLD)pwgd.dev + $(GLD)pwgd.dev $(GLD)urfd.dev diff --git a/base/unixansi.mak b/base/unixansi.mak index 7376c71c..283552ba 100644 --- a/base/unixansi.mak +++ b/base/unixansi.mak @@ -221,9 +221,9 @@ CCLD=$(CC) # Define the added flags for standard, debugging, and profiling builds. -CFLAGS_STANDARD=-O +CFLAGS_STANDARD=-O -DNDEBUG CFLAGS_DEBUG=-g -CFLAGS_PROFILE=-pg -O +CFLAGS_PROFILE=-pg -O -DNDEBUG # Define the other compilation flags. Add at most one of the following: # -Aa -w -D_HPUX_SOURCE for the HP 400. diff --git a/base/unixinst.mak b/base/unixinst.mak index 32e1f3cc..099d9f2b 100644 --- a/base/unixinst.mak +++ b/base/unixinst.mak @@ -95,7 +95,7 @@ acctest.ps align.ps bdftops.ps \ caption.ps cid2code.ps docie.ps \ errpage.ps font2pcl.ps gslp.ps gsnup.ps image-qa.ps \ jispaper.ps landscap.ps lines.ps \ -mkcidfm.ps PDFA_def.ps PDFX_def.ps \ +mkcidfm.ps PDFA_def.ps PDFX_def.ps pdf_info.ps \ pf2afm.ps pfbtopfa.ps ppath.ps \ pphs.ps \ prfont.ps printafm.ps \ diff --git a/base/version.mak b/base/version.mak index 50911c91..a5694e28 100644 --- a/base/version.mak +++ b/base/version.mak @@ -15,10 +15,10 @@ # Major and minor version numbers. # MINOR0 is different from MINOR only if MINOR is a single digit. GS_VERSION_MAJOR=9 -GS_VERSION_MINOR=50 -GS_VERSION_MINOR0=50 +GS_VERSION_MINOR=52 +GS_VERSION_MINOR0=52 # Revision date: year x 10000 + month x 100 + day. -GS_REVISIONDATE=20191015 +GS_REVISIONDATE=20200319 # Derived values GS_VERSION=$(GS_VERSION_MAJOR)$(GS_VERSION_MINOR0) GS_DOT_VERSION=$(GS_VERSION_MAJOR).$(GS_VERSION_MINOR0) diff --git a/base/windows_.h b/base/windows_.h index 1a0403a2..61009b28 100644 --- a/base/windows_.h +++ b/base/windows_.h @@ -19,7 +19,9 @@ #ifndef windows__INCLUDED # define windows__INCLUDED +#ifndef STRICT #define STRICT +#endif #ifdef METRO #include <winapifamily.h> #endif |