summaryrefslogtreecommitdiff
path: root/base
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2018-12-12 12:48:39 +0000
committerRobin Watts <robin.watts@artifex.com>2018-12-14 19:34:59 +0000
commit085c795835284d2f0d91ebc87faf5b2da1376bca (patch)
tree0d4c6bdfa82a2020cb249d4d1526531be5f95ad5 /base
parent9d23c4d9a6c02416341992d8b29226273df07af8 (diff)
downloadghostpdl-085c795835284d2f0d91ebc87faf5b2da1376bca.tar.gz
Fix header inclusions.
Run a release build on a linux machine to make arch.h etc. Then run toolbin/headercompile.pl to test compiling each headerfile by itself. Resolve all the missing #includes, add missing repeated include guards and copyright statements. Also, update all the header dependencies in the makefiles. It is possible that the object dependencies in the makefiles can be simplified now, but that's a task for another day.
Diffstat (limited to 'base')
-rw-r--r--base/ets.h20
-rw-r--r--base/ets_tm.h21
-rw-r--r--base/gdbflags.h6
-rw-r--r--base/gdebug.h2
-rw-r--r--base/gdevbbox.h2
-rw-r--r--base/gdevdcrd.h2
-rw-r--r--base/gdevddrw.h2
-rw-r--r--base/gdevdevn.h11
-rw-r--r--base/gdevdevnprn.h3
-rw-r--r--base/gdevmem.h1
-rw-r--r--base/gdevmpla.h3
-rw-r--r--base/gdevmplt.h2
-rw-r--r--base/gdevmrop.h3
-rw-r--r--base/gdevp14.h6
-rw-r--r--base/gdevpccm.h2
-rw-r--r--base/gdevplnx.h1
-rw-r--r--base/gdevppla.h3
-rw-r--r--base/gdevprn.c1
-rw-r--r--base/gen_ordered.h7
-rw-r--r--base/gp_mswin.h2
-rw-r--r--base/gp_os2.h2
-rw-r--r--base/gpcheck.h2
-rw-r--r--base/gpmisc.h2
-rw-r--r--base/gs.mak2
-rw-r--r--base/gsalloc.h2
-rw-r--r--base/gsalpha.h2
-rw-r--r--base/gsalphac.c1
-rw-r--r--base/gsalphac.h1
-rw-r--r--base/gsargs.h2
-rw-r--r--base/gsbitops.h1
-rw-r--r--base/gsbittab.h2
-rw-r--r--base/gsccode.h3
-rw-r--r--base/gscedata.h2
-rw-r--r--base/gschar.h1
-rw-r--r--base/gscie.h2
-rw-r--r--base/gsclipsr.h2
-rw-r--r--base/gscms.h1
-rw-r--r--base/gscolor.h2
-rw-r--r--base/gscolor1.h4
-rw-r--r--base/gscolor3.h2
-rw-r--r--base/gscompt.h2
-rw-r--r--base/gscoord.h8
-rw-r--r--base/gscpixel.h2
-rw-r--r--base/gscrypt1.h2
-rw-r--r--base/gscspace.h6
-rw-r--r--base/gsdevice.h15
-rw-r--r--base/gsdfilt.h4
-rw-r--r--base/gsdll.h1
-rw-r--r--base/gsdllwin.h3
-rw-r--r--base/gsdps.h1
-rw-r--r--base/gsequivc.h12
-rw-r--r--base/gsexit.h2
-rw-r--r--base/gsflip.h2
-rw-r--r--base/gsfname.h2
-rw-r--r--base/gsfont.h4
-rw-r--r--base/gsform1.h10
-rw-r--r--base/gsfunc.h1
-rw-r--r--base/gsgc.h2
-rw-r--r--base/gsgcache.h2
-rw-r--r--base/gsgstate.h24
-rw-r--r--base/gshsb.h2
-rw-r--r--base/gsht.h4
-rw-r--r--base/gshtx.h7
-rw-r--r--base/gsicc_cache.h7
-rw-r--r--base/gsicc_profilecache.h2
-rw-r--r--base/gsimage.h1
-rw-r--r--base/gsiparm2.h1
-rw-r--r--base/gslib.h2
-rw-r--r--base/gsline.h6
-rw-r--r--base/gsmatrix.h2
-rw-r--r--base/gsmchunk.h2
-rw-r--r--base/gsmemory.h1
-rw-r--r--base/gsnamecl.h11
-rw-r--r--base/gsovrc.h1
-rw-r--r--base/gspaint.h3
-rw-r--r--base/gsparamx.h4
-rw-r--r--base/gspath.h7
-rw-r--r--base/gspath2.h3
-rw-r--r--base/gspcolor.h1
-rw-r--r--base/gsrect.h1
-rw-r--r--base/gsrefct.h7
-rw-r--r--base/gsrop.h1
-rw-r--r--base/gsroprun1.h6
-rw-r--r--base/gsroprun24.h6
-rw-r--r--base/gsroprun8.h6
-rw-r--r--base/gsropt.h2
-rw-r--r--base/gsserial.h2
-rw-r--r--base/gsstate.h7
-rw-r--r--base/gsstrl.h2
-rw-r--r--base/gstext.h9
-rw-r--r--base/gstiffio.h2
-rw-r--r--base/gstype1.h4
-rw-r--r--base/gstypes.h2
-rw-r--r--base/gsuid.h2
-rw-r--r--base/gsutil.h3
-rw-r--r--base/gsxfont.h2
-rw-r--r--base/gx.h10
-rw-r--r--base/gxband.h1
-rw-r--r--base/gxbitfmt.h2
-rw-r--r--base/gxcdevn.h4
-rw-r--r--base/gxchrout.h5
-rw-r--r--base/gxcindex.h1
-rw-r--r--base/gxclip.h2
-rw-r--r--base/gxclpath.h3
-rw-r--r--base/gxclthrd.h3
-rw-r--r--base/gxcmap.h5
-rw-r--r--base/gxcomp.h6
-rw-r--r--base/gxcoord.h1
-rw-r--r--base/gxcpath.h2
-rw-r--r--base/gxctable.h1
-rw-r--r--base/gxdcconv.h2
-rw-r--r--base/gxdcolor.h6
-rw-r--r--base/gxdda.h3
-rw-r--r--base/gxdevbuf.h1
-rw-r--r--base/gxdevcli.h12
-rw-r--r--base/gxdevmem.h1
-rw-r--r--base/gxdevndi.h39
-rw-r--r--base/gxdevrop.h2
-rw-r--r--base/gxdevsop.h2
-rw-r--r--base/gxdht.h1
-rw-r--r--base/gxdhtserial.h8
-rw-r--r--base/gxdither.h1
-rw-r--r--base/gxdtfill.h6
-rw-r--r--base/gxfapi.h6
-rw-r--r--base/gxfarith.h1
-rw-r--r--base/gxfcache.h5
-rw-r--r--base/gxfill.h3
-rw-r--r--base/gxfillsl.h6
-rw-r--r--base/gxfilltr.h6
-rw-r--r--base/gxfillts.h6
-rw-r--r--base/gxfixed.h2
-rw-r--r--base/gxfont0.h2
-rw-r--r--base/gxfont1.h2
-rw-r--r--base/gxfont42.h2
-rw-r--r--base/gxgetbit.h1
-rw-r--r--base/gxgstate.h6
-rw-r--r--base/gxhintn.h3
-rw-r--r--base/gxhldevc.h6
-rw-r--r--base/gxht_thresh.h4
-rw-r--r--base/gxhttile.h2
-rw-r--r--base/gxiclass.h2
-rw-r--r--base/gxiscale.c1
-rw-r--r--base/gxmatrix.h1
-rw-r--r--base/gxmclip.h1
-rw-r--r--base/gxobj.h1
-rw-r--r--base/gxoprect.h2
-rw-r--r--base/gxp1impl.h4
-rw-r--r--base/gxpaint.h11
-rw-r--r--base/gxpath.h5
-rw-r--r--base/gxpcache.h2
-rw-r--r--base/gxsample.h2
-rw-r--r--base/gxsamplp.h7
-rw-r--r--base/gxshade4.h3
-rw-r--r--base/gxstate.h7
-rw-r--r--base/gxttf.h2
-rw-r--r--base/gxttfb.h2
-rw-r--r--base/gxtype1.h1
-rw-r--r--base/gxxfont.h2
-rw-r--r--base/gzht.h1
-rw-r--r--base/gzline.h1
-rw-r--r--base/jmemcust.c1
-rw-r--r--base/jmemcust.h9
-rw-r--r--base/lib.mak519
-rw-r--r--base/pcwin.mak6
-rw-r--r--base/sa85d.h2
-rw-r--r--base/sbcp.h2
-rw-r--r--base/sbtx.h2
-rw-r--r--base/scanchar.h2
-rw-r--r--base/sdcparam.h3
-rw-r--r--base/sdct.h5
-rw-r--r--base/sfilter.h1
-rw-r--r--base/simscale.h2
-rw-r--r--base/sisparam.h2
-rw-r--r--base/sjpeg.h2
-rw-r--r--base/sjpegc.c1
-rw-r--r--base/slzwx.h2
-rw-r--r--base/smd5.h1
-rw-r--r--base/smtf.h2
-rw-r--r--base/spdiffx.h2
-rw-r--r--base/spngpx.h2
-rw-r--r--base/spprint.h2
-rw-r--r--base/spwgx.h2
-rw-r--r--base/srdline.h3
-rw-r--r--base/srlx.h2
-rw-r--r--base/ssha2.h1
-rw-r--r--base/sstring.h2
-rw-r--r--base/strmio.h2
-rw-r--r--base/szlibx.h2
-rw-r--r--base/tiff.mak3
-rw-r--r--base/ttfinp.h2
-rw-r--r--base/ttfsfnt.h1
-rw-r--r--base/ttload.h2
-rw-r--r--base/ttobjs.h1
-rw-r--r--base/tttype.h2
194 files changed, 724 insertions, 496 deletions
diff --git a/base/ets.h b/base/ets.h
index 08ad62057..f6471bb04 100644
--- a/base/ets.h
+++ b/base/ets.h
@@ -1,3 +1,21 @@
+/* Copyright (C) 2001-2018 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.
+*/
+
+#ifndef ets_h_INCLUDED
+# define ets_h_INCLUDED
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -114,3 +132,5 @@ ets_free(void *malloc_arg, void *p);
#ifdef __cplusplus
}
#endif
+
+#endif
diff --git a/base/ets_tm.h b/base/ets_tm.h
index e96074f1d..5a46a2806 100644
--- a/base/ets_tm.h
+++ b/base/ets_tm.h
@@ -1,3 +1,22 @@
+/* Copyright (C) 2001-2018 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.
+*/
+
+
+#ifndef ets_tm_h_INCLUDED
+# define ets_tm_h_INCLUDED
+
#define TM_WIDTH 256
#define TM_HEIGHT 256
const signed char tmmat[] = {
@@ -4097,3 +4116,5 @@ const signed char tmmat[] = {
8, -17, -59, -12, -32, -46, 16, -47, -17, 27, 9, -21, -18, -41, 19, -37,
13, -43, -63, 61, 18, -56, -22, -52, 62, -35, -56, 30, 57, -44, -3, 0,
12, -1, 24, 3, 0, -23, 29, -6, 42, -59, 45, 52, -1, 46, -51, 66};
+
+#endif
diff --git a/base/gdbflags.h b/base/gdbflags.h
index b24ddf9a0..aaa4d86c7 100644
--- a/base/gdbflags.h
+++ b/base/gdbflags.h
@@ -21,6 +21,8 @@
* repeated inclusion.
*/
+#if defined(UNUSED) && defined(FLAG)
+
UNUSED(0) /* Never use 0, as lots of things 'imply' 0. */
FLAG(icc, 1, 'c', "ICC profile"),
FLAG(validate_clumps, 2, 0, "Validate clumps during interpretation"),
@@ -148,3 +150,7 @@ UNUSED('{')
UNUSED('|') /* "Reserved for experimental code" */
UNUSED('}')
FLAG(math, '~', 0, "Math functions and Functions")
+
+#else
+int dummy;
+#endif
diff --git a/base/gdebug.h b/base/gdebug.h
index 1c3749c2a..3f80422da 100644
--- a/base/gdebug.h
+++ b/base/gdebug.h
@@ -18,6 +18,8 @@
#ifndef gdebug_INCLUDED
# define gdebug_INCLUDED
+#include "std.h"
+
/*
* The compile-time DEBUG symbol determines whether debugging/tracing
* code is included in the compiled code. DEBUG may be set or not set
diff --git a/base/gdevbbox.h b/base/gdevbbox.h
index ef73008ad..adca6785b 100644
--- a/base/gdevbbox.h
+++ b/base/gdevbbox.h
@@ -19,6 +19,8 @@
#ifndef gdevbbox_INCLUDED
# define gdevbbox_INCLUDED
+#include "gxdevcli.h"
+
/*
* This device keeps track of the per-page bounding box, and also optionally
* forwards all drawing commands to a target. It can be used either as a
diff --git a/base/gdevdcrd.h b/base/gdevdcrd.h
index 3fd313f22..5ef4c9da9 100644
--- a/base/gdevdcrd.h
+++ b/base/gdevdcrd.h
@@ -18,6 +18,8 @@
#ifndef gdevdcrd_INCLUDED
#define gdevdcrd_INCLUDED
+#include "gxdevcli.h"
+
/* Implement get_params for a sample device CRD. */
int sample_device_crd_get_params(gx_device *pdev, gs_param_list *plist,
const char *crd_param_name);
diff --git a/base/gdevddrw.h b/base/gdevddrw.h
index 5a490ddfd..8d0945609 100644
--- a/base/gdevddrw.h
+++ b/base/gdevddrw.h
@@ -18,6 +18,8 @@
#ifndef gdevddrw_INCLUDED
# define gdevddrw_INCLUDED
+#include "gxdevcli.h"
+
enum fill_trap_flags {
ftf_peak0 = 1,
ftf_peak1 = 2
diff --git a/base/gdevdevn.h b/base/gdevdevn.h
index 5661c7cc3..65eb51e74 100644
--- a/base/gdevdevn.h
+++ b/base/gdevdevn.h
@@ -18,16 +18,13 @@
#ifndef gdevdevn_INCLUDED
# define gdevdevn_INCLUDED
+#include "gxblend.h"
+#include "gsequivc.h"
+
/* See Comments in gdevtsep.c or gdevpsd.c as to the purpose of this */
#define LIMIT_TO_ICC 1
/*
- * Define the maximum number of spot colors supported by this device.
- * This value is arbitrary. It is set simply to define a limit on
- * on the separation_name_array and separation_order map.
- */
-#define GX_DEVICE_MAX_SEPARATIONS GX_DEVICE_COLOR_MAX_COMPONENTS
-/*
* 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
@@ -120,8 +117,6 @@ typedef struct gs_devn_params_s gs_devn_params;
extern fixed_colorant_name DeviceCMYKComponents[];
-#include "gsequivc.h"
-
/*
* Utility routines for common DeviceN related parameters:
* SeparationColorNames, SeparationOrder, and MaxSeparations
diff --git a/base/gdevdevnprn.h b/base/gdevdevnprn.h
index cc1bd7c38..ee6f8e987 100644
--- a/base/gdevdevnprn.h
+++ b/base/gdevdevnprn.h
@@ -18,6 +18,9 @@
#ifndef gdevdevnprn_INCLUDED
# define gdevdevnprn_INCLUDED
+#include "gdevprn.h"
+#include "gdevdevn.h"
+
/*
* DevN based printer devices all start with the same device fields.
*/
diff --git a/base/gdevmem.h b/base/gdevmem.h
index 15174571e..1a56fd462 100644
--- a/base/gdevmem.h
+++ b/base/gdevmem.h
@@ -19,6 +19,7 @@
# define gdevmem_INCLUDED
#include "gxbitops.h"
+#include "gxdevcli.h"
/*
The representation for a "memory" device is simply a
diff --git a/base/gdevmpla.h b/base/gdevmpla.h
index e3f9bf234..26d6ff88b 100644
--- a/base/gdevmpla.h
+++ b/base/gdevmpla.h
@@ -18,6 +18,9 @@
#ifndef gdevmpla_INCLUDED
# define gdevmpla_INCLUDED
+#include "gsdevice.h"
+#include "gxrplane.h"
+
/*
* Planar memory devices store the bits by planes instead of by chunks.
* The plane corresponding to the least significant bits of the color index
diff --git a/base/gdevmplt.h b/base/gdevmplt.h
index a669b1e99..a818d8c1e 100644
--- a/base/gdevmplt.h
+++ b/base/gdevmplt.h
@@ -19,6 +19,8 @@
#ifndef gdevmplt_INCLUDED
# define gdevmplt_INCLUDED
+#include "gxdevice.h"
+
typedef struct gx_device_s gx_device_mplt;
/* Initialize device. */
diff --git a/base/gdevmrop.h b/base/gdevmrop.h
index 1a7e34cba..c6a5f8826 100644
--- a/base/gdevmrop.h
+++ b/base/gdevmrop.h
@@ -19,6 +19,9 @@
#ifndef gdevmrop_INCLUDED
# define gdevmrop_INCLUDED
+#include "gsropt.h"
+#include "gxdevcli.h"
+
/*
* Compute the effective RasterOp for the 1-bit case,
* taking transparency into account.
diff --git a/base/gdevp14.h b/base/gdevp14.h
index 879848bc5..b89f1b1c8 100644
--- a/base/gdevp14.h
+++ b/base/gdevp14.h
@@ -24,6 +24,7 @@
#include "gxdcolor.h"
#include "gxpcolor.h"
#include "gdevdevn.h"
+#include "gsgstate.h"
typedef enum {
PDF14_DeviceGray = 0,
@@ -186,11 +187,6 @@ struct pdf14_ctx_s {
typedef struct gs_devn_params_s gs_devn_params;
#endif
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
#ifndef gx_device_DEFINED
# define gx_device_DEFINED
typedef struct gx_device_s gx_device;
diff --git a/base/gdevpccm.h b/base/gdevpccm.h
index 2c531108d..84fc94cef 100644
--- a/base/gdevpccm.h
+++ b/base/gdevpccm.h
@@ -20,6 +20,8 @@
#ifndef gdevpccm_INCLUDED
# define gdevpccm_INCLUDED
+#include "gxdevcli.h"
+
/* Color mapping routines for EGA/VGA-style color. */
dev_proc_map_rgb_color(pc_4bit_map_rgb_color);
dev_proc_map_color_rgb(pc_4bit_map_color_rgb);
diff --git a/base/gdevplnx.h b/base/gdevplnx.h
index 9eb931550..f086f9e5f 100644
--- a/base/gdevplnx.h
+++ b/base/gdevplnx.h
@@ -21,6 +21,7 @@
# define gdevplnx_INCLUDED
#include "gxrplane.h"
+#include "gxdevcli.h"
/*
* A plane-extraction device appears to its client to be a color-capable
diff --git a/base/gdevppla.h b/base/gdevppla.h
index a655b1d9d..7f6beaa0b 100644
--- a/base/gdevppla.h
+++ b/base/gdevppla.h
@@ -20,6 +20,9 @@
#ifndef gdevppla_INCLUDED
# define gdevppla_INCLUDED
+#include "gsdevice.h"
+#include "gxdevbuf.h"
+
/* Set the buf_procs in a printer device to planar mode. */
int gdev_prn_set_procs_planar(gx_device *pdev);
diff --git a/base/gdevprn.c b/base/gdevprn.c
index 9e9ce3f9b..efdc505a4 100644
--- a/base/gdevprn.c
+++ b/base/gdevprn.c
@@ -28,6 +28,7 @@
#include "gdevplnx.h"
#include "gstrans.h"
#include "gxdownscale.h"
+#include "gsbitops.h"
#include "gdevkrnlsclass.h" /* 'standard' built in subclasses, currently First/Last Page and obejct filter */
diff --git a/base/gen_ordered.h b/base/gen_ordered.h
index 41bd8ce31..9ce61f9e3 100644
--- a/base/gen_ordered.h
+++ b/base/gen_ordered.h
@@ -15,6 +15,11 @@
/* Defines and exports for library (e.g., Ghostscript) use of gen_ordered.c */
+#ifndef gen_ordered_INCLUDED
+# define gen_ordered_INCLUDED
+
+#include "stdpre.h"
+
#ifndef RAW_SCREEN_DUMP
# define RAW_SCREEN_DUMP 0 /* Noisy output for .raw files for detailed debugging */
#endif
@@ -96,3 +101,5 @@ void htsc_set_default_params(htsc_param_t *params);
it is the callers responsibilty to free the final_mask.data that is returned.
*/
int htsc_gen_ordered(htsc_param_t params, int *S, htsc_dig_grid_t *final_mask);
+
+#endif
diff --git a/base/gp_mswin.h b/base/gp_mswin.h
index 972a75f9f..25b3fde45 100644
--- a/base/gp_mswin.h
+++ b/base/gp_mswin.h
@@ -19,6 +19,8 @@
#ifndef gp_mswin_INCLUDED
# define gp_mswin_INCLUDED
+#include "windows_.h"
+
#define GSTEXT_ICON 50
#define GSIMAGE_ICON 51
#define SPOOL_PORT 100
diff --git a/base/gp_os2.h b/base/gp_os2.h
index 1fa3f15b9..12ecccc99 100644
--- a/base/gp_os2.h
+++ b/base/gp_os2.h
@@ -19,6 +19,8 @@
#ifndef gp_os2_INCLUDED
# define gp_os2_INCLUDED
+#include "std.h"
+
/* If queue_name is NULL, list available queues */
/* If strlen(queue_name)==0, return default queue and driver name */
/* If queue_name supplied, return driver_name */
diff --git a/base/gpcheck.h b/base/gpcheck.h
index 5ea482b36..9d50e9797 100644
--- a/base/gpcheck.h
+++ b/base/gpcheck.h
@@ -19,6 +19,8 @@
#ifndef gpcheck_INCLUDED
# define gpcheck_INCLUDED
+#include "std.h"
+
/*
* On some platforms, the interpreter must check periodically for user-
* initiated actions. (Eventually, this may be extended to all platforms,
diff --git a/base/gpmisc.h b/base/gpmisc.h
index c39c579a4..3d2c792eb 100644
--- a/base/gpmisc.h
+++ b/base/gpmisc.h
@@ -19,6 +19,8 @@
#ifndef gpmisc_INCLUDED
# define gpmisc_INCLUDED
+#include "gp.h"
+
/*
* The facilities defined in this file and implemented in gpmisc.c are
* generic utilities shared among multiple gp_ platform files.
diff --git a/base/gs.mak b/base/gs.mak
index 39939a2a1..a57192420 100644
--- a/base/gs.mak
+++ b/base/gs.mak
@@ -565,5 +565,3 @@ $(xpsobj_tr) : $(xps_tr)
pdlobj_tr=$(GLGENDIR)$(D)pdlobj.tr
$(pdlobj_tr) : $(gpdl_tr)
$(EXP)$(GENCONF_XE) $(gpdl_tr) -h $(GLGENDIR)$(D)unused.h $(CONFILES) -o $(pdlobj_tr)
-
-
diff --git a/base/gsalloc.h b/base/gsalloc.h
index 228a4a9a9..edc3c4569 100644
--- a/base/gsalloc.h
+++ b/base/gsalloc.h
@@ -19,6 +19,8 @@
#ifndef gsalloc_INCLUDED
# define gsalloc_INCLUDED
+#include "std.h"
+
/* The following should not be needed at this level! */
#ifndef gs_ref_memory_DEFINED
diff --git a/base/gsalpha.h b/base/gsalpha.h
index 5a631d0b5..b98e04a72 100644
--- a/base/gsalpha.h
+++ b/base/gsalpha.h
@@ -19,6 +19,8 @@
#ifndef gsalpha_INCLUDED
# define gsalpha_INCLUDED
+#include "gsgstate.h"
+
/*
* This tiny little file is separate so that it can be included by
* gsstate.c for initializing the alpha value, even in configurations
diff --git a/base/gsalphac.c b/base/gsalphac.c
index 6b06b9e7d..7dfd6d450 100644
--- a/base/gsalphac.c
+++ b/base/gsalphac.c
@@ -26,6 +26,7 @@
#include "gxdevice.h"
#include "gxgetbit.h"
#include "gxlum.h"
+#include "gsbitops.h"
/* ---------------- Internal definitions ---------------- */
diff --git a/base/gsalphac.h b/base/gsalphac.h
index 113d5767a..0452b70c9 100644
--- a/base/gsalphac.h
+++ b/base/gsalphac.h
@@ -19,6 +19,7 @@
#ifndef gsalphac_INCLUDED
# define gsalphac_INCLUDED
+#include "std.h"
#include "gscompt.h"
/*
diff --git a/base/gsargs.h b/base/gsargs.h
index 7e7229ce0..0b241f279 100644
--- a/base/gsargs.h
+++ b/base/gsargs.h
@@ -19,6 +19,8 @@
#ifndef gsargs_INCLUDED
# define gsargs_INCLUDED
+#include "std.h"
+
/*
* We need to handle recursion into @-files.
* The following structures keep track of the state.
diff --git a/base/gsbitops.h b/base/gsbitops.h
index c37921656..bd1c155f6 100644
--- a/base/gsbitops.h
+++ b/base/gsbitops.h
@@ -21,6 +21,7 @@
# define gsbitops_INCLUDED
#include "gxcindex.h"
+#include "gstypes.h"
/* ---------------- Pixel processing macros ---------------- */
diff --git a/base/gsbittab.h b/base/gsbittab.h
index a0dcc3763..7842b650c 100644
--- a/base/gsbittab.h
+++ b/base/gsbittab.h
@@ -19,6 +19,8 @@
#ifndef gsbittab_INCLUDED
# define gsbittab_INCLUDED
+#include "gstypes.h"
+
/*
* Generate tables for transforming 2, 4, 6, or 8 bits.
*/
diff --git a/base/gsccode.h b/base/gsccode.h
index 449e7192d..3b73fe1bb 100644
--- a/base/gsccode.h
+++ b/base/gsccode.h
@@ -19,6 +19,9 @@
#ifndef gsccode_INCLUDED
# define gsccode_INCLUDED
+#include "std.h"
+#include "gstypes.h"
+
/*
* Define a character code. Normally this is just a single byte from a
* string, but because of composite fonts, character codes must be
diff --git a/base/gscedata.h b/base/gscedata.h
index 868041147..02bf933f7 100644
--- a/base/gscedata.h
+++ b/base/gscedata.h
@@ -28,6 +28,8 @@
#ifndef gscedata_INCLUDED
# define gscedata_INCLUDED
+#include "stdpre.h"
+
#define NUM_LEN_BITS 5
#define N(len,offset) (((offset) << NUM_LEN_BITS) + (len))
diff --git a/base/gschar.h b/base/gschar.h
index 4de602b9b..a49d60af5 100644
--- a/base/gschar.h
+++ b/base/gschar.h
@@ -19,6 +19,7 @@
#ifndef gschar_INCLUDED
# define gschar_INCLUDED
+#include "gsstate.h"
#include "gsccode.h"
#include "gscpm.h"
diff --git a/base/gscie.h b/base/gscie.h
index d68a9c4b9..626d07b36 100644
--- a/base/gscie.h
+++ b/base/gscie.h
@@ -21,10 +21,10 @@
# define gscie_INCLUDED
#include "std.h"
-#include "gsrefct.h"
#include "gsstype.h" /* for extern_st */
#include "gstypes.h" /* for gs_range_t */
#include "gxctable.h"
+#include "gscspace.h"
/* ---------------- Configuration parameters ---------------- */
diff --git a/base/gsclipsr.h b/base/gsclipsr.h
index a9e92c68b..515f6bb0a 100644
--- a/base/gsclipsr.h
+++ b/base/gsclipsr.h
@@ -19,6 +19,8 @@
#ifndef gsclipsr_INCLUDED
# define gsclipsr_INCLUDED
+#include "gsgstate.h"
+
int gs_clipsave(gs_gstate *);
int gs_cliprestore(gs_gstate *);
diff --git a/base/gscms.h b/base/gscms.h
index 8a3cb66be..e2a9c8da6 100644
--- a/base/gscms.h
+++ b/base/gscms.h
@@ -19,7 +19,6 @@
# define gscms_INCLUDED
#include "std.h"
-#include "stdpre.h"
#include "gstypes.h"
#include "gscspace.h" /* for gs_color_space */
#include "gsdevice.h" /* Need to carry pointer to clist reader */
diff --git a/base/gscolor.h b/base/gscolor.h
index 8a225ba0a..cb5036867 100644
--- a/base/gscolor.h
+++ b/base/gscolor.h
@@ -19,7 +19,9 @@
#ifndef gscolor_INCLUDED
# define gscolor_INCLUDED
+#include "stdpre.h"
#include "gxtmap.h"
+#include "gsgstate.h"
/* Color and gray interface */
int gs_setgray(gs_gstate *, double);
diff --git a/base/gscolor1.h b/base/gscolor1.h
index 99a7d0b2c..7a9baa86d 100644
--- a/base/gscolor1.h
+++ b/base/gscolor1.h
@@ -20,6 +20,10 @@
#ifndef gscolor1_INCLUDED
# define gscolor1_INCLUDED
+#include "stdpre.h"
+#include "gxtmap.h"
+#include "gsgstate.h"
+
/* Color and gray interface */
int gs_setcmykcolor(gs_gstate *, double, double, double, double),
gs_currentcmykcolor(const gs_gstate *, float[4]),
diff --git a/base/gscolor3.h b/base/gscolor3.h
index 1f9ce359b..3e2c0b404 100644
--- a/base/gscolor3.h
+++ b/base/gscolor3.h
@@ -19,6 +19,8 @@
#ifndef gscolor3_INCLUDED
# define gscolor3_INCLUDED
+#include "gsgstate.h"
+
/* Smooth shading */
#ifndef gs_shading_t_DEFINED
# define gs_shading_t_DEFINED
diff --git a/base/gscompt.h b/base/gscompt.h
index 6f0ba2f0e..dcfa95cad 100644
--- a/base/gscompt.h
+++ b/base/gscompt.h
@@ -19,6 +19,8 @@
#ifndef gscompt_INCLUDED
# define gscompt_INCLUDED
+#include "gstypes.h"
+
/*
* Compositing is the next-to-last step in the rendering pipeline.
* It occurs after color correction but before halftoning (if needed).
diff --git a/base/gscoord.h b/base/gscoord.h
index 954e13696..0a2494df1 100644
--- a/base/gscoord.h
+++ b/base/gscoord.h
@@ -20,6 +20,9 @@
#ifndef gscoord_INCLUDED
# define gscoord_INCLUDED
+#include "gsgstate.h"
+#include "gsmatrix.h"
+
/* Coordinate system modification */
int gs_initmatrix(gs_gstate *),
gs_defaultmatrix(const gs_gstate *, gs_matrix *),
@@ -43,11 +46,6 @@ int gs_transform(gs_gstate *, double, double, gs_point *),
gs_itransform(gs_gstate *, double, double, gs_point *),
gs_idtransform(gs_gstate *, double, double, gs_point *);
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
int gs_gstate_setmatrix(gs_gstate *, const gs_matrix *);
int gs_gstate_idtransform(const gs_gstate *, double, double, gs_point *);
diff --git a/base/gscpixel.h b/base/gscpixel.h
index 276238d77..daae7dfbe 100644
--- a/base/gscpixel.h
+++ b/base/gscpixel.h
@@ -20,6 +20,8 @@
#ifndef gscpixel_INCLUDED
# define gscpixel_INCLUDED
+#include "gscspace.h"
+
/* Construct a new DevicePixel color space. */
int gs_cspace_new_DevicePixel(gs_memory_t *mem, gs_color_space **ppcs,
int depth);
diff --git a/base/gscrypt1.h b/base/gscrypt1.h
index 26ee9bee2..4c04a703b 100644
--- a/base/gscrypt1.h
+++ b/base/gscrypt1.h
@@ -19,6 +19,8 @@
#ifndef gscrypt1_INCLUDED
# define gscrypt1_INCLUDED
+#include "stdpre.h"
+
/* Normal public interface */
typedef ushort crypt_state;
int gs_type1_encrypt(byte * dest, const byte * src, uint len,
diff --git a/base/gscspace.h b/base/gscspace.h
index 23c4b05dc..68a0777ad 100644
--- a/base/gscspace.h
+++ b/base/gscspace.h
@@ -22,6 +22,7 @@
#include "gsmemory.h"
#include "gsiparam.h"
#include "gsrefct.h"
+#include "gsgstate.h"
/*
* Previous versions had a complicated lifecycle discipline for
@@ -133,11 +134,6 @@
*/
/* Opaque types for a graphics state stuff */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
#ifndef gsicc_link_DEFINED
typedef struct gsicc_link_s gsicc_link_t;
# define gsicc_link_DEFINED
diff --git a/base/gsdevice.h b/base/gsdevice.h
index 582e9cce3..53f25bfe4 100644
--- a/base/gsdevice.h
+++ b/base/gsdevice.h
@@ -19,6 +19,9 @@
#ifndef gsdevice_INCLUDED
# define gsdevice_INCLUDED
+#include "std.h"
+#include "gsgstate.h"
+
#ifndef gx_device_DEFINED
# define gx_device_DEFINED
typedef struct gx_device_s gx_device;
@@ -93,21 +96,9 @@ int gs_closedevice(gx_device *);
/* Device procedures involving an gs_gstate. */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
int gs_gstate_putdeviceparams(gs_gstate *pgs, gx_device *dev,
gs_param_list *plist);
-/* Device procedures involving a graphics state. */
-
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
int gs_flushpage(gs_gstate *);
int gs_copypage(gs_gstate *);
int gs_output_page(gs_gstate *, int, int);
diff --git a/base/gsdfilt.h b/base/gsdfilt.h
index 79e429ca6..2912dba03 100644
--- a/base/gsdfilt.h
+++ b/base/gsdfilt.h
@@ -17,6 +17,10 @@
#ifndef gsdfilt_INCLUDED
# define gsdfilt_INCLUDED
+#include "std.h"
+#include "gsgstate.h"
+#include "gxdevcli.h"
+
/* The device filter stack lives in the gs_gstate structure. It represents
a chained sequence of devices that filter device requests, each forwarding
to its target. The last such target is the physical device as set by
diff --git a/base/gsdll.h b/base/gsdll.h
index f62487025..b313078b0 100644
--- a/base/gsdll.h
+++ b/base/gsdll.h
@@ -24,6 +24,7 @@
# define gsdll_INCLUDED
#include "iapi.h"
+#include "windows_.h"
#ifdef __MACOS__
#define HWND char *
diff --git a/base/gsdllwin.h b/base/gsdllwin.h
index c52004c58..56647c607 100644
--- a/base/gsdllwin.h
+++ b/base/gsdllwin.h
@@ -19,6 +19,9 @@
#ifndef gsdllwin_INCLUDED
# define gsdllwin_INCLUDED
+#include "gs_dll_call.h"
+#include "windows_.h"
+
/* DLL exported functions */
/* for load time dynamic linking */
GSDLLEXPORT HGLOBAL GSDLLAPI gsdll_copy_dib(unsigned char * device);
diff --git a/base/gsdps.h b/base/gsdps.h
index 81c912736..0cb4613f2 100644
--- a/base/gsdps.h
+++ b/base/gsdps.h
@@ -21,6 +21,7 @@
/* Device-source images */
#include "gsiparm2.h"
+#include "gsgstate.h"
/* View clipping */
int gs_initviewclip(gs_gstate *);
diff --git a/base/gsequivc.h b/base/gsequivc.h
index 85e12f771..ca38e7e4c 100644
--- a/base/gsequivc.h
+++ b/base/gsequivc.h
@@ -21,6 +21,18 @@
#ifndef gsequivc_INCLUDED
# define gsequivc_INCLUDED
+#include "stdpre.h"
+#include "gxfrac.h"
+#include "gxcindex.h"
+#include "gxdevcli.h"
+
+/*
+ * Define the maximum number of spot colors supported by this device.
+ * This value is arbitrary. It is set simply to define a limit on
+ * on the separation_name_array and separation_order map.
+ */
+#define GX_DEVICE_MAX_SEPARATIONS GX_DEVICE_COLOR_MAX_COMPONENTS
+
/*
* Structure for holding a CMYK color.
*/
diff --git a/base/gsexit.h b/base/gsexit.h
index 5145c4015..d7ebffd48 100644
--- a/base/gsexit.h
+++ b/base/gsexit.h
@@ -19,6 +19,8 @@
#ifndef gsexit_INCLUDED
# define gsexit_INCLUDED
+#include "std.h"
+
/** The client must provide this.
* normally they do exit cleanup and error messaging
* without calling system exit() returning to the caller.
diff --git a/base/gsflip.h b/base/gsflip.h
index 95a8e00e1..966ffce69 100644
--- a/base/gsflip.h
+++ b/base/gsflip.h
@@ -19,6 +19,8 @@
#ifndef gsflip_INCLUDED
# define gsflip_INCLUDED
+#include "stdpre.h"
+
/*
* Convert planar (MultipleDataSource) input to chunky format. The input
* data starts at planes[0] + offset ... planes[num_planes-1] + offset; the
diff --git a/base/gsfname.h b/base/gsfname.h
index cc9597adf..80904b893 100644
--- a/base/gsfname.h
+++ b/base/gsfname.h
@@ -18,6 +18,8 @@
#ifndef gsfname_INCLUDED
# define gsfname_INCLUDED
+#include "std.h"
+
/*
* Structure and procedures for parsing file names.
*
diff --git a/base/gsfont.h b/base/gsfont.h
index 51e03fc1d..cfb883a25 100644
--- a/base/gsfont.h
+++ b/base/gsfont.h
@@ -19,6 +19,10 @@
#ifndef gsfont_INCLUDED
# define gsfont_INCLUDED
+#include "std.h"
+#include "gsgstate.h"
+#include "gstypes.h"
+
#ifndef gs_matrix_DEFINED
# define gs_matrix_DEFINED
typedef struct gs_matrix_s gs_matrix;
diff --git a/base/gsform1.h b/base/gsform1.h
index 5d797ab0c..ad4abbc6b 100644
--- a/base/gsform1.h
+++ b/base/gsform1.h
@@ -16,6 +16,15 @@
/* Client interface to FormType 1 Forms */
+#ifndef gsform1_h_INCLUDED
+# define gsform1_h_INCLUDED
+
+#include "gstypes.h"
+#include "gsmatrix.h"
+#include "gxpath.h"
+#include "gsgstate.h"
+
+
typedef struct gs_form_template_s {
gs_rect BBox;
gs_matrix form_matrix;
@@ -25,3 +34,4 @@ typedef struct gs_form_template_s {
gs_gstate *pgs;
} gs_form_template_t;
+#endif
diff --git a/base/gsfunc.h b/base/gsfunc.h
index 488c42c8f..15e2a1aba 100644
--- a/base/gsfunc.h
+++ b/base/gsfunc.h
@@ -19,6 +19,7 @@
#ifndef gsfunc_INCLUDED
# define gsfunc_INCLUDED
+#include "std.h"
#include "memento.h" /* Because we use 'free' below */
#include "gstypes.h" /* for gs_range_t */
diff --git a/base/gsgc.h b/base/gsgc.h
index 5c876d95f..cc64ec54a 100644
--- a/base/gsgc.h
+++ b/base/gsgc.h
@@ -26,6 +26,8 @@
#ifndef gsgc_INCLUDED
# define gsgc_INCLUDED
+#include "stdpre.h"
+
/*
* Define the VM space numbers, in increasing order of dynamism. Pointers
* from a higher-numbered space to the same or a lower-numbered space are
diff --git a/base/gsgcache.h b/base/gsgcache.h
index 488f9b500..9ad428305 100644
--- a/base/gsgcache.h
+++ b/base/gsgcache.h
@@ -19,6 +19,8 @@
#ifndef gxgcache_INCLUDED
# define gxgcache_INCLUDED
+#include "stdpre.h"
+
/* Using : */
#ifndef gs_font_type42_DEFINED
diff --git a/base/gsgstate.h b/base/gsgstate.h
new file mode 100644
index 000000000..d20f950ef
--- /dev/null
+++ b/base/gsgstate.h
@@ -0,0 +1,24 @@
+/* Copyright (C) 2001-2018 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.
+*/
+
+#ifndef gsgstate_INCLUDED
+# define gsgstate_INCLUDED
+
+#ifndef gs_gstate_DEFINED
+# define gs_gstate_DEFINED
+typedef struct gs_gstate_s gs_gstate;
+#endif
+
+#endif
diff --git a/base/gshsb.h b/base/gshsb.h
index 803c3407b..88eead988 100644
--- a/base/gshsb.h
+++ b/base/gshsb.h
@@ -19,6 +19,8 @@
#ifndef gshsb_INCLUDED
# define gshsb_INCLUDED
+#include "gsgstate.h"
+
int gs_sethsbcolor(gs_gstate *, double, double, double),
gs_currenthsbcolor(const gs_gstate *, float[3]);
diff --git a/base/gsht.h b/base/gsht.h
index 9ffa5a93a..3488ab43d 100644
--- a/base/gsht.h
+++ b/base/gsht.h
@@ -19,6 +19,10 @@
#ifndef gsht_INCLUDED
# define gsht_INCLUDED
+#include "std.h"
+#include "gsgstate.h"
+#include "gstypes.h"
+
/* Client definition of (Type 1) halftones */
typedef struct gs_screen_halftone_s {
float frequency;
diff --git a/base/gshtx.h b/base/gshtx.h
index a3fc03233..7e238a219 100644
--- a/base/gshtx.h
+++ b/base/gshtx.h
@@ -23,6 +23,7 @@
#include "gsht1.h"
#include "gxtmap.h"
#include "gscspace.h"
+#include "gsgstate.h"
/*
* The stand-alone halftone structures are opaque, and are placed in an opaque
@@ -43,12 +44,6 @@
#define ht_threshold threshold
#define ht_multiple multiple
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-
-#endif
-
/*
* A "closure" form of gs_mapping_proc. This allows the procedure to access
* client data for the purpose of filling in the transfer information.
diff --git a/base/gsicc_cache.h b/base/gsicc_cache.h
index 999d1919e..a71a37c19 100644
--- a/base/gsicc_cache.h
+++ b/base/gsicc_cache.h
@@ -18,10 +18,9 @@
#ifndef gsicccache_INCLUDED
# define gsicccache_INCLUDED
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
+#include "gsgstate.h"
+#include "gscms.h"
+#include "gxcvalue.h"
#ifndef gx_device_DEFINED
# define gx_device_DEFINED
diff --git a/base/gsicc_profilecache.h b/base/gsicc_profilecache.h
index becbcd42f..efd086046 100644
--- a/base/gsicc_profilecache.h
+++ b/base/gsicc_profilecache.h
@@ -20,6 +20,8 @@
#ifndef gsicc_profilecache_INCLUDED
# define gsicc_profilecache_INCLUDED
+#include "gscms.h"
+
gsicc_profile_cache_t* gsicc_profilecache_new(gs_memory_t *memory);
gs_color_space* gsicc_find_cs(uint64_t key_test, gs_gstate * pgs);
void gsicc_add_cs(gs_gstate * pgs, gs_color_space * pcs, uint64_t dictkey);
diff --git a/base/gsimage.h b/base/gsimage.h
index 30b1b4586..37dea2f7d 100644
--- a/base/gsimage.h
+++ b/base/gsimage.h
@@ -21,6 +21,7 @@
# define gsimage_INCLUDED
#include "gsiparam.h"
+#include "gsgstate.h"
/*
The API defined in this file and implemented in gsimage.c provides a
diff --git a/base/gsiparm2.h b/base/gsiparm2.h
index c846b3458..3081b68ac 100644
--- a/base/gsiparm2.h
+++ b/base/gsiparm2.h
@@ -20,6 +20,7 @@
# define gsiparm2_INCLUDED
#include "gsiparam.h"
+#include "gsgstate.h"
/* Opaque type for a path */
#ifndef gx_path_DEFINED
diff --git a/base/gslib.h b/base/gslib.h
index 517c78039..c2ca117f5 100644
--- a/base/gslib.h
+++ b/base/gslib.h
@@ -20,6 +20,8 @@
#ifndef gslib_INCLUDED
# define gslib_INCLUDED
+#include "std.h"
+
/*
* Initialize the library. gs_lib_init does all of the initialization,
* using the C heap for initial allocation; if a client wants the library to
diff --git a/base/gsline.h b/base/gsline.h
index 46e0192af..89d41f9d8 100644
--- a/base/gsline.h
+++ b/base/gsline.h
@@ -19,6 +19,8 @@
#ifndef gsline_INCLUDED
# define gsline_INCLUDED
+#include "stdpre.h"
+#include "gsgstate.h"
#include "gslparam.h"
/* Procedures */
@@ -58,10 +60,6 @@ int gs_setdotorientation(gs_gstate *);
int gs_dotorientation(gs_gstate *);
/* gs_gstate-level procedures */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
int gs_gstate_setflat(gs_gstate *, double);
bool gs_gstate_currentdashadapt(const gs_gstate *);
bool gs_gstate_currentaccuratecurves(const gs_gstate *);
diff --git a/base/gsmatrix.h b/base/gsmatrix.h
index 8d2196839..ab29bd972 100644
--- a/base/gsmatrix.h
+++ b/base/gsmatrix.h
@@ -19,6 +19,8 @@
#ifndef gsmatrix_INCLUDED
# define gsmatrix_INCLUDED
+#include "gstypes.h"
+
/* See p. 65 of the PostScript manual for the semantics of */
/* transformation matrices. */
diff --git a/base/gsmchunk.h b/base/gsmchunk.h
index 7c62eb602..6790cc5d1 100644
--- a/base/gsmchunk.h
+++ b/base/gsmchunk.h
@@ -19,6 +19,8 @@
#ifndef gsmchunk_INCLUDED
# define gsmchunk_INCLUDED
+#include "std.h"
+
#define CHUNK_SIZE 65536
/* ---------- Public constructors/destructors ---------- */
diff --git a/base/gsmemory.h b/base/gsmemory.h
index 343d1666a..86add3ccc 100644
--- a/base/gsmemory.h
+++ b/base/gsmemory.h
@@ -39,6 +39,7 @@
#ifndef gsmemory_INCLUDED
# define gsmemory_INCLUDED
+#include "std.h"
#include "gstypes.h" /* for gs_bytestring */
#include "gslibctx.h"
diff --git a/base/gsnamecl.h b/base/gsnamecl.h
index 488098893..cbda4309d 100644
--- a/base/gsnamecl.h
+++ b/base/gsnamecl.h
@@ -22,6 +22,7 @@
#include "gsccolor.h"
#include "gscsel.h"
#include "gxcspace.h"
+#include "gsgstate.h"
/*
* Enable custom client callback color processing. Note: There is a sample
@@ -60,16 +61,6 @@ typedef struct gs_color_space_s gs_color_space;
typedef struct gx_device_color_s gx_device_color;
#endif
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
#ifndef gx_device_DEFINED
# define gx_device_DEFINED
typedef struct gx_device_s gx_device;
diff --git a/base/gsovrc.h b/base/gsovrc.h
index e815d5046..21a6d241f 100644
--- a/base/gsovrc.h
+++ b/base/gsovrc.h
@@ -21,6 +21,7 @@
#include "gsstype.h"
#include "gxcomp.h"
+#include "gxcindex.h"
/*
* Overprint compositor.
diff --git a/base/gspaint.h b/base/gspaint.h
index 4909d62d3..90d777e8a 100644
--- a/base/gspaint.h
+++ b/base/gspaint.h
@@ -20,6 +20,9 @@
#ifndef gspaint_INCLUDED
# define gspaint_INCLUDED
+#include "stdpre.h"
+#include "gsgstate.h"
+
/* Painting */
int gs_erasepage(gs_gstate *),
gs_fillpage(gs_gstate *),
diff --git a/base/gsparamx.h b/base/gsparamx.h
index 51f77adc3..5cc60dafc 100644
--- a/base/gsparamx.h
+++ b/base/gsparamx.h
@@ -19,6 +19,10 @@
#ifndef gsparamx_INCLUDED
# define gsparamx_INCLUDED
+#include "stdpre.h"
+#include "gstypes.h"
+#include "gsparam.h"
+
/* Test whether a parameter's string value is equal to a C string. */
bool gs_param_string_eq(const gs_param_string *pcs, const char *str);
diff --git a/base/gspath.h b/base/gspath.h
index 28a1f7656..f3cc419e0 100644
--- a/base/gspath.h
+++ b/base/gspath.h
@@ -20,7 +20,10 @@
#ifndef gspath_INCLUDED
# define gspath_INCLUDED
+#include "std.h"
+#include "gstypes.h"
#include "gspenum.h"
+#include "gsgstate.h"
/*
* Define clamped values for out-of-range coordinates.
@@ -53,10 +56,6 @@ int gs_newpath(gs_gstate *),
gs_rcurveto(gs_gstate *, double, double, double, double, double, double),
gs_closepath(gs_gstate *);
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
#ifndef gx_path_DEFINED
# define gx_path_DEFINED
typedef struct gx_path_s gx_path;
diff --git a/base/gspath2.h b/base/gspath2.h
index 6899c5cce..2e68baef6 100644
--- a/base/gspath2.h
+++ b/base/gspath2.h
@@ -20,6 +20,9 @@
#ifndef gspath2_INCLUDED
# define gspath2_INCLUDED
+#include "gsgstate.h"
+#include "gsmatrix.h"
+
/* Miscellaneous */
int gs_setbbox(gs_gstate *, double, double, double, double);
diff --git a/base/gspcolor.h b/base/gspcolor.h
index 63557b338..e9bebf241 100644
--- a/base/gspcolor.h
+++ b/base/gspcolor.h
@@ -22,6 +22,7 @@
#include "gsccolor.h"
#include "gsrefct.h"
#include "gsuid.h"
+#include "gsgstate.h"
/* ---------------- Types and structures ---------------- */
diff --git a/base/gsrect.h b/base/gsrect.h
index 23cfc6685..3bddddfe5 100644
--- a/base/gsrect.h
+++ b/base/gsrect.h
@@ -19,6 +19,7 @@
#ifndef gsrect_INCLUDED
# define gsrect_INCLUDED
+#include "gstypes.h"
#include "gxfixed.h"
/* Check whether one rectangle is included entirely within another. */
diff --git a/base/gsrefct.h b/base/gsrefct.h
index 90f682cfa..40af91ec1 100644
--- a/base/gsrefct.h
+++ b/base/gsrefct.h
@@ -20,12 +20,7 @@
# define gsrefct_INCLUDED
#include "memento.h"
-
-/* Remove this, hopefully */
-#ifndef gs_memory_DEFINED
-# define gs_memory_DEFINED
-typedef struct gs_memory_s gs_memory_t;
-#endif
+#include "std.h"
/*
* A reference-counted object must include the following header:
diff --git a/base/gsrop.h b/base/gsrop.h
index 5291c26bb..75b65fbc3 100644
--- a/base/gsrop.h
+++ b/base/gsrop.h
@@ -20,6 +20,7 @@
# define gsrop_INCLUDED
#include "gsropt.h"
+#include "gsgstate.h"
/* Procedural interface */
diff --git a/base/gsroprun1.h b/base/gsroprun1.h
index 588d8df14..3ce036864 100644
--- a/base/gsroprun1.h
+++ b/base/gsroprun1.h
@@ -33,6 +33,8 @@
* T will be read from a pointer.
*/
+#if defined(TEMPLATE_NAME)
+
#ifdef SPECIFIC_ROP
#if rop3_uses_S(SPECIFIC_ROP)
#define S_USED
@@ -364,3 +366,7 @@ static void TEMPLATE_NAME(rop_run_op *op, byte *d_, int len)
#undef T_SKEW
#undef TEMPLATE_NAME
#undef ROP_PTRDIFF_T
+
+#else
+int dummy;
+#endif
diff --git a/base/gsroprun24.h b/base/gsroprun24.h
index 92168b0c0..56b47ae84 100644
--- a/base/gsroprun24.h
+++ b/base/gsroprun24.h
@@ -47,6 +47,8 @@
* will assume that this is the case.
*/
+#if defined(TEMPLATE_NAME)
+
#ifdef SPECIFIC_ROP
#if rop3_uses_S(SPECIFIC_ROP)
#define S_USED
@@ -249,3 +251,7 @@ static void TEMPLATE_NAME(rop_run_op *op, byte *d, int len)
#undef T_CONST
#undef T_TRANS
#undef TEMPLATE_NAME
+
+#else
+int dummy;
+#endif
diff --git a/base/gsroprun8.h b/base/gsroprun8.h
index 9fdd1ba78..91fe79b50 100644
--- a/base/gsroprun8.h
+++ b/base/gsroprun8.h
@@ -47,6 +47,8 @@
* will assume that this is the case.
*/
+#if defined(TEMPLATE_NAME)
+
#ifdef SPECIFIC_ROP
#if rop3_uses_S(SPECIFIC_ROP)
#define S_USED
@@ -234,3 +236,7 @@ static void TEMPLATE_NAME(rop_run_op *op, byte *d, int len)
#undef T_CONST
#undef T_TRANS
#undef TEMPLATE_NAME
+
+#else
+int dummy;
+#endif
diff --git a/base/gsropt.h b/base/gsropt.h
index 82d0ddd18..0cb3139b3 100644
--- a/base/gsropt.h
+++ b/base/gsropt.h
@@ -19,6 +19,8 @@
#ifndef gsropt_INCLUDED
# define gsropt_INCLUDED
+#include "stdpre.h"
+
/*
* This file defines the types for some library extensions that are
* motivated by PCL5 and also made available for PostScript:
diff --git a/base/gsserial.h b/base/gsserial.h
index 78a563231..6aa5f0bc6 100644
--- a/base/gsserial.h
+++ b/base/gsserial.h
@@ -18,6 +18,8 @@
#ifndef gsserial_INCLUDED
# define gsserial_INCLUDED
+#include "stdpre.h"
+
/*
* A variable-length, little-endian format for encoding (unsigned)
* integers.
diff --git a/base/gsstate.h b/base/gsstate.h
index a954132ce..9fdd9b579 100644
--- a/base/gsstate.h
+++ b/base/gsstate.h
@@ -19,11 +19,8 @@
#ifndef gsstate_INCLUDED
# define gsstate_INCLUDED
-/* Opaque type for a graphics state */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
+#include "std.h"
+#include "gsgstate.h"
/* opague type for overprint compositor parameters */
#ifndef gs_overprint_params_t_DEFINED
diff --git a/base/gsstrl.h b/base/gsstrl.h
index e0baacf1d..4be091f5a 100644
--- a/base/gsstrl.h
+++ b/base/gsstrl.h
@@ -16,6 +16,8 @@
#ifndef gsstrl_INCLUDED
# define gsstrl_INCLUDED
+#include "stdpre.h"
+
size_t gs_strlcat(char *dst, const char *src, size_t siz);
size_t gs_strlcpy(char *dst, const char *src, size_t siz);
diff --git a/base/gstext.h b/base/gstext.h
index 4587d9c4c..d5364dc67 100644
--- a/base/gstext.h
+++ b/base/gstext.h
@@ -21,6 +21,7 @@
#include "gsccode.h"
#include "gscpm.h"
+#include "gsgstate.h"
/*
* Note that text display must return information to the generic code:
@@ -151,10 +152,6 @@ typedef struct gs_text_enum_s gs_text_enum_t;
# define gx_device_DEFINED
typedef struct gx_device_s gx_device;
#endif
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
#ifndef gx_device_color_DEFINED
# define gx_device_color_DEFINED
typedef struct gx_device_color_s gx_device_color;
@@ -196,10 +193,6 @@ typedef struct gx_clip_path_s gx_clip_path;
dev_proc_text_begin(gx_device_text_begin);
/* Begin processing text with a graphics state. */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
int gs_text_begin(gs_gstate * pgs, const gs_text_params_t * text,
gs_memory_t * mem, gs_text_enum_t ** ppenum);
diff --git a/base/gstiffio.h b/base/gstiffio.h
index 0885ea611..b86eea131 100644
--- a/base/gstiffio.h
+++ b/base/gstiffio.h
@@ -18,7 +18,7 @@
#include <tiffio.h>
#include <tiffvers.h>
-
+#include "gdevprn.h"
TIFF *
tiff_from_filep(gx_device_printer *dev, const char *name, FILE *filep, int big_endian, bool usebigtiff);
diff --git a/base/gstype1.h b/base/gstype1.h
index 1d72c5d40..d4f032bf3 100644
--- a/base/gstype1.h
+++ b/base/gstype1.h
@@ -19,6 +19,10 @@
#ifndef gstype1_INCLUDED
# define gstype1_INCLUDED
+#include "gstypes.h"
+#include "gsgstate.h"
+#include "gsgdata.h"
+
/* ------ Normal client interface ------ */
#define crypt_charstring_seed 4330
diff --git a/base/gstypes.h b/base/gstypes.h
index b5b937990..4a9849ea3 100644
--- a/base/gstypes.h
+++ b/base/gstypes.h
@@ -19,6 +19,8 @@
#ifndef gstypes_INCLUDED
# define gstypes_INCLUDED
+#include "stdpre.h"
+
/*
* Define a type used internally for unique IDs of various kinds
* (primarily, but not exclusively, character and halftone bitmaps).
diff --git a/base/gsuid.h b/base/gsuid.h
index 2f87b2f81..8b1fd7c0a 100644
--- a/base/gsuid.h
+++ b/base/gsuid.h
@@ -19,6 +19,8 @@
#ifndef gsuid_INCLUDED
# define gsuid_INCLUDED
+#include "std.h"
+
/* A unique id (uid) may be either a UniqueID or an XUID. */
/* (XUIDs are a Level 2 feature.) */
#ifndef gs_uid_DEFINED
diff --git a/base/gsutil.h b/base/gsutil.h
index ff7b44973..e44066625 100644
--- a/base/gsutil.h
+++ b/base/gsutil.h
@@ -19,6 +19,9 @@
#ifndef gsutil_INCLUDED
# define gsutil_INCLUDED
+#include "std.h"
+#include "gstypes.h"
+
/* ------ Unique IDs ------ */
/* Generate a block of unique IDs. */
diff --git a/base/gsxfont.h b/base/gsxfont.h
index 8d39bd1e9..56778058e 100644
--- a/base/gsxfont.h
+++ b/base/gsxfont.h
@@ -19,6 +19,8 @@
#ifndef gsxfont_INCLUDED
# define gsxfont_INCLUDED
+#include "stdpre.h"
+
/* Define a character glyph identifier. This is opaque, probably an index */
/* into the font. Glyph identifiers are font-specific. */
typedef ulong gx_xglyph;
diff --git a/base/gx.h b/base/gx.h
index ab60da4e0..1ef33b56f 100644
--- a/base/gx.h
+++ b/base/gx.h
@@ -25,14 +25,6 @@
#include "gstypes.h"
#include "gsmemory.h"
#include "gdebug.h"
-
-/* Define opaque types for the graphics state. */
-/* This is used so pervasively that we define it here, */
-/* rather than at a higher level as perhaps would be more appropriate. */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-
-#endif
+#include "gsgstate.h"
#endif /* gx_INCLUDED */
diff --git a/base/gxband.h b/base/gxband.h
index 2466a508f..e28a8498d 100644
--- a/base/gxband.h
+++ b/base/gxband.h
@@ -20,6 +20,7 @@
# define gxband_INCLUDED
#include "gxclio.h"
+#include "gxdevcli.h"
/* We hold color usage as a bitfield that needs to be at least as wide as
* a gx_color_index - so for simplicity define it that way, even though
diff --git a/base/gxbitfmt.h b/base/gxbitfmt.h
index 2c3ea2b5a..0230e1cf4 100644
--- a/base/gxbitfmt.h
+++ b/base/gxbitfmt.h
@@ -19,6 +19,8 @@
#ifndef gxbitfmt_INCLUDED
# define gxbitfmt_INCLUDED
+#include "stdpre.h"
+
/*
* Several operations, such as the get_bits_rectangle driver procedure, can
* take and/or produce data in a flexible variety of formats; the ability to
diff --git a/base/gxcdevn.h b/base/gxcdevn.h
index 5545c9f19..c99aa83eb 100644
--- a/base/gxcdevn.h
+++ b/base/gxcdevn.h
@@ -19,8 +19,10 @@
#ifndef gxcdevn_INCLUDED
# define gxcdevn_INCLUDED
-#include "gsrefct.h"
#include "gxcindex.h"
+#include "gsccolor.h"
+#include "gxfrac.h"
+#include "gscspace.h"
/* Cache for DeviceN color. Note that currently this is a 1-entry cache. */
#ifndef gs_device_n_map_DEFINED
diff --git a/base/gxchrout.h b/base/gxchrout.h
index 82242c12f..aa8c44d14 100644
--- a/base/gxchrout.h
+++ b/base/gxchrout.h
@@ -19,10 +19,7 @@
#ifndef gxchrout_INCLUDED
# define gxchrout_INCLUDED
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
+#include "gsgstate.h"
/*
* Determine the flatness for rendering a character in an outline font.
diff --git a/base/gxcindex.h b/base/gxcindex.h
index e2286c46b..a0df0928d 100644
--- a/base/gxcindex.h
+++ b/base/gxcindex.h
@@ -20,7 +20,6 @@
# define gxcindex_INCLUDED
#include "stdint_.h" /* for uint64_t and uint32_t */
-#include "gsbitops.h" /* for sample_store inline functions */
/*
* Define the maximum number of components in a device color.
diff --git a/base/gxclip.h b/base/gxclip.h
index b8814a8a3..f4bd7f209 100644
--- a/base/gxclip.h
+++ b/base/gxclip.h
@@ -19,6 +19,8 @@
#ifndef gxclip_INCLUDED
# define gxclip_INCLUDED
+#include "gxdevcli.h"
+
/*
* Both rectangle list and mask clipping use callback procedures to process
* each rectangle selected by the clipping region. They share both the
diff --git a/base/gxclpath.h b/base/gxclpath.h
index ef27e021f..4065af7c4 100644
--- a/base/gxclpath.h
+++ b/base/gxclpath.h
@@ -20,6 +20,9 @@
#ifndef gxclpath_INCLUDED
# define gxclpath_INCLUDED
+#include "gxdevcli.h"
+#include "gxcldev.h"
+
/*
* Define the flags indicating whether a band knows the current values of
* various miscellaneous parameters (pcls->known). The first N flags match
diff --git a/base/gxclthrd.h b/base/gxclthrd.h
index 419a9d292..b11e64b2e 100644
--- a/base/gxclthrd.h
+++ b/base/gxclthrd.h
@@ -20,7 +20,8 @@
#ifndef gxclthrd_INCLUDED
# define gxclthrd_INCLUDED
-#include "gxsync.h"
+#include "gscms.h"
+#include "gxdevcli.h"
/* clone a device and set params and its chunk memory */
/* The chunk_base_mem MUST be thread safe */
diff --git a/base/gxcmap.h b/base/gxcmap.h
index 5273eb88b..f73509813 100644
--- a/base/gxcmap.h
+++ b/base/gxcmap.h
@@ -24,6 +24,7 @@
#include "gxfmap.h"
#include "gscspace.h"
#include "gsdcolor.h"
+#include "gsgstate.h"
#ifndef gx_device_DEFINED
# define gx_device_DEFINED
@@ -33,10 +34,6 @@ typedef struct gx_device_s gx_device;
# define gx_device_color_DEFINED
typedef struct gx_device_color_s gx_device_color;
#endif
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
/* Procedures for rendering colors specified by fractions. */
diff --git a/base/gxcomp.h b/base/gxcomp.h
index 6decd18ea..243ced6cd 100644
--- a/base/gxcomp.h
+++ b/base/gxcomp.h
@@ -22,6 +22,7 @@
#include "gscompt.h"
#include "gsrefct.h"
#include "gxbitfmt.h"
+#include "gsgstate.h"
/*
* Because compositor information is passed through the command list,
@@ -53,11 +54,6 @@
*/
/*typedef struct gs_composite_s gs_composite_t; *//* in gscompt.h */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
#ifndef gx_device_DEFINED
# define gx_device_DEFINED
typedef struct gx_device_s gx_device;
diff --git a/base/gxcoord.h b/base/gxcoord.h
index cbd9bcebd..708661ce2 100644
--- a/base/gxcoord.h
+++ b/base/gxcoord.h
@@ -21,6 +21,7 @@
# define gxcoord_INCLUDED
#include "gscoord.h"
+#include "gxmatrix.h"
/* Set the translation to a fixed value, and translate any existing path. */
/* Used by gschar.c to prepare for a BuildChar or BuildGlyph procedure. */
diff --git a/base/gxcpath.h b/base/gxcpath.h
index 6c97e2234..0bc685c39 100644
--- a/base/gxcpath.h
+++ b/base/gxcpath.h
@@ -20,6 +20,8 @@
#ifndef gxcpath_INCLUDED
# define gxcpath_INCLUDED
+#include "gxdevcli.h"
+
/* We expose the implementation of clipping lists so that clients */
/* can allocate clipping lists or devices on the stack. */
diff --git a/base/gxctable.h b/base/gxctable.h
index 045c349cf..81264a600 100644
--- a/base/gxctable.h
+++ b/base/gxctable.h
@@ -21,6 +21,7 @@
#include "gxfixed.h"
#include "gxfrac.h"
+#include "gstypes.h"
/*
* Define a 3- or 4-D color lookup table.
diff --git a/base/gxdcconv.h b/base/gxdcconv.h
index 0b61806f6..d2232683c 100644
--- a/base/gxdcconv.h
+++ b/base/gxdcconv.h
@@ -19,7 +19,9 @@
#ifndef gxdcconv_INCLUDED
# define gxdcconv_INCLUDED
+#include "std.h"
#include "gxfrac.h"
+#include "gsgstate.h"
/* Color space conversion routines */
frac color_rgb_to_gray(frac r, frac g, frac b,
diff --git a/base/gxdcolor.h b/base/gxdcolor.h
index fe99baa47..78baef9d8 100644
--- a/base/gxdcolor.h
+++ b/base/gxdcolor.h
@@ -24,6 +24,7 @@
#include "gsropt.h"
#include "gsstruct.h" /* for extern_st, GC procs */
#include "stdint_.h" /* for int64_t */
+#include "gsgstate.h"
/* Define opaque types. */
@@ -32,11 +33,6 @@
typedef struct gx_device_s gx_device;
#endif
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
/*
* Define a source structure for RasterOp.
*/
diff --git a/base/gxdda.h b/base/gxdda.h
index 6c89ee0cc..d3293f9be 100644
--- a/base/gxdda.h
+++ b/base/gxdda.h
@@ -20,6 +20,9 @@
#ifndef gxdda_INCLUDED
# define gxdda_INCLUDED
+#include "stdpre.h"
+#include "gxfixed.h"
+
/* We use the familiar Bresenham DDA algorithm for several purposes:
* - tracking the edges when filling trapezoids;
* - tracking the current pixel corner coordinates when rasterizing
diff --git a/base/gxdevbuf.h b/base/gxdevbuf.h
index d430ad369..c4b47330e 100644
--- a/base/gxdevbuf.h
+++ b/base/gxdevbuf.h
@@ -19,6 +19,7 @@
#ifndef gxdevbuf_INCLUDED
# define gxdevbuf_INCLUDED
+#include "gxband.h"
#include "gxrplane.h" /* for _buf_device procedures */
/*
diff --git a/base/gxdevcli.h b/base/gxdevcli.h
index 6bb974e5f..c23babe6f 100644
--- a/base/gxdevcli.h
+++ b/base/gxdevcli.h
@@ -41,6 +41,7 @@
#include "gscms.h"
#include "gxrplane.h"
#include "gxdda.h"
+#include "gsgstate.h"
/* See Drivers.htm for documentation of the driver interface. */
@@ -118,13 +119,6 @@ typedef struct gx_device_s gx_device;
/* ---------------- Auxiliary types and structures ---------------- */
-/* We need at least an abstract type for a graphics state, */
-/* which is passed to the page device procedures. */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
/* We need abstract types for paths and fill/stroke parameters, */
/* for the path-oriented device procedures. */
#ifndef gx_path_DEFINED
@@ -143,10 +137,6 @@ typedef struct gx_fill_params_s gx_fill_params;
# define gx_stroke_params_DEFINED
typedef struct gx_stroke_params_s gx_stroke_params;
#endif
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
#ifndef patch_fill_state_t_DEFINED
# define patch_fill_state_t_DEFINED
typedef struct patch_fill_state_s patch_fill_state_t;
diff --git a/base/gxdevmem.h b/base/gxdevmem.h
index f72ecb606..2e1316e60 100644
--- a/base/gxdevmem.h
+++ b/base/gxdevmem.h
@@ -20,6 +20,7 @@
#ifndef gxdevmem_INCLUDED
# define gxdevmem_INCLUDED
+#include "gxdevcli.h"
#include "gxrplane.h"
/*
diff --git a/base/gxdevndi.h b/base/gxdevndi.h
deleted file mode 100644
index 45254fef0..000000000
--- a/base/gxdevndi.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 2001-2018 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.
-*/
-
-
-/* Interface to gxdevndi.c */
-
-/* This is the halfoning handlers for DeviceN colors */
-
-#ifndef gxdevndi_INCLUDED
-# define gxdevndi_INCLUDED
-
-#include "gxfrac.h"
-
-#ifndef gx_device_halftone_DEFINED
-# define gx_device_halftone_DEFINED
-typedef struct gx_device_halftone_s gx_device_halftone;
-#endif
-
-/* Render a color, possibly by halftoning. */
-/* Return as for gx_render_[device_]gray. */
-int gx_render_device_color_devn(P10(frac red, frac green, frac blue, frac white,
- bool cmyk, gx_color_value alpha,
- gx_device_color * pdevc, gx_device * dev,
- gx_device_halftone * pdht,
- const gs_int_point * ht_phase));
-
-#endif /* gxdevndi_INCLUDED */
diff --git a/base/gxdevrop.h b/base/gxdevrop.h
index f9a116ce6..5118f57e5 100644
--- a/base/gxdevrop.h
+++ b/base/gxdevrop.h
@@ -19,6 +19,8 @@
#ifndef gxdevrop_INCLUDED
# define gxdevrop_INCLUDED
+#include "gxdevcli.h"
+
/* Define an unaligned implementation of [strip_]copy_rop. */
dev_proc_copy_rop(gx_copy_rop_unaligned);
dev_proc_strip_copy_rop(gx_strip_copy_rop_unaligned);
diff --git a/base/gxdevsop.h b/base/gxdevsop.h
index 7dbcc3ce2..d96df2ebd 100644
--- a/base/gxdevsop.h
+++ b/base/gxdevsop.h
@@ -19,6 +19,8 @@
#ifndef gxdevsop_INCLUDED
# define gxdevsop_INCLUDED
+#include "gxdevcli.h"
+
/* This file enumerates a series of device specific operations, that can be
* performed using the 'dev_spec_op' procedure in the gs_device structure.
*
diff --git a/base/gxdht.h b/base/gxdht.h
index 4558e7f26..94730f84e 100644
--- a/base/gxdht.h
+++ b/base/gxdht.h
@@ -26,6 +26,7 @@
#include "gscspace.h"
#include "gxcindex.h"
#include "gxfrac.h"
+#include "gxtmap.h"
/*
* We represent a halftone tile as a rectangular super-cell consisting of
diff --git a/base/gxdhtserial.h b/base/gxdhtserial.h
index 82365f892..7a4efbda8 100644
--- a/base/gxdhtserial.h
+++ b/base/gxdhtserial.h
@@ -19,6 +19,9 @@
#ifndef gxdhtserial_INCLUDED
# define gxdhtserial_INCLUDED
+#include "stdpre.h"
+#include "gsgstate.h"
+
#ifndef gs_memory_DEFINED
# define gs_memory_DEFINED
typedef struct gs_memory_s gs_memory_t;
@@ -34,11 +37,6 @@ typedef struct gx_device_s gx_device;
typedef struct gx_device_halftone_s gx_device_halftone;
#endif
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
/*
* Serialize a halftone.
*
diff --git a/base/gxdither.h b/base/gxdither.h
index 654ec3304..aa9238aa7 100644
--- a/base/gxdither.h
+++ b/base/gxdither.h
@@ -20,6 +20,7 @@
# define gxdither_INCLUDED
#include "gxfrac.h"
+#include "gsdcolor.h"
#ifndef gx_device_halftone_DEFINED
# define gx_device_halftone_DEFINED
diff --git a/base/gxdtfill.h b/base/gxdtfill.h
index 2836c77c9..eacc37246 100644
--- a/base/gxdtfill.h
+++ b/base/gxdtfill.h
@@ -129,6 +129,8 @@ It is computed with the macro 'rational_floor'.
*/
+#if defined(GX_FILL_TRAPEZOID) && defined(EDGE_TYPE)
+
GX_FILL_TRAPEZOID (gx_device * dev, const EDGE_TYPE * left,
const EDGE_TYPE * right, fixed ybot, fixed ytop, int flags,
const gx_device_color * pdevc, FILL_ATTRS fa)
@@ -393,3 +395,7 @@ xit: if (code < 0 && FILL_DIRECT)
#undef CONTIGUOUS_FILL
#undef SWAP_AXES
#undef FLAGS_TYPE
+
+#else
+int dummy;
+#endif
diff --git a/base/gxfapi.h b/base/gxfapi.h
index 8596c6898..20737d435 100644
--- a/base/gxfapi.h
+++ b/base/gxfapi.h
@@ -20,17 +20,13 @@
#include "gsmatrix.h"
#include "gsccode.h"
#include "stdint_.h"
+#include "gsgstate.h"
#ifndef gs_font_base_DEFINED
# define gs_font_base_DEFINED
typedef struct gs_font_base_s gs_font_base;
#endif
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
#ifndef gs_text_enum_DEFINED
# define gs_text_enum_DEFINED
typedef struct gs_text_enum_s gs_text_enum_t;
diff --git a/base/gxfarith.h b/base/gxfarith.h
index 681b6ad04..1148732fd 100644
--- a/base/gxfarith.h
+++ b/base/gxfarith.h
@@ -19,6 +19,7 @@
#ifndef gxfarith_INCLUDED
# define gxfarith_INCLUDED
+#include "stdpre.h"
#include "gxarith.h"
/*
diff --git a/base/gxfcache.h b/base/gxfcache.h
index 193d6a489..ddbe66ab6 100644
--- a/base/gxfcache.h
+++ b/base/gxfcache.h
@@ -26,6 +26,7 @@
#include "gxbcache.h"
#include "gxfixed.h"
#include "gxftype.h"
+#include "gsgstate.h"
/* ------ Font/matrix pair cache entry ------ */
@@ -62,10 +63,6 @@ typedef struct gx_ttfMemory_s gx_ttfMemory;
# define gx_device_spot_analyzer_DEFINED
typedef struct gx_device_spot_analyzer_s gx_device_spot_analyzer;
#endif
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
/*
* Define the entry for a cached (font,matrix) pair. If the UID
diff --git a/base/gxfill.h b/base/gxfill.h
index f90d2489b..c07b5ce14 100644
--- a/base/gxfill.h
+++ b/base/gxfill.h
@@ -19,6 +19,9 @@
#ifndef gxfill_INCLUDED
# define gxfill_INCLUDED
+#include "gzpath.h"
+#include "gxdevcli.h"
+
enum
{
DIR_UP = 1,
diff --git a/base/gxfillsl.h b/base/gxfillsl.h
index f6897ebaf..d28e03be3 100644
--- a/base/gxfillsl.h
+++ b/base/gxfillsl.h
@@ -25,6 +25,8 @@
* TEMPLATE_spot_into_scanlines - the name of the procedure to generate.
*/
+#if defined(TEMPLATE_spot_into_scanlines) && defined(INCR) && defined(LOOP_FILL_RECTANGLE_DIRECT)
+
static int
TEMPLATE_spot_into_scanlines (line_list *ll, fixed band_mask)
{
@@ -238,3 +240,7 @@ TEMPLATE_spot_into_scanlines (line_list *ll, fixed band_mask)
range_list_free(&rlist);
return code;
}
+
+#else
+int dummy;
+#endif
diff --git a/base/gxfilltr.h b/base/gxfilltr.h
index 2eb0c329a..fcf94f425 100644
--- a/base/gxfilltr.h
+++ b/base/gxfilltr.h
@@ -30,6 +30,8 @@
* INSIDE_PATH_P(inside, rule) - a macro for checking the winding rule.
*/
+#if defined(TEMPLATE_spot_into_trapezoids) && defined(INCR) && defined(FILL_ADJUST) && defined(LOOP_FILL_RECTANGLE_DIRECT) && defined(COVERING_PIXEL_CENTERS)
+
/* ---------------- Trapezoid decomposition loop ---------------- */
/* Takes lines off of y_list and adds them to */
@@ -271,3 +273,7 @@ TEMPLATE_spot_into_trapezoids (line_list *ll, fixed band_mask)
}
return 0;
}
+
+#else
+int dummy;
+#endif
diff --git a/base/gxfillts.h b/base/gxfillts.h
index 21d44b084..a14ec1d70 100644
--- a/base/gxfillts.h
+++ b/base/gxfillts.h
@@ -27,6 +27,8 @@
* extend a trapezoid to reduce the total number produced.
*/
+#if defined(LOOP_FILL_RECTANGLE_DIRECT) && defined(TEMPLATE_slant_into_trapezoids) && defined(TRY_TO_EXTEND_TRAP)
+
static inline int
TEMPLATE_slant_into_trapezoids (const line_list *ll,
const active_line *flp, const active_line *alp, fixed y, fixed y1)
@@ -214,3 +216,7 @@ TEMPLATE_slant_into_trapezoids (const line_list *ll,
/* Otherwise, handle it as a slanted trapezoid. */
return fill_slant_adjust(ll, flp, alp, y, y1);
}
+
+#else
+int dummy;
+#endif
diff --git a/base/gxfixed.h b/base/gxfixed.h
index b94316382..886a1d255 100644
--- a/base/gxfixed.h
+++ b/base/gxfixed.h
@@ -19,6 +19,8 @@
#ifndef gxfixed_INCLUDED
# define gxfixed_INCLUDED
+#include "std.h"
+
/*
* Coordinates are generally represented internally by fixed-point
* quantities: integers lose accuracy in crucial places,
diff --git a/base/gxfont0.h b/base/gxfont0.h
index 98fd1b680..b43c57392 100644
--- a/base/gxfont0.h
+++ b/base/gxfont0.h
@@ -19,6 +19,8 @@
#ifndef gxfont0_INCLUDED
# define gxfont0_INCLUDED
+#include "gxfont.h"
+
/* Define the composite font mapping types. */
/* These numbers must be the same as the values of FMapType */
/* in type 0 font dictionaries. */
diff --git a/base/gxfont1.h b/base/gxfont1.h
index 2d487bf36..8e73d0c38 100644
--- a/base/gxfont1.h
+++ b/base/gxfont1.h
@@ -21,6 +21,8 @@
#include "gstype1.h" /* for charstring_interpret_proc */
#include "gxfixed.h"
+#include "gxfapi.h"
+#include "gxfont.h"
/*
* This is the type-specific information for Adobe Type 1 fonts.
diff --git a/base/gxfont42.h b/base/gxfont42.h
index 1fea828d5..7d8a69899 100644
--- a/base/gxfont42.h
+++ b/base/gxfont42.h
@@ -19,6 +19,8 @@
#ifndef gxfont42_INCLUDED
# define gxfont42_INCLUDED
+#include "gxfont.h"
+
#ifndef gs_glyph_cache_DEFINED
# define gs_glyph_cache_DEFINED
typedef struct gs_glyph_cache_s gs_glyph_cache;
diff --git a/base/gxgetbit.h b/base/gxgetbit.h
index fdf0313c2..a4557fe77 100644
--- a/base/gxgetbit.h
+++ b/base/gxgetbit.h
@@ -20,6 +20,7 @@
# define gxgetbit_INCLUDED
#include "gxbitfmt.h"
+#include "gxdevcli.h"
/* The parameter record typedef is also in gxdevcli.h. */
#ifndef gs_get_bits_params_DEFINED
diff --git a/base/gxgstate.h b/base/gxgstate.h
index 1310b1266..6cab2d44c 100644
--- a/base/gxgstate.h
+++ b/base/gxgstate.h
@@ -37,6 +37,7 @@
#include "gscspace.h"
#include "gxdcolor.h"
#include "gxstate.h"
+#include "gsgstate.h"
/*
@@ -275,11 +276,6 @@ typedef struct gs_device_filter_stack_s gs_device_filter_stack_t;
#define gs_current_logical_op_inline(pgs) ((pgs)->log_op)
#define gs_set_logical_op_inline(pgs, lop) ((pgs)->log_op = (lop))
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
struct gs_gstate_s {
gs_memory_t *memory;
void *client_data;
diff --git a/base/gxhintn.h b/base/gxhintn.h
index f35411841..2ded8e065 100644
--- a/base/gxhintn.h
+++ b/base/gxhintn.h
@@ -20,6 +20,9 @@
# define gxhintn_INCLUDED
#include "stdint_.h"
+#include "gxfixed.h"
+#include "gspath.h"
+#include "gsmatrix.h"
#ifndef gs_type1_data_DEFINED
#define gs_type1_data_DEFINED
diff --git a/base/gxhldevc.h b/base/gxhldevc.h
index 4095f32ac..637715422 100644
--- a/base/gxhldevc.h
+++ b/base/gxhldevc.h
@@ -19,6 +19,7 @@
# define gxhldevc_INCLUDED
#include "gsdcolor.h"
+#include "gsgstate.h"
/*
* Most high level devices want more information about the color spaces
@@ -51,11 +52,6 @@
* saving, comparing, and getting high level color information.
*/
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
#ifndef gx_device_color_DEFINED
# define gx_device_color_DEFINED
typedef struct gx_device_color_s gx_device_color;
diff --git a/base/gxht_thresh.h b/base/gxht_thresh.h
index 5573a0c43..6e35def2e 100644
--- a/base/gxht_thresh.h
+++ b/base/gxht_thresh.h
@@ -20,6 +20,10 @@
#ifndef gsht_thresh_INCLUDED
# define gsht_thresh_INCLUDED
+#include "gxdda.h"
+#include "gsiparam.h"
+#include "gxiclass.h"
+
#define RAW_HT_DUMP 0
#define USE_FAST_HT_CODE 1
/* #define PACIFY_VALGRIND */
diff --git a/base/gxhttile.h b/base/gxhttile.h
index 65cb7ae63..17c5e5cbc 100644
--- a/base/gxhttile.h
+++ b/base/gxhttile.h
@@ -20,6 +20,8 @@
#ifndef gxhttile_INCLUDED
# define gxhttile_INCLUDED
+#include "gxbitmap.h"
+
/*
* A halftone tile is just an ordinary bitmap tile, plus a couple of other
* items associated with managing its existence in a tile cache.
diff --git a/base/gxiclass.h b/base/gxiclass.h
index 58d840e4d..ad8690173 100644
--- a/base/gxiclass.h
+++ b/base/gxiclass.h
@@ -19,6 +19,8 @@
#ifndef gxiclass_INCLUDED
# define gxiclass_INCLUDED
+#include "stdpre.h"
+
/* Define the abstract type for the image enumerator state. */
typedef struct gx_image_enum_s gx_image_enum;
diff --git a/base/gxiscale.c b/base/gxiscale.c
index d7bf304ce..526bd4308 100644
--- a/base/gxiscale.c
+++ b/base/gxiscale.c
@@ -40,6 +40,7 @@
#include "sidscale.h" /* for special case downscale filter */
#include "gscindex.h" /* included for proper handling of index color spaces
and keeping data in source color space */
+#include "gsbitops.h"
#include "gxcolor2.h" /* define of float_color_to_byte_color */
#include "gscspace.h" /* Needed for checking is space is CIE */
#include "gsicc_cache.h"
diff --git a/base/gxmatrix.h b/base/gxmatrix.h
index a44c78244..dbc7fea97 100644
--- a/base/gxmatrix.h
+++ b/base/gxmatrix.h
@@ -20,6 +20,7 @@
# define gxmatrix_INCLUDED
#include "gsmatrix.h"
+#include "gxfixed.h"
/* The following switch is for developmenty purpose only.
PRECISE_CURRENTPOINT 0 must not go to production due to no clamping. */
diff --git a/base/gxmclip.h b/base/gxmclip.h
index 75ec52a80..dd8324ac4 100644
--- a/base/gxmclip.h
+++ b/base/gxmclip.h
@@ -21,6 +21,7 @@
# define gxmclip_INCLUDED
#include "gxclip.h"
+#include "gxdevmem.h"
/*
* ImageType 3 images and Patterns that don't completely fill their
diff --git a/base/gxobj.h b/base/gxobj.h
index 2a67130c8..c025e584f 100644
--- a/base/gxobj.h
+++ b/base/gxobj.h
@@ -20,6 +20,7 @@
# define gxobj_INCLUDED
#include "gxbitmap.h"
+#include "gsstruct.h"
#ifndef IGC_PTR_STABILITY_CHECK
# define IGC_PTR_STABILITY_CHECK 0
diff --git a/base/gxoprect.h b/base/gxoprect.h
index 2ea34d26e..1769678d3 100644
--- a/base/gxoprect.h
+++ b/base/gxoprect.h
@@ -19,6 +19,8 @@
#ifndef gxoprect_INCLUDED
#define gxoprect_INCLUDED
+#include "gxdevcli.h"
+
/*
* Perform the fill rectangle operation for a non-separable color encoding
* that requires overprint support.
diff --git a/base/gxp1impl.h b/base/gxp1impl.h
index 88ceec3d8..308dca07d 100644
--- a/base/gxp1impl.h
+++ b/base/gxp1impl.h
@@ -20,6 +20,10 @@
#ifndef gxp1impl_INCLUDED
# define gxp1impl_INCLUDED
+#include "gxdevcli.h"
+#include "gxdcolor.h"
+#include "gxpcolor.h"
+
/*
* Declare the filling algorithms implemented in gxp1fill.c.
* We use 'masked_fill_rect' instead of 'masked_fill_rectangle'
diff --git a/base/gxpaint.h b/base/gxpaint.h
index cad1c99c9..e9bbfe5a4 100644
--- a/base/gxpaint.h
+++ b/base/gxpaint.h
@@ -20,15 +20,8 @@
#ifndef gxpaint_INCLUDED
# define gxpaint_INCLUDED
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
-
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
+#include "gxpath.h"
+#include "gxfixed.h"
#ifndef gx_device_DEFINED
# define gx_device_DEFINED
diff --git a/base/gxpath.h b/base/gxpath.h
index 832173df5..327e72c84 100644
--- a/base/gxpath.h
+++ b/base/gxpath.h
@@ -24,6 +24,7 @@
#include "gslparam.h"
#include "gspenum.h"
#include "gsrect.h"
+#include "gsgstate.h" /* For stroke flattening */
/* The routines and types in this interface use */
/* device, rather than user, coordinates, and fixed-point, */
@@ -260,10 +261,6 @@ gx_path_is_rectangular(const gx_path *, gs_fixed_rect *);
/* Path transformers */
/* The gs_gstate is only needed when flattening for stroke. */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-#endif
int gx_path_copy_reducing(const gx_path * ppath_old, gx_path * ppath_new,
fixed fixed_flatness, const gs_gstate *pgs,
gx_path_copy_options options);
diff --git a/base/gxpcache.h b/base/gxpcache.h
index b897bf1b5..ccec7665d 100644
--- a/base/gxpcache.h
+++ b/base/gxpcache.h
@@ -19,6 +19,8 @@
#ifndef gxpcache_INCLUDED
# define gxpcache_INCLUDED
+#include "std.h"
+
/*
* Define a cache for rendered Patterns. This is currently an open
* hash table with single probing (no reprobing) and round-robin
diff --git a/base/gxsample.h b/base/gxsample.h
index f7e1aae0d..37542513c 100644
--- a/base/gxsample.h
+++ b/base/gxsample.h
@@ -19,6 +19,8 @@
#ifndef gxsample_INCLUDED
# define gxsample_INCLUDED
+#include "std.h"
+
/*
* The following union implements the expansion of sample
* values from N bits to 8, and a possible linear transformation.
diff --git a/base/gxsamplp.h b/base/gxsamplp.h
index a943105c5..1da07ed67 100644
--- a/base/gxsamplp.h
+++ b/base/gxsamplp.h
@@ -26,6 +26,8 @@
TEMPLATE_sample_unpack_8 - a name for the function
*/
+#if defined(TEMPLATE_sample_unpack_1) && defined(TEMPLATE_sample_unpack_2) && defined(TEMPLATE_sample_unpack_4) && defined(TEMPLATE_sample_unpack_8)
+
#if MULTIPLE_MAPS
# define NEXT_MAP map = smap[++smap_index % num_components_per_plane].table.lookup4x1to32
# define NEXT_MAP8 map = smap[++smap_index % num_components_per_plane].table.lookup8
@@ -234,3 +236,8 @@ TEMPLATE_sample_unpack_8(byte * bptr, int *pdata_x, const byte * data, int data_
#undef NEXT_MAP
#undef NEXT_MAP8
#undef DEFINE_SMAP_INDEX
+
+#else
+int dummy;
+#endif
+
diff --git a/base/gxshade4.h b/base/gxshade4.h
index c4c7ca757..fb5e34551 100644
--- a/base/gxshade4.h
+++ b/base/gxshade4.h
@@ -19,6 +19,9 @@
#ifndef gxshade4_INCLUDED
# define gxshade4_INCLUDED
+#include "gxshade.h"
+#include "gxdevcli.h"
+
/* Configuration flags for development needs only. Users should not modify them. */
#define USE_LINEAR_COLOR_PROCS 1 /* Old code = 0, new code = 1. */
diff --git a/base/gxstate.h b/base/gxstate.h
index 329ea6f7f..07a4840f0 100644
--- a/base/gxstate.h
+++ b/base/gxstate.h
@@ -19,12 +19,7 @@
#ifndef gxstate_INCLUDED
# define gxstate_INCLUDED
-/* Opaque type for a graphics state */
-#ifndef gs_gstate_DEFINED
-# define gs_gstate_DEFINED
-typedef struct gs_gstate_s gs_gstate;
-
-#endif
+#include "gsgstate.h"
#include "gscspace.h"
/*
diff --git a/base/gxttf.h b/base/gxttf.h
index a8330179c..d4b5a6bc1 100644
--- a/base/gxttf.h
+++ b/base/gxttf.h
@@ -19,6 +19,8 @@
#ifndef gxttf_INCLUDED
# define gxttf_INCLUDED
+#include "stdpre.h"
+
/* ------ Composite glyf component flags ------ */
#define TT_CG_ARGS_ARE_WORDS (1<<0)
diff --git a/base/gxttfb.h b/base/gxttfb.h
index 79bda4470..bc76b2b0f 100644
--- a/base/gxttfb.h
+++ b/base/gxttfb.h
@@ -20,6 +20,8 @@
# define gxttfb_INCLUDED
#include "ttfoutl.h"
+#include "gxfont.h"
+#include "gslibctx.h"
#ifndef gx_ttfReader_DEFINED
# define gx_ttfReader_DEFINED
diff --git a/base/gxtype1.h b/base/gxtype1.h
index 6b27cf459..4b144da49 100644
--- a/base/gxtype1.h
+++ b/base/gxtype1.h
@@ -23,6 +23,7 @@
#include "gsgdata.h"
#include "gstype1.h"
#include "gxhintn.h"
+#include "gxmatrix.h"
/* This file defines the structures for the state of a Type 1 / */
/* Type 2 charstring interpreter. */
diff --git a/base/gxxfont.h b/base/gxxfont.h
index 7c7e2e75a..9af056ebb 100644
--- a/base/gxxfont.h
+++ b/base/gxxfont.h
@@ -20,7 +20,7 @@
# define gxxfont_INCLUDED
#include "gsccode.h"
-#include "gsmatrix.h"
+#include "gxdevcli.h"
#include "gsuid.h"
#include "gsxfont.h"
diff --git a/base/gzht.h b/base/gzht.h
index 9abd48ba4..f89c45ed0 100644
--- a/base/gzht.h
+++ b/base/gzht.h
@@ -25,6 +25,7 @@
#include "gxfmap.h"
#include "gxdht.h"
#include "gxhttile.h"
+#include "gxdevcli.h"
/* Sort a sampled halftone order by sample value. */
void gx_sort_ht_order(gx_ht_bit *, uint);
diff --git a/base/gzline.h b/base/gzline.h
index 16b3c3151..178079c76 100644
--- a/base/gzline.h
+++ b/base/gzline.h
@@ -20,6 +20,7 @@
# define gzline_INCLUDED
#include "gxline.h"
+#include "gsgstate.h"
/*
* The GC procedures are complex because we must not attempt to follow
diff --git a/base/jmemcust.c b/base/jmemcust.c
index e47cb236e..4e396fdb5 100644
--- a/base/jmemcust.c
+++ b/base/jmemcust.c
@@ -17,7 +17,6 @@
#include "jinclude.h"
#include "jpeglib.h"
-#include "jmemsys.h"
#include "jerror.h"
#include "jmemcust.h"
diff --git a/base/jmemcust.h b/base/jmemcust.h
index bfdfa5cef..28d9d8c24 100644
--- a/base/jmemcust.h
+++ b/base/jmemcust.h
@@ -13,6 +13,13 @@
CA 94945, U.S.A., +1(415)492-9861, for further information.
*/
+#ifndef jmemcust_h_INCLUDED
+# define jmemcust_h_INCLUDED
+
+#include "std.h" /* FILE needed by jpeglib.h */
+#include "jpeglib.h"
+#include "jmemsys.h"
+
typedef JMETHOD(long, j_custmem_init_ptr, (j_common_ptr cinfo));
typedef JMETHOD(void, j_custmem_term_ptr, (j_common_ptr cinfo));
typedef JMETHOD(long, j_custmem_avail_ptr, (j_common_ptr cinfo));
@@ -54,3 +61,5 @@ jpeg_cust_mem_init(jpeg_cust_mem_data *custm, void *priv,
GLOBAL(jpeg_cust_mem_data *)
jpeg_cust_mem_set_private(jpeg_cust_mem_data *custm, void *priv);
+
+#endif
diff --git a/base/lib.mak b/base/lib.mak
index 504c7b865..c7b6ee748 100644
--- a/base/lib.mak
+++ b/base/lib.mak
@@ -66,8 +66,8 @@ GLLCMS2CC=$(CC) $(LCMS2_CFLAGS) $(CFLAGS) $(I_)$(GLI_) $(II)$(LCMS2SRCDIR)$(D)in
lcms2_h=$(LCMS2SRCDIR)$(D)include$(D)lcms2.h
lcms2_plugin_h=$(LCMS2SRCDIR)$(D)include$(D)lcms2_plugin.h
-gdevdcrd_h=$(GLSRC)gdevdcrd.h
-gdevpccm_h=$(GLSRC)gdevpccm.h
+gdevdcrd_h=$(GLSRC)gdevdcrd.h $(gxdevcli_h)
+gdevpccm_h=$(GLSRC)gdevpccm.h $(gxdevcli_h)
gs_mro_e_h=$(GLSRC)gs_mro_e.h
gs_mgl_e_h=$(GLSRC)gs_mgl_e.h
@@ -93,12 +93,12 @@ $(GLGEN)arch.h : $(GENARCH_XE)
# Platform interfaces
# gp.h requires gstypes.h and srdline.h.
-gstypes_h=$(GLSRC)gstypes.h
-srdline_h=$(GLSRC)srdline.h
+gstypes_h=$(GLSRC)gstypes.h $(stdpre_h)
+srdline_h=$(GLSRC)srdline.h $(gstypes_h) $(std_h)
gpgetenv_h=$(GLSRC)gpgetenv.h
-gpmisc_h=$(GLSRC)gpmisc.h
-gp_h=$(GLSRC)gp.h $(gpgetenv_h) $(gstypes_h) $(srdline_h) $(stdint__h) $(gscdefs_h)
-gpcheck_h=$(GLSRC)gpcheck.h
+gpmisc_h=$(GLSRC)gpmisc.h $(gp_h)
+gp_h=$(GLSRC)gp.h $(srdline_h) $(gpgetenv_h) $(gscdefs_h) $(stdint__h) $(gstypes_h)
+gpcheck_h=$(GLSRC)gpcheck.h $(std_h)
gpsync_h=$(GLSRC)gpsync.h $(stdint__h)
# Configuration definitions
@@ -121,23 +121,23 @@ vmsmath_h=$(GLSRC)vmsmath.h
# declare here for use by string__h
gssprintf_h=$(GLSRC)gssprintf.h
gsstrtok_h=$(GLSRC)gsstrtok.h
-gsstrl_h=$(GLSRC)gsstrl.h
+gsstrl_h=$(GLSRC)gsstrl.h $(stdpre_h)
dos__h=$(GLSRC)dos_.h
ctype__h=$(GLSRC)ctype_.h $(std_h)
-dirent__h=$(GLSRC)dirent_.h $(std_h) $(gconfig__h)
+dirent__h=$(GLSRC)dirent_.h $(gconfig__h) $(std_h)
errno__h=$(GLSRC)errno_.h $(std_h)
fcntl__h=$(GLSRC)fcntl_.h $(std_h)
locale__h=$(GLSRC)locale_.h $(std_h) $(MAKEFILE)
-memento_h=$(GLSRC)memento.h $(std_h)
-bobbin_h=$(GLSRC)bobbin.h $(std_h)
-malloc__h=$(GLSRC)malloc_.h $(std_h) $(memento_h) $(bobbin_h)
-math__h=$(GLSRC)math_.h $(std_h) $(vmsmath_h)
+memento_h=$(GLSRC)memento.h
+bobbin_h=$(GLSRC)bobbin.h
+malloc__h=$(GLSRC)malloc_.h $(bobbin_h) $(memento_h) $(std_h)
+math__h=$(GLSRC)math_.h $(vmsmath_h) $(std_h)
memory__h=$(GLSRC)memory_.h $(std_h)
setjmp__h=$(GLSRC)setjmp_.h
stat__h=$(GLSRC)stat_.h $(std_h)
stdio__h=$(GLSRC)stdio_.h $(std_h) $(gssprintf_h)
-string__h=$(GLSRC)string_.h $(std_h) $(gsstrtok_h)
+string__h=$(GLSRC)string_.h $(gsstrtok_h) $(gsstrl_h) $(std_h)
time__h=$(GLSRC)time_.h $(std_h) $(gconfig__h)
unistd__h=$(GLSRC)unistd_.h $(std_h)
windows__h=$(GLSRC)windows_.h
@@ -148,7 +148,7 @@ pipe__h=$(GLSRC)pipe_.h $(stdio__h)
# Third-party library interfaces
jerror_h=$(JSRCDIR)$(D)jerror.h
-jerror__h=$(GLSRC)jerror_.h $(MAKEFILE) $(jerror_h)
+jerror__h=$(GLSRC)jerror_.h $(jerror_h) $(MAKEFILE)
jpeglib__h=$(GLGEN)jpeglib_.h
# Miscellaneous
@@ -156,28 +156,33 @@ jpeglib__h=$(GLGEN)jpeglib_.h
gsio_h=$(GLSRC)gsio.h
gxstdio_h=$(GLSRC)gxstdio.h $(gsio_h)
gs_dll_call_h=$(GLSRC)gs_dll_call.h
-gslibctx_h=$(GLSRC)gslibctx.h $(std_h) $(stdio__h) $(gs_dll_call_h)
-gdebug_h=$(GLSRC)gdebug.h
-gsalloc_h=$(GLSRC)gsalloc.h
-gsargs_h=$(GLSRC)gsargs.h
+gslibctx_h=$(GLSRC)gslibctx.h $(gs_dll_call_h) $(stdio__h) $(std_h)
+gdbflags_h=$(GLSRC)gdbflags.h
+gdebug_h=$(GLSRC)gdebug.h $(gdbflags_h) $(std_h)
+gsalloc_h=$(GLSRC)gsalloc.h $(std_h)
+gsargs_h=$(GLSRC)gsargs.h $(std_h)
gserrors_h=$(GLSRC)gserrors.h
-gsexit_h=$(GLSRC)gsexit.h
-gsgc_h=$(GLSRC)gsgc.h
+gsexit_h=$(GLSRC)gsexit.h $(std_h)
+gsgc_h=$(GLSRC)gsgc.h $(stdpre_h)
+gsgstate_h=$(GLSRC)gsgstate.h
gsmalloc_h=$(GLSRC)gsmalloc.h $(gxsync_h)
-gsmchunk_h=$(GLSRC)gsmchunk.h
+gsmchunk_h=$(GLSRC)gsmchunk.h $(std_h)
valgrind_h=$(GLSRC)valgrind.h $(stdpre_h)
gsmdebug_h=$(GLSRC)gsmdebug.h $(valgrind_h)
gsmemraw_h=$(GLSRC)gsmemraw.h
-gsmemory_h=$(GLSRC)gsmemory.h $(gstypes_h) $(gslibctx_h)
+gsmemory_h=$(GLSRC)gsmemory.h $(gslibctx_h) $(gstypes_h) $(std_h)
gsmemret_h=$(GLSRC)gsmemret.h $(gsmemory_h)
gsnogc_h=$(GLSRC)gsnogc.h $(gsgc_h)
-gsrefct_h=$(GLSRC)gsrefct.h $(memento_h)
-gsserial_h=$(GLSRC)gsserial.h
-gsstype_h=$(GLSRC)gsstype.h
-gx_h=$(GLSRC)gx.h $(stdio__h) $(gdebug_h)\
- $(gsio_h) $(gsmemory_h) $(gstypes_h) $(gserrors_h)
+gsrefct_h=$(GLSRC)gsrefct.h $(memento_h) $(std_h)
+gsserial_h=$(GLSRC)gsserial.h $(stdpre_h)
+gsstype_h=$(GLSRC)gsstype.h $(gsmemory_h)
+gx_h=$(GLSRC)gx.h $(gdebug_h) $(gserrors_h) $(gsio_h) $(gsmemory_h) $(gsgstate_h) $(stdio__h) $(gstypes_h)
gxsync_h=$(GLSRC)gxsync.h $(gpsync_h) $(gsmemory_h)
-gxclthrd_h=$(GLSRC)gxclthrd.h $(gxsync_h)
+gxclthrd_h=$(GLSRC)gxclthrd.h $(gxdevcli_h) $(gscms_h)
+gxdevsop_h=$(GLSRC)gxdevsop.h $(gxdevcli_h)
+gdevflp_h=$(GLSRC)gdevflp.h $(gxdevice_h)
+gdevkrnlsclass_h=$(GLSRC)gdevkrnlsclass.h $(gdevflp_h) $(gdevoflt_h)
+gdevsclass_h=$(GLSRC)gdevsclass.h $(gxdevice_h)
# Out of order
gsnotify_h=$(GLSRC)gsnotify.h $(gsstype_h)
@@ -188,28 +193,28 @@ gsstruct_h=$(GLSRC)gsstruct.h $(gsstype_h)
### Include files
gsbitmap_h=$(GLSRC)gsbitmap.h $(gsstype_h)
-gsbitops_h=$(GLSRC)gsbitops.h
-gsbittab_h=$(GLSRC)gsbittab.h
-gsflip_h=$(GLSRC)gsflip.h
-gsuid_h=$(GLSRC)gsuid.h
-gsutil_h=$(GLSRC)gsutil.h $(gslibctx_h) $(gxstate_h)
+gsbitops_h=$(GLSRC)gsbitops.h $(gxcindex_h) $(gstypes_h)
+gsbittab_h=$(GLSRC)gsbittab.h $(gstypes_h)
+gsflip_h=$(GLSRC)gsflip.h $(stdpre_h)
+gsuid_h=$(GLSRC)gsuid.h $(std_h)
+gsutil_h=$(GLSRC)gsutil.h $(gstypes_h) $(std_h)
gxarith_h=$(GLSRC)gxarith.h
gxbitmap_h=$(GLSRC)gxbitmap.h $(gsbitmap_h) $(gstypes_h)
-gxfarith_h=$(GLSRC)gxfarith.h $(gxarith_h)
-gxfixed_h=$(GLSRC)gxfixed.h
-gxobj_h=$(GLSRC)gxobj.h $(gxbitmap_h)
+gxfarith_h=$(GLSRC)gxfarith.h $(gxarith_h) $(stdpre_h)
+gxfixed_h=$(GLSRC)gxfixed.h $(std_h)
+gxobj_h=$(GLSRC)gxobj.h $(gsstruct_h) $(gxbitmap_h)
gxrplane_h=$(GLSRC)gxrplane.h
# Out of order
-gsrect_h=$(GLSRC)gsrect.h $(gxfixed_h)
-gxalloc_h=$(GLSRC)gxalloc.h $(gsalloc_h) $(gxobj_h)
+gsrect_h=$(GLSRC)gsrect.h $(gxfixed_h) $(gstypes_h)
+gxalloc_h=$(GLSRC)gxalloc.h $(gxobj_h) $(gsalloc_h)
gxbitops_h=$(GLSRC)gxbitops.h $(gsbitops_h)
-gxcindex_h=$(GLSRC)gxcindex.h $(gsbitops_h) $(stdint__h)
-gxfont42_h=$(GLSRC)gxfont42.h
-gstrans_h=$(GLSRC)gstrans.h $(gstparam_h) $(gxcomp_h) $(gsmatrix_h) $(gxblend_h)
+gxcindex_h=$(GLSRC)gxcindex.h $(stdint__h)
+gxfont42_h=$(GLSRC)gxfont42.h $(gxfont_h)
+gstrans_h=$(GLSRC)gstrans.h $(gxblend_h) $(gstparam_h) $(gsmatrix_h) $(gxcomp_h)
# Streams
-scommon_h=$(GLSRC)scommon.h $(gsmemory_h) $(gstypes_h) $(gsstype_h) $(stdint__h)
-stream_h=$(GLSRC)stream.h $(scommon_h) $(srdline_h) $(gxiodev_h)
+scommon_h=$(GLSRC)scommon.h $(gsstype_h) $(gsmemory_h) $(stdint__h) $(gstypes_h)
+stream_h=$(GLSRC)stream.h $(scommon_h) $(gxiodev_h) $(srdline_h)
ramfs_h=$(GLSRC)ramfs.h $(stream_h)
### Memory manager
@@ -391,7 +396,7 @@ $(GLOBJ)gsmd5.$(OBJ) : $(GLSRC)gsmd5.c $(AK) $(gsmd5_h) $(std_h) $(EXP)$(ECHOGS_
$(RM_) $(GLGEN)gsmd5.c $(GLGEN)gsmd5.h
# SHA-256 digest
-sha2_h=$(GLSRC)sha2.h $(std_h) $(stdint__h)
+sha2_h=$(GLSRC)sha2.h $(stdint__h) $(std_h)
sha2_=$(GLOBJ)sha2.$(OBJ)
$(GLOBJ)sha2.$(OBJ) : $(GLSRC)sha2.c $(AK) $(std_h) $(string__h)\
$(sha2_h) $(LIB_MAK) $(MAKEDIRS)
@@ -407,216 +412,189 @@ $(GLOBJ)aes.$(OBJ) : $(GLSRC)aes.c $(AK) $(string__h) $(aes_h) $(LIB_MAK) $(MAKE
### Include files
-gsalpha_h=$(GLSRC)gsalpha.h
-gsccode_h=$(GLSRC)gsccode.h
+gsalpha_h=$(GLSRC)gsalpha.h $(gsgstate_h)
+gsccode_h=$(GLSRC)gsccode.h $(gstypes_h) $(std_h)
gsccolor_h=$(GLSRC)gsccolor.h $(gsstype_h)
# gscedata.[ch] are generated automatically by lib/encs2c.ps.
-gscedata_h=$(GLSRC)gscedata.h
-gscencs_h=$(GLSRC)gscencs.h $(stdpre_h) $(gstypes_h) $(gsccode_h)
-gsclipsr_h=$(GLSRC)gsclipsr.h
+gscedata_h=$(GLSRC)gscedata.h $(stdpre_h)
+gscencs_h=$(GLSRC)gscencs.h $(gsccode_h) $(gstypes_h) $(stdpre_h)
+gsclipsr_h=$(GLSRC)gsclipsr.h $(gsgstate_h)
gscsel_h=$(GLSRC)gscsel.h
-gscolor1_h=$(GLSRC)gscolor1.h
-gscompt_h=$(GLSRC)gscompt.h
-gscoord_h=$(GLSRC)gscoord.h
+gscolor1_h=$(GLSRC)gscolor1.h $(gxtmap_h) $(gsgstate_h) $(stdpre_h)
+gscompt_h=$(GLSRC)gscompt.h $(gstypes_h)
+gscoord_h=$(GLSRC)gscoord.h $(gsmatrix_h) $(gsgstate_h)
gscpm_h=$(GLSRC)gscpm.h
gscsepnm_h=$(GLSRC)gscsepnm.h
-gsdevice_h=$(GLSRC)gsdevice.h
+gsdevice_h=$(GLSRC)gsdevice.h $(gsgstate_h) $(std_h)
gsfcmap_h=$(GLSRC)gsfcmap.h $(gsccode_h)
-gsfname_h=$(GLSRC)gsfname.h
-gsfont_h=$(GLSRC)gsfont.h
+gsfname_h=$(GLSRC)gsfname.h $(std_h)
+gsfont_h=$(GLSRC)gsfont.h $(gsgstate_h) $(gstypes_h) $(std_h)
gsgdata_h=$(GLSRC)gsgdata.h $(gsstype_h)
-gsgcache_h=$(GLSRC)gsgcache.h
-gshsb_h=$(GLSRC)gshsb.h
-gsht_h=$(GLSRC)gsht.h
+gsgcache_h=$(GLSRC)gsgcache.h $(stdpre_h)
+gshsb_h=$(GLSRC)gshsb.h $(gsgstate_h)
+gsht_h=$(GLSRC)gsht.h $(gsgstate_h) $(gstypes_h) $(std_h)
gsht1_h=$(GLSRC)gsht1.h $(gsht_h)
gsjconf_h=$(GLSRC)gsjconf.h $(arch_h) $(stdpre_h)
-gslib_h=$(GLSRC)gslib.h
+gslib_h=$(GLSRC)gslib.h $(std_h)
gslparam_h=$(GLSRC)gslparam.h
-gsmatrix_h=$(GLSRC)gsmatrix.h
+gsmatrix_h=$(GLSRC)gsmatrix.h $(gstypes_h)
# Out of order
-gxbitfmt_h=$(GLSRC)gxbitfmt.h
-gxcomp_h=$(GLSRC)gxcomp.h $(gscompt_h) $(gsrefct_h) $(gxbitfmt_h)
-gsovrc_h=$(GLSRC)gsovrc.h $(gsstype_h) $(gxcomp_h)
-gspaint_h=$(GLSRC)gspaint.h
+gxbitfmt_h=$(GLSRC)gxbitfmt.h $(stdpre_h)
+gxcomp_h=$(GLSRC)gxcomp.h $(gsrefct_h) $(gxbitfmt_h) $(gscompt_h) $(gsgstate_h)
+gsovrc_h=$(GLSRC)gsovrc.h $(gxcomp_h) $(gsstype_h) $(gxcindex_h)
+gspaint_h=$(GLSRC)gspaint.h $(gsgstate_h) $(stdpre_h)
gsparam_h=$(GLSRC)gsparam.h $(gsstype_h)
-gsparams_h=$(GLSRC)gsparams.h $(gsparam_h) $(stream_h)
-gsparamx_h=$(GLSRC)gsparamx.h
-gspath2_h=$(GLSRC)gspath2.h
-gspcolor_h=$(GLSRC)gspcolor.h $(gsccolor_h) $(gsrefct_h) $(gsuid_h)
+gsparams_h=$(GLSRC)gsparams.h $(stream_h) $(gsparam_h)
+gsparamx_h=$(GLSRC)gsparamx.h $(gsparam_h) $(gstypes_h) $(stdpre_h)
+gspath2_h=$(GLSRC)gspath2.h $(gsmatrix_h) $(gsgstate_h)
+gspcolor_h=$(GLSRC)gspcolor.h $(gsrefct_h) $(gsuid_h) $(gsccolor_h) $(gsgstate_h)
gspenum_h=$(GLSRC)gspenum.h
gsptype1_h=$(GLSRC)gsptype1.h $(gspcolor_h) $(gxbitmap_h)
-gsropt_h=$(GLSRC)gsropt.h $(intrin_h)
-gstext_h=$(GLSRC)gstext.h $(gsccode_h) $(gscpm_h)
-gsxfont_h=$(GLSRC)gsxfont.h
+gsropt_h=$(GLSRC)gsropt.h $(stdpre_h)
+gstext_h=$(GLSRC)gstext.h $(gscpm_h) $(gsgstate_h) $(gsccode_h)
+gsxfont_h=$(GLSRC)gsxfont.h $(stdpre_h)
# Out of order
-gschar_h=$(GLSRC)gschar.h $(gsccode_h) $(gscpm_h)
-gsiparam_h=$(GLSRC)gsiparam.h $(gsccolor_h) $(gsmatrix_h) $(gsstype_h) $(gxbitmap_h)
-gsimage_h=$(GLSRC)gsimage.h $(gsiparam_h)
-gsline_h=$(GLSRC)gsline.h $(gslparam_h)
-gspath_h=$(GLSRC)gspath.h $(gspenum_h)
-gsrop_h=$(GLSRC)gsrop.h $(gsropt_h)
-gstparam_h=$(GLSRC)gstparam.h $(gsccolor_h) $(gsrefct_h) $(gscspace_h) $(stdint__h)
+gschar_h=$(GLSRC)gschar.h $(gsstate_h) $(gscpm_h) $(gsccode_h)
+gsiparam_h=$(GLSRC)gsiparam.h $(gsmatrix_h) $(gxbitmap_h) $(gsccolor_h) $(gsstype_h)
+gsimage_h=$(GLSRC)gsimage.h $(gsiparam_h) $(gsgstate_h)
+gsline_h=$(GLSRC)gsline.h $(gslparam_h) $(gsgstate_h) $(stdpre_h)
+gspath_h=$(GLSRC)gspath.h $(gspenum_h) $(gsgstate_h) $(gstypes_h) $(std_h)
+gsrop_h=$(GLSRC)gsrop.h $(gsropt_h) $(gsgstate_h)
+gstparam_h=$(GLSRC)gstparam.h $(gscspace_h) $(gsrefct_h) $(gsccolor_h) $(stdint__h)
gxalpha_h=$(GLSRC)gxalpha.h
gxbcache_h=$(GLSRC)gxbcache.h $(gxbitmap_h)
gxcvalue_h=$(GLSRC)gxcvalue.h
gxclio_h=$(GLSRC)gxclio.h $(gp_h)
-gxclip_h=$(GLSRC)gxclip.h
+gxclip_h=$(GLSRC)gxclip.h $(gxdevcli_h)
gxclipsr_h=$(GLSRC)gxclipsr.h $(gsrefct_h)
-gxcoord_h=$(GLSRC)gxcoord.h $(gscoord_h)
-gxcpath_h=$(GLSRC)gxcpath.h
-gxdda_h=$(GLSRC)gxdda.h
-gxdevbuf_h=$(GLSRC)gxdevbuf.h $(gxrplane_h)
-gxdevrop_h=$(GLSRC)gxdevrop.h
-gxdevmem_h=$(GLSRC)gxdevmem.h $(gxrplane_h)
+gxcoord_h=$(GLSRC)gxcoord.h $(gxmatrix_h) $(gscoord_h)
+gxcpath_h=$(GLSRC)gxcpath.h $(gxdevcli_h)
+gxdda_h=$(GLSRC)gxdda.h $(gxfixed_h) $(stdpre_h)
+gxdevbuf_h=$(GLSRC)gxdevbuf.h $(gxband_h) $(gxrplane_h)
+gxdevrop_h=$(GLSRC)gxdevrop.h $(gxdevcli_h)
+gxdevmem_h=$(GLSRC)gxdevmem.h $(gxdevcli_h) $(gxrplane_h)
gxdhtres_h=$(GLSRC)gxdhtres.h $(stdpre_h)
-gxfont0_h=$(GLSRC)gxfont0.h
+gxfont0_h=$(GLSRC)gxfont0.h $(gxfont_h)
gxfrac_h=$(GLSRC)gxfrac.h
gxftype_h=$(GLSRC)gxftype.h
-gxgetbit_h=$(GLSRC)gxgetbit.h $(gxbitfmt_h)
-gxhttile_h=$(GLSRC)gxhttile.h
+gxgetbit_h=$(GLSRC)gxgetbit.h $(gxdevcli_h) $(gxbitfmt_h)
+gxhttile_h=$(GLSRC)gxhttile.h $(gxbitmap_h)
gxhttype_h=$(GLSRC)gxhttype.h
-gxiclass_h=$(GLSRC)gxiclass.h
-gxiodev_h=$(GLSRC)gxiodev.h $(gsstruct_h) $(stat__h)
-gxline_h=$(GLSRC)gxline.h $(gslparam_h) $(gsmatrix_h) $(math__h)
+gxiclass_h=$(GLSRC)gxiclass.h $(stdpre_h)
+gxiodev_h=$(GLSRC)gxiodev.h $(stat__h) $(gsstype_h)
+gxline_h=$(GLSRC)gxline.h $(math__h) $(gslparam_h) $(gsmatrix_h)
gxlum_h=$(GLSRC)gxlum.h
-gxmatrix_h=$(GLSRC)gxmatrix.h $(gsmatrix_h)
-gxmclip_h=$(GLSRC)gxmclip.h $(gxclip_h)
-gxoprect_h=$(GLSRC)gxoprect.h
-gxp1impl_h=$(GLSRC)gxp1impl.h
-gxpaint_h=$(GLSRC)gxpaint.h
-gxpath_h=$(GLSRC)gxpath.h $(gscpm_h) $(gslparam_h) $(gspenum_h) $(gsrect_h)
-gxpcache_h=$(GLSRC)gxpcache.h
-gxsample_h=$(GLSRC)gxsample.h
+gxmatrix_h=$(GLSRC)gxmatrix.h $(gxfixed_h) $(gsmatrix_h)
+gxmclip_h=$(GLSRC)gxmclip.h $(gxclip_h) $(gxdevmem_h)
+gxoprect_h=$(GLSRC)gxoprect.h $(gxdevcli_h)
+gxp1impl_h=$(GLSRC)gxp1impl.h $(gxpcolor_h) $(gxdcolor_h) $(gxdevcli_h)
+gxpaint_h=$(GLSRC)gxpaint.h $(gxpath_h) $(gxfixed_h)
+gxpath_h=$(GLSRC)gxpath.h $(gspenum_h) $(gsrect_h) $(gslparam_h) $(gscpm_h) $(gsgstate_h)
+gxpcache_h=$(GLSRC)gxpcache.h $(std_h)
+gxsample_h=$(GLSRC)gxsample.h $(std_h)
gxsamplp_h=$(GLSRC)gxsamplp.h
-gxscanc_h=$(GLSRC)gxscanc.h
-gxstate_h=$(GLSRC)gxstate.h $(gscspace_h)
-gxtext_h=$(GLSRC)gxtext.h $(gsrefct_h) $(gstext_h) $(gxfixed_h)
+gxscanc_h=$(GLSRC)gxscanc.h $(gxdevice_h) $(gxpath_h)
+gxstate_h=$(GLSRC)gxstate.h $(gscspace_h) $(gsgstate_h)
+gxtext_h=$(GLSRC)gxtext.h $(gxfixed_h) $(gstext_h) $(gsrefct_h)
gxtmap_h=$(GLSRC)gxtmap.h
-gxxfont_h=$(GLSRC)gxxfont.h $(gsccode_h) $(gsmatrix_h) $(gsuid_h) $(gsxfont_h)
+gxxfont_h=$(GLSRC)gxxfont.h $(gxdevcli_h) $(gsxfont_h) $(gsuid_h) $(gsccode_h)
# The following are out of order because they include other files.
-gxband_h=$(GLSRC)gxband.h $(gxclio_h)
-gxcdevn_h=$(GLSRC)gxcdevn.h $(gsrefct_h) $(gxcindex_h)
+gxband_h=$(GLSRC)gxband.h $(gxdevcli_h) $(gxclio_h)
+gxcdevn_h=$(GLSRC)gxcdevn.h $(gxfrac_h) $(gscspace_h) $(gsccolor_h) $(gxcindex_h)
gxchar_h=$(GLSRC)gxchar.h $(gschar_h) $(gxtext_h)
-gxchrout_h=$(GLSRC)gxchrout.h
-gsdcolor_h=$(GLSRC)gsdcolor.h $(gsccolor_h) $(gscms_h)\
- $(gxarith_h) $(gxbitmap_h) $(gxcindex_h) $(gxhttile_h)
-gxdcolor_h=$(GLSRC)gxdcolor.h\
- $(gscsel_h) $(gsdcolor_h) $(gsropt_h) $(gsstruct_h) $(stdint__h)
-gsnamecl_h=$(GLSRC)gsnamecl.h $(gsccolor_h) $(gscsel_h) $(gxcspace_h)\
- $(gxfrac_h)
+gxchrout_h=$(GLSRC)gxchrout.h $(gsgstate_h)
+gsdcolor_h=$(GLSRC)gsdcolor.h $(gscms_h) $(gxhttile_h) $(gxbitmap_h) $(gsccolor_h) $(gxarith_h) $(gxcindex_h)
+gxdcolor_h=$(GLSRC)gxdcolor.h $(gsropt_h) $(gscsel_h) $(gsdcolor_h) $(gsstruct_h) $(stdint__h) $(gsgstate_h)
+gsnamecl_h=$(GLSRC)gsnamecl.h $(gxcspace_h) $(gxfrac_h) $(gscsel_h) $(gsccolor_h) $(gsgstate_h)
gsncdummy_h=$(GLSRC)gsncdummy.h
-gscspace_h=$(GLSRC)gscspace.h $(gsmemory_h) $(gsrefct_h) $(gsiparam_h)
+gscspace_h=$(GLSRC)gscspace.h $(gsiparam_h) $(gsrefct_h) $(gsmemory_h) $(gsgstate_h)
# FIXME: gscspace_h should depend on $(gscms_h) too.
gscssub_h=$(GLSRC)gscssub.h $(gscspace_h)
-gxdevcli_h=$(GLSRC)gxdevcli.h $(std_h) $(stdint__h)\
- $(gscompt_h) $(gsdcolor_h) $(gsiparam_h) $(gsmatrix_h)\
- $(gsrefct_h) $(gsropt_h) $(gsstruct_h) $(gstparam_h) $(gsxfont_h)\
- $(gxbitmap_h) $(gxcindex_h) $(gxcvalue_h) $(gxfixed_h)\
- $(gxtext_h) $(gxcmap_h) $(gsnamecl_h) $(gscms_h) $(gp_h)
+gxdevcli_h=$(GLSRC)gxdevcli.h $(gxtext_h) $(gsnamecl_h) $(gxcmap_h) $(gxcvalue_h) $(gxdda_h) $(gxfixed_h) $(gxrplane_h) $(gsropt_h) $(gstparam_h) $(gsdcolor_h) $(gscms_h) $(gsstruct_h) $(gsiparam_h) $(gsmatrix_h) $(gsrefct_h) $(gsxfont_h) $(gxbitmap_h) $(gp_h) $(gscompt_h) $(gxcindex_h) $(stdint__h) $(gsgstate_h) $(std_h)
gscicach_h=$(GLSRC)gscicach.h $(gxdevcli_h)
-gxdevice_h=$(GLSRC)gxdevice.h $(stdio__h)\
- $(gsfname_h) $(gsmalloc_h) $(gsparam_h) $(gxdevcli_h) $(gxstdio_h)
-gxdht_h=$(GLSRC)gxdht.h\
- $(gsmatrix_h) $(gsrefct_h) $(gxarith_h) $(gxhttype_h) $(gscspace_h)\
- $(gxcindex_h) $(gxfrac_h)
-gxdhtserial_h=$(GLSRC)gxdhtserial.h
-gxdither_h=$(GLSRC)gxdither.h $(gxfrac_h)
+gxdevice_h=$(GLSRC)gxdevice.h $(gsmalloc_h) $(gxdevcli_h) $(gsparam_h) $(gsfname_h) $(gxstdio_h) $(stdio__h)
+gxdht_h=$(GLSRC)gxdht.h $(gxhttype_h) $(gxfrac_h) $(gxtmap_h) $(gscspace_h) $(gsmatrix_h) $(gsrefct_h) $(gxarith_h) $(gxcindex_h)
+gxdhtserial_h=$(GLSRC)gxdhtserial.h $(gsgstate_h) $(stdpre_h)
+gxdither_h=$(GLSRC)gxdither.h $(gxfrac_h) $(gsdcolor_h)
gxclip2_h=$(GLSRC)gxclip2.h $(gxmclip_h)
gxclipm_h=$(GLSRC)gxclipm.h $(gxmclip_h)
-gxctable_h=$(GLSRC)gxctable.h $(gxfixed_h) $(gxfrac_h)
-gxfcache_h=$(GLSRC)gxfcache.h $(gsccode_h) $(gsuid_h) $(gsxfont_h)\
- $(gxbcache_h) $(gxfixed_h) $(gxftype_h)
-
-gxfont_h=$(GLSRC)gxfont.h\
- $(gsccode_h) $(gsfont_h) $(gsgdata_h) $(gsmatrix_h) $(gsnotify_h)\
- $(gsstype_h) $(gsuid_h)\
- $(gxftype_h)
-gxiparam_h=$(GLSRC)gxiparam.h $(gsstype_h) $(gxdevcli_h)
-gximask_h=$(GLSRC)gximask.h $(gxbitmap_h) $(gsropt_h)
-gscie_h=$(GLSRC)gscie.h $(std_h) $(gsrefct_h) $(gsstype_h) $(gstypes_h) $(gxctable_h)
+gxctable_h=$(GLSRC)gxctable.h $(gxfixed_h) $(gxfrac_h) $(gstypes_h)
+gxfcache_h=$(GLSRC)gxfcache.h $(gxbcache_h) $(gxfixed_h) $(gxftype_h) $(gsxfont_h) $(gsuid_h) $(gsgstate_h) $(gsccode_h)
+
+gxfont_h=$(GLSRC)gxfont.h $(gsnotify_h) $(gsgdata_h) $(gsfont_h) $(gxftype_h) $(gsmatrix_h) $(gsuid_h) $(gsstype_h) $(gsccode_h)
+gxiparam_h=$(GLSRC)gxiparam.h $(gxdevcli_h) $(gsstype_h)
+gximask_h=$(GLSRC)gximask.h $(gsropt_h) $(gxbitmap_h)
+gscie_h=$(GLSRC)gscie.h $(gxctable_h) $(gscspace_h) $(gsstype_h) $(gstypes_h) $(std_h)
gsicc_h=$(GLSRC)gsicc.h $(gscie_h) $(gxcspace_h)
gscrd_h=$(GLSRC)gscrd.h $(gscie_h)
gscrdp_h=$(GLSRC)gscrdp.h $(gscie_h) $(gsparam_h)
gscdevn_h=$(GLSRC)gscdevn.h $(gscspace_h)
gxdevndi_h=$(GLSRC)gxdevndi.h $(gxfrac_h)
-gscindex_h=$(GLSRC)gscindex.h $(gscspace_h) $(gxfrac_h)
+gscindex_h=$(GLSRC)gscindex.h $(gxfrac_h) $(gscspace_h)
gscolor2_h=$(GLSRC)gscolor2.h $(gscindex_h) $(gsptype1_h)
gscsepr_h=$(GLSRC)gscsepr.h $(gscspace_h)
-gxdcconv_h=$(GLSRC)gxdcconv.h $(gxfrac_h)
-gxfmap_h=$(GLSRC)gxfmap.h $(gsrefct_h) $(gsstype_h) $(gxfrac_h) $(gxtmap_h)
-gxcmap_h=$(GLSRC)gxcmap.h $(gscsel_h) $(gxcindex_h) $(gxcvalue_h) $(gxfmap_h)\
- $(gscspace_h)
-
-gxgstate_h=$(GLSRC)gxgstate.h\
- $(gscsel_h) $(gsrefct_h) $(gsropt_h) $(gstparam_h) $(gxcvalue_h) $(gxcmap_h)\
- $(gxfixed_h) $(gxline_h) $(gxmatrix_h) $(gxtmap_h) $(gscspace_h) $(gstrans_h)\
- $(gsnamecl_h) $(gscms_h)
-
-gxcolor2_h=$(GLSRC)gxcolor2.h\
- $(gscolor2_h) $(gsmatrix_h) $(gsrefct_h) $(gxbitmap_h)
-gxclist_h=$(GLSRC)gxclist.h $(gscspace_h)\
- $(gxband_h) $(gxbcache_h) $(gxclio_h) $(gxdevbuf_h) $(gxgstate_h)\
- $(gxrplane_h) $(gscms_h) $(gxcolor2_h)
-gxcspace_h=$(GLSRC)gxcspace.h\
- $(gscspace_h) $(gsccolor_h) $(gscsel_h) $(gxfrac_h) $(gxcindex_h)
-gxht_h=$(GLSRC)gxht.h $(gsht1_h) $(gsrefct_h) $(gxhttype_h) $(gxtmap_h) $(gscspace_h)
+gxdcconv_h=$(GLSRC)gxdcconv.h $(gxfrac_h) $(gsgstate_h) $(std_h)
+gxfmap_h=$(GLSRC)gxfmap.h $(gxfrac_h) $(gxtmap_h) $(gsrefct_h) $(gsstype_h)
+gxcmap_h=$(GLSRC)gxcmap.h $(gxfmap_h) $(gxcvalue_h) $(gscsel_h) $(gsdcolor_h) $(gscspace_h) $(gxcindex_h) $(gsgstate_h)
+
+gxgstate_h=$(GLSRC)gxgstate.h $(gxmatrix_h) $(gstrans_h) $(gxstate_h) $(gxdcolor_h) $(gxline_h) $(gsnamecl_h) $(gxcmap_h) $(gxcvalue_h) $(gxfixed_h) $(gsropt_h) $(gxtmap_h) $(gscsel_h) $(gstparam_h) $(gscms_h) $(gscspace_h) $(gsrefct_h) $(gscpm_h) $(gsgstate_h)
+
+gxcolor2_h=$(GLSRC)gxcolor2.h $(gscolor2_h) $(gsmatrix_h) $(gsrefct_h) $(gxbitmap_h)
+gxclist_h=$(GLSRC)gxclist.h $(gxcolor2_h) $(gxgstate_h) $(gxdevbuf_h) $(gxbcache_h) $(gxband_h) $(gxrplane_h) $(gscms_h) $(gscspace_h) $(gxclio_h)
+gxcspace_h=$(GLSRC)gxcspace.h $(gxfrac_h) $(gscsel_h) $(gscspace_h) $(gsccolor_h) $(gxcindex_h)
+gxht_h=$(GLSRC)gxht.h $(gxhttype_h) $(gsht1_h) $(gxtmap_h) $(gscspace_h) $(gsrefct_h)
gxcie_h=$(GLSRC)gxcie.h $(gscie_h) $(gsnamecl_h)
-gxht_thresh_h=$(GLSRC)gxht_thresh.h
-gxpcolor_h=$(GLSRC)gxpcolor.h\
- $(gspcolor_h) $(gxcspace_h) $(gxdevice_h) $(gxdevmem_h) $(gxpcache_h) $(gxblend_h)\
- $(gxcpath_h) $(gxdcolor_h) $(gxiclass_h)
-gscolor_h=$(GLSRC)gscolor.h $(gxtmap_h)
-gsstate_h=$(GLSRC)gsstate.h\
- $(gscolor_h) $(gscpm_h) $(gscsel_h) $(gsdevice_h) $(gsht_h) $(gsline_h)
+gxht_thresh_h=$(GLSRC)gxht_thresh.h $(gxiclass_h) $(gxdda_h) $(gsiparam_h)
+gxpcolor_h=$(GLSRC)gxpcolor.h $(gxcpath_h) $(gxdevmem_h) $(gxblend_h) $(gxdevice_h) $(gxdcolor_h) $(gxiclass_h) $(gxpcache_h) $(gxcspace_h) $(gspcolor_h)
+gscolor_h=$(GLSRC)gscolor.h $(gxtmap_h) $(gsgstate_h) $(stdpre_h)
+gsstate_h=$(GLSRC)gsstate.h $(gsline_h) $(gscolor_h) $(gscsel_h) $(gsht_h) $(gsdevice_h) $(gscpm_h) $(gsgstate_h) $(std_h)
gsicc_create_h=$(GLSRC)gsicc_create.h $(gscie_h)
-gximdecode_h=$(GLSRC)gximdecode.h $(gx_h) $(gxfixed_h) $(gximage_h) $(gxsample_h) $(gxfrac_h)
+gximdecode_h=$(GLSRC)gximdecode.h $(gximage_h) $(gxsample_h) $(gx_h) $(gxfixed_h) $(gxfrac_h)
gzacpath_h=$(GLSRC)gzacpath.h $(gxcpath_h)
-gzcpath_h=$(GLSRC)gzcpath.h $(gxcpath_h) $(gzpath_h)
-gzht_h=$(GLSRC)gzht.h $(gscsel_h)\
- $(gxdht_h) $(gxfmap_h) $(gxht_h) $(gxhttile_h)
-gzline_h=$(GLSRC)gzline.h $(gxline_h)
-gzpath_h=$(GLSRC)gzpath.h $(gsmatrix_h) $(gsrefct_h) $(gsstype_h) $(gxpath_h)
-gzstate_h=$(GLSRC)gzstate.h $(gscpm_h) $(gscspace_h) $(gsrefct_h) $(gsstate_h)\
- $(gxdcolor_h) $(gxgstate_h) $(gxstate_h)
-
-gdevbbox_h=$(GLSRC)gdevbbox.h
-gdevmem_h=$(GLSRC)gdevmem.h $(gxbitops_h)
-gdevmpla_h=$(GLSRC)gdevmpla.h
-gdevmrop_h=$(GLSRC)gdevmrop.h
+gzcpath_h=$(GLSRC)gzcpath.h $(gzpath_h) $(gxcpath_h)
+gzht_h=$(GLSRC)gzht.h $(gxdht_h) $(gxht_h) $(gxdevcli_h) $(gxfmap_h) $(gscsel_h) $(gxhttile_h)
+gzline_h=$(GLSRC)gzline.h $(gxline_h) $(gsgstate_h)
+gzpath_h=$(GLSRC)gzpath.h $(gxpath_h) $(gsmatrix_h) $(gsrefct_h) $(gsstype_h)
+gzstate_h=$(GLSRC)gzstate.h $(gxgstate_h) $(gsstate_h)
+
+gdevbbox_h=$(GLSRC)gdevbbox.h $(gxdevcli_h)
+gdevmem_h=$(GLSRC)gdevmem.h $(gxdevcli_h) $(gxbitops_h)
+gdevmpla_h=$(GLSRC)gdevmpla.h $(gxrplane_h) $(gsdevice_h)
+gdevmrop_h=$(GLSRC)gdevmrop.h $(gxdevcli_h) $(gsropt_h)
gdevmrun_h=$(GLSRC)gdevmrun.h $(gxdevmem_h)
-gdevplnx_h=$(GLSRC)gdevplnx.h $(gxrplane_h)
+gdevplnx_h=$(GLSRC)gdevplnx.h $(gxdevcli_h) $(gxrplane_h)
gdevepo_h=$(GLSRC)gdevepo.h $(gxdevice_h)
-sa85d_h=$(GLSRC)sa85d.h
+sa85d_h=$(GLSRC)sa85d.h $(scommon_h)
sa85x_h=$(GLSRC)sa85x.h $(sa85d_h)
-sbcp_h=$(GLSRC)sbcp.h
-sbtx_h=$(GLSRC)sbtx.h
-scanchar_h=$(GLSRC)scanchar.h
-sfilter_h=$(GLSRC)sfilter.h $(gstypes_h)
-sdct_h=$(GLSRC)sdct.h $(setjmp__h) $(gscms_h)
-shc_h=$(GLSRC)shc.h $(gsbittab_h) $(scommon_h)
-sisparam_h=$(GLSRC)sisparam.h $(gxdda_h) $(gxfixed_h)
-sjpeg_h=$(GLSRC)sjpeg.h
-slzwx_h=$(GLSRC)slzwx.h
-smd5_h=$(GLSRC)smd5.h $(gsmd5_h)
+sbcp_h=$(GLSRC)sbcp.h $(scommon_h)
+sbtx_h=$(GLSRC)sbtx.h $(scommon_h)
+scanchar_h=$(GLSRC)scanchar.h $(scommon_h)
+sfilter_h=$(GLSRC)sfilter.h $(scommon_h) $(gstypes_h)
+sdct_h=$(GLSRC)sdct.h $(strimpl_h) $(setjmp__h) $(gscms_h)
+shc_h=$(GLSRC)shc.h $(scommon_h) $(gsbittab_h)
+sisparam_h=$(GLSRC)sisparam.h $(gxdda_h) $(gxfixed_h) $(scommon_h)
+sjpeg_h=$(GLSRC)sjpeg.h $(sdct_h)
+slzwx_h=$(GLSRC)slzwx.h $(scommon_h)
+smd5_h=$(GLSRC)smd5.h $(gsmd5_h) $(scommon_h)
sarc4_h=$(GLSRC)sarc4.h $(scommon_h)
-saes_h=$(GLSRC)saes.h $(scommon_h) $(aes_h)
-sjbig2_h=$(GLSRC)sjbig2.h $(stdint__h) $(scommon_h)
+saes_h=$(GLSRC)saes.h $(aes_h) $(scommon_h)
+sjbig2_h=$(GLSRC)sjbig2.h $(scommon_h) $(stdint__h)
sjbig2_luratech_h=$(GLSRC)sjbig2_luratech.h $(scommon_h)
sjpx_h=$(GLSRC)sjpx.h $(scommon_h)
sjpx_luratech_h=$(GLSRC)sjpx_luratech.h $(scommon_h)
sjpx_openjpeg_h=$(GLSRC)sjpx_openjpeg.h $(scommon_h) $(openjpeg_h)
-spdiffx_h=$(GLSRC)spdiffx.h
-spngpx_h=$(GLSRC)spngpx.h
-spprint_h=$(GLSRC)spprint.h
+spdiffx_h=$(GLSRC)spdiffx.h $(scommon_h)
+spngpx_h=$(GLSRC)spngpx.h $(scommon_h)
+spprint_h=$(GLSRC)spprint.h $(stdpre_h)
spsdf_h=$(GLSRC)spsdf.h $(gsparam_h)
-srlx_h=$(GLSRC)srlx.h
-spwgx_h=$(GLSRC)spwgx.h
-sstring_h=$(GLSRC)sstring.h
-strimpl_h=$(GLSRC)strimpl.h $(scommon_h) $(gstypes_h) $(gsstruct_h)
-szlibx_h=$(GLSRC)szlibx.h
+srlx_h=$(GLSRC)srlx.h $(scommon_h)
+spwgx_h=$(GLSRC)spwgx.h $(scommon_h)
+sstring_h=$(GLSRC)sstring.h $(scommon_h)
+strimpl_h=$(GLSRC)strimpl.h $(scommon_h) $(gsstruct_h) $(gstypes_h)
+szlibx_h=$(GLSRC)szlibx.h $(scommon_h)
zlib_h=$(ZSRCDIR)$(D)zlib.h
# We have two of the following, for shared zlib (_1)
# and 'local' zlib (_0)
@@ -628,30 +606,28 @@ scfx_h=$(GLSRC)scfx.h $(shc_h)
siinterp_h=$(GLSRC)siinterp.h $(sisparam_h)
siscale_h=$(GLSRC)siscale.h $(sisparam_h)
sidscale_h=$(GLSRC)sidscale.h $(sisparam_h)
-simscale_h=$(GLSRC)simscale.h
-gximage_h=$(GLSRC)gximage.h $(gsiparam_h)\
- $(gxcspace_h) $(gxdda_h) $(gxiclass_h) $(gxiparam_h) $(gxsample_h)\
- $(sisparam_h) $(strimpl_h) $(gscms_h)
-gxhldevc_h=$(GLSRC)gxhldevc.h $(gsdcolor_h)
-gsptype2_h=$(GLSRC)gsptype2.h $(gspcolor_h) $(gsdcolor_h) $(gxfixed_h)
-gdevddrw_h=$(GLSRC)gdevddrw.h
-gxfill_h=$(GLSRC)gxfill.h
+simscale_h=$(GLSRC)simscale.h $(sisparam_h)
+gximage_h=$(GLSRC)gximage.h $(gxiclass_h) $(strimpl_h) $(gxsample_h) $(gxiparam_h) $(gxcspace_h) $(sisparam_h) $(gxdda_h) $(gscms_h) $(gsiparam_h)
+gxhldevc_h=$(GLSRC)gxhldevc.h $(gsdcolor_h) $(gsgstate_h)
+gsptype2_h=$(GLSRC)gsptype2.h $(gxfixed_h) $(gspcolor_h) $(gsdcolor_h)
+gdevddrw_h=$(GLSRC)gdevddrw.h $(gxdevcli_h)
+gxfill_h=$(GLSRC)gxfill.h $(gzpath_h) $(gxdevcli_h)
gxfilltr_h=$(GLSRC)gxfilltr.h
gxfillsl_h=$(GLSRC)gxfillsl.h
gxfillts_h=$(GLSRC)gxfillts.h
gxdtfill_h=$(GLSRC)gxdtfill.h
-ttfoutl_h=$(GLSRC)ttfoutl.h $(memento_h)
-gxttfb_h = $(GLSRC)gxttfb.h $(ttfoutl_h)
-gzspotan_h = $(GLSRC)gzspotan.h $(gxdevcli_h)
+ttfoutl_h=$(GLSRC)ttfoutl.h $(malloc__h)
+gxttfb_h=$(GLSRC)gxttfb.h $(ttfoutl_h) $(gxfont_h) $(gslibctx_h)
+gzspotan_h=$(GLSRC)gzspotan.h $(gxdevcli_h)
gdevpxen_h=$(GLSRC)gdevpxen.h
gdevpxat_h=$(GLSRC)gdevpxat.h
gdevpxop_h=$(GLSRC)gdevpxop.h
-gsequivc_h=$(GLSRC)gsequivc.h
-gdevdevn_h=$(GLSRC)gdevdevn.h $(gsequivc_h)
-gdevdevnprn_h=$(GLSRC)gdevdevnprn.h
+gsequivc_h=$(GLSRC)gsequivc.h $(gxdevcli_h) $(gxfrac_h) $(gxcindex_h) $(stdpre_h)
+gdevdevn_h=$(GLSRC)gdevdevn.h $(gsequivc_h) $(gxblend_h)
+gdevdevnprn_h=$(GLSRC)gdevdevnprn.h $(gdevprn_h) $(gdevdevn_h)
gdevoflt_h=$(GLSRC)gdevoflt.h $(gxdevice_h)
@@ -1189,7 +1165,7 @@ $(GLD)bbox.dev : $(ECHOGS_XE) $(LIB_MAK) $(GLOBJ)gdevbbox.$(OBJ) $(LIB_MAK) $(MA
$(GLOBJ)gdevbbox.$(OBJ) : $(GLSRC)gdevbbox.c $(AK) $(gx_h)\
$(gserrors_h) $(math__h) $(memory__h) $(gdevbbox_h) $(gsdevice_h) $(gsparam_h)\
$(gxcpath_h) $(gxdcolor_h) $(gxdevice_h) $(gxiparam_h) $(gxgstate_h)\
- $(gxpaint_h) $(gxpath_h) $(LIB_MAK) $(MAKEDIRS)
+ $(gxpaint_h) $(gxpath_h) $(gdevkrnlsclass_h) $(LIB_MAK) $(MAKEDIRS)
$(GLCC) $(GLO_)gdevbbox.$(OBJ) $(C_) $(GLSRC)gdevbbox.c
$(GLOBJ)gdevhit.$(OBJ) : $(GLSRC)gdevhit.c $(AK) $(std_h)\
@@ -1250,16 +1226,16 @@ $(GLOBJ)gdevnfwd.$(OBJ) : $(GLSRC)gdevnfwd.c $(AK) $(gx_h)\
# ---------------- Font API ---------------- #
-gxfapi_h=$(GLSRC)gxfapi.h $(gsmemory_h) $(gsmatrix_h) $(gsccode_h) $(stdint__h)
+gxfapi_h=$(GLSRC)gxfapi.h $(gsmatrix_h) $(gsmemory_h) $(stdint__h) $(gsgstate_h) $(gsccode_h)
# stub for UFST bridge support :
$(GLD)gxfapiu.dev : $(LIB_MAK) $(ECHOGS_XE) $(LIB_MAK) $(MAKEDIRS)
$(SETMOD) $(GLD)gxfapiu
-wrfont_h=$(stdpre_h) $(std_h) $(GLSRC)wrfont.h
-write_t1_h=$(gxfapi_h) $(GLSRC)write_t1.h
-write_t2_h=$(gxfapi_h) $(GLSRC)write_t2.h
+wrfont_h=$(GLSRC)wrfont.h $(std_h) $(stdpre_h)
+write_t1_h=$(GLSRC)write_t1.h $(gxfapi_h)
+write_t2_h=$(GLSRC)write_t2.h $(gxfapi_h)
$(GLOBJ)write_t1.$(OBJ) : $(GLSRC)write_t1.c $(AK)\
$(wrfont_h) $(write_t1_h) $(LIB_MAK) $(MAKEDIRS)
@@ -1329,7 +1305,7 @@ $(GLOBJ)gdevemap.$(OBJ) : $(GLSRC)gdevemap.c $(AK) $(std_h) $(LIB_MAK) $(MAKEDIR
$(GLCC) $(GLO_)gdevemap.$(OBJ) $(C_) $(GLSRC)gdevemap.c
# ----------- Trapping routines ------------ #
-claptrap_h=$(GLSRC)claptrap.h $(std_h) $(stdpre_h)
+claptrap_h=$(GLSRC)claptrap.h $(gsmemory_h) $(std_h) $(stdpre_h)
claptrap_impl_h=$(GLSRC)claptrap-impl.h
claptrap=$(GLOBJ)claptrap.$(OBJ) $(GLOBJ)claptrap-init.$(OBJ) \
$(GLOBJ)claptrap-planar.$(OBJ)
@@ -1347,17 +1323,16 @@ $(GLOBJ)claptrap-planar.$(OBJ) : $(GLSRC)claptrap-planar.c $(AK) \
$(GLCC) $(GLO_)claptrap-planar.$(OBJ) $(C_) $(GLSRC)claptrap-planar.c
# ----------- ETS routines ------------ #
-ets_h=$(GLSRC)ets.h
-ets_impl_h=$(GLSRC)ets_tm.h
+ets_h=$(GLSRC)ets.h $(stdpre_h)
+ets_tm_h=$(GLSRC)ets_tm.h
ets=$(GLOBJ)ets.$(OBJ)
$(GLOBJ)ets.$(OBJ) : $(GLSRC)ets.c $(AK) \
- $(ets_h) $(ets_impl_h) $(LIB_MAK) $(MAKEDIRS)
+ $(ets_h) $(ets_tm_h) $(LIB_MAK) $(MAKEDIRS)
$(GLCC) $(GLO_)ets.$(OBJ) $(C_) $(GLSRC)ets.c
# ----------- Downsampling routines ------------ #
-gxdownscale_h=$(GLSRC)gxdownscale.h $(gsmemory_h) $(gxdevcli_h) $(ctype__h) \
- $(gstypes_h) $(gxgetbit_h) $(claptrap_h)
+gxdownscale_h=$(GLSRC)gxdownscale.h $(gxgetbit_h) $(gxdevcli_h) $(claptrap_h) $(gsmemory_h) $(ctype__h) $(gstypes_h)
downscale_=$(GLOBJ)gxdownscale.$(OBJ) $(claptrap) $(ets)
$(GLOBJ)gxdownscale.$(OBJ) : $(GLSRC)gxdownscale.c $(AK) $(string__h) \
@@ -1511,7 +1486,7 @@ $(GLOBJ)sfxboth.$(OBJ) : $(GLSRC)sfxboth.c $(GLSRC)sfxstdio.c $(GLSRC)sfxfd.c\
$(AK) $(LIB_MAK) $(MAKEDIRS)
$(GLCC) $(GLO_)sfxboth.$(OBJ) $(C_) $(GLSRC)sfxboth.c
-strmio_h=$(GLSRC)strmio.h
+strmio_h=$(GLSRC)strmio.h $(scommon_h)
$(GLOBJ)strmio.$(OBJ) : $(GLSRC)strmio.c $(AK) $(malloc__h)\
$(memory__h) $(gdebug_h) $(gsfname_h) $(gslibctx_h) $(gsstype_h)\
@@ -1568,7 +1543,7 @@ $(GLOBJ)scfparam.$(OBJ) : $(GLSRC)scfparam.c $(AK) $(std_h)\
# Common code
-sdcparam_h=$(GLSRC)sdcparam.h
+sdcparam_h=$(GLSRC)sdcparam.h $(sdct_h) $(gsparam_h)
sdctc_=$(GLOBJ)sdctc.$(OBJ) $(GLOBJ)sjpegc.$(OBJ)
@@ -1743,7 +1718,7 @@ $(GLOBJ)smd5.$(OBJ) : $(GLSRC)smd5.c $(AK) $(memory__h)\
# -------------- SHA-256 digest filter -------------- #
-ssha2_h=$(GLSRC)ssha2.h $(sha2_h)
+ssha2_h=$(GLSRC)ssha2.h $(sha2_h) $(scommon_h)
ssha2_=$(GLOBJ)ssha2.$(OBJ)
$(GLD)ssha2.dev : $(LIB_MAK) $(ECHOGS_XE) $(ssha2_) $(sha2_) \
$(LIB_MAK) $(MAKEDIRS)
@@ -2019,10 +1994,8 @@ $(GLOBJ)szlibd.$(OBJ) : $(GLOBJ)szlibd_$(SHARE_ZLIB).$(OBJ) $(LIB_MAK) $(MAKEDIR
# We include this here, rather than in devs.mak, because it is more like
# a feature than a simple device.
-gdevprn_h=$(GLSRC)gdevprn.h $(gdevflp_h) $(gdevepo_h) $(gdevmplt_h) $(memory__h) $(string__h) $(gp_h) $(gx_h)\
- $(gserrors_h) $(gsmatrix_h) $(gsparam_h) $(gsutil_h) $(gxclpage_h)\
- $(gxclist_h) $(gxdevice_h) $(gxdevmem_h) $(gxrplane_h) $(gxclthrd_h) $(gxflp_h) $(gdevsclass_h)\
- $(gdevoflt_h) $(gdevkrnlsclass_h)
+gdevprn_h=$(GLSRC)gdevprn.h $(gxclpage_h) $(gxclist_h) $(string__h) $(gxdevmem_h) $(gxdevice_h) $(gxclthrd_h) $(gx_h) $(gxrplane_h) $(gsparam_h) $(gsmatrix_h) $(memory__h) $(gsutil_h) $(gserrors_h) $(gp_h)
+gdevmplt_h=$(GLSRC)gdevmplt.h $(gxdevice_h)
page_=$(GLOBJ)gdevprn.$(OBJ) $(GLOBJ)gdevppla.$(OBJ) $(GLOBJ)gdevmplt.$(OBJ) $(GLOBJ)gdevflp.$(OBJ)\
$(downscale_) $(GLOBJ)gdevoflt.$(OBJ) $(GLOBJ)gdevsclass.$(OBJ) $(GLOBJ)gdevepo.$(OBJ)
@@ -2033,7 +2006,7 @@ $(GLD)page.dev : $(LIB_MAK) $(ECHOGS_XE) $(page_) $(LIB_MAK) $(MAKEDIRS)
$(GLOBJ)gdevprn.$(OBJ) : $(GLSRC)gdevprn.c $(ctype__h)\
$(gdevprn_h) $(gp_h) $(gsdevice_h) $(gsfname_h) $(gsparam_h)\
- $(gxclio_h) $(gxgetbit_h) $(gdevplnx_h) $(gstrans_h) \
+ $(gxclio_h) $(gxgetbit_h) $(gdevplnx_h) $(gstrans_h) $(gdevkrnlsclass_h) \
$(gxdownscale_h) $(gdevdevn_h) $(gxdevsop_h) $(LIB_MAK) $(MAKEDIRS)
$(GLCC) $(GLO_)gdevprn.$(OBJ) $(C_) $(GLSRC)gdevprn.c
@@ -2052,11 +2025,11 @@ $(GLOBJ)gdevoflt.$(OBJ) : $(GLSRC)gdevoflt.c $(gdevoflp_h) $(std_h)
$(GLOBJ)gdevsclass.$(OBJ) : $(GLSRC)gdevsclass.c $(gdevsclass_h) $(std_h)
$(GLCC) $(GLO_)gdevsclass.$(OBJ) $(C_) $(GLSRC)gdevsclass.c
-$(GLOBJ)gdevkrnlsclass.$(OBJ) : $(GLSRC)gdevkrnlsclass.c $(gdevkrnlsclass) $(std_h)
+$(GLOBJ)gdevkrnlsclass.$(OBJ) : $(GLSRC)gdevkrnlsclass.c $(gdevkrnlsclass_h) $(std_h)
$(GLCC) $(GLO_)gdevkrnlsclass.$(OBJ) $(C_) $(GLSRC)gdevkrnlsclass.c
# Planar page devices
-gdevppla_h=$(GLSRC)gdevppla.h
+gdevppla_h=$(GLSRC)gdevppla.h $(gxdevbuf_h) $(gsdevice_h)
$(GLOBJ)gdevppla.$(OBJ) : $(GLSRC)gdevppla.c\
$(gdevmpla_h) $(gdevppla_h) $(gdevprn_h) $(gxdevsop_h) $(LIB_MAK) $(MAKEDIRS)
@@ -2095,10 +2068,9 @@ $(GLD)imasklib.dev : $(LIB_MAK) $(ECHOGS_XE) $(imasklib_) $(LIB_MAK) $(MAKEDIRS)
# ---------------- Banded ("command list") devices ---------------- #
-gxcldev_h=$(GLSRC)gxcldev.h $(gxclist_h) $(gsropt_h) $(gxht_h) $(gxtmap_h) $(gxdht_h)\
- $(strimpl_h) $(scfx_h) $(srlx_h) $(gsdcolor_h)
+gxcldev_h=$(GLSRC)gxcldev.h $(gxclist_h) $(gxdht_h) $(srlx_h) $(gxht_h) $(strimpl_h) $(scfx_h) $(gsropt_h) $(gxtmap_h) $(gsdcolor_h)
gxclpage_h=$(GLSRC)gxclpage.h $(gxclist_h)
-gxclpath_h=$(GLSRC)gxclpath.h
+gxclpath_h=$(GLSRC)gxclpath.h $(gxcldev_h) $(gxdevcli_h)
clbase1_=$(GLOBJ)gxclist.$(OBJ) $(GLOBJ)gxclbits.$(OBJ) $(GLOBJ)gxclpage.$(OBJ)
clbase2_=$(GLOBJ)gxclrast.$(OBJ) $(GLOBJ)gxclread.$(OBJ) $(GLOBJ)gxclrect.$(OBJ)
@@ -2226,7 +2198,7 @@ $(GLD)clmemory.dev : $(LIB_MAK) $(ECHOGS_XE) $(clmemory_) $(GLD)s$(BAND_LIST_COM
$(ADDMOD) $(GLD)clmemory -include $(GLD)s$(BAND_LIST_COMPRESSOR)d
$(ADDMOD) $(GLD)clmemory -init gxclmem
-gxclmem_h=$(GLSRC)gxclmem.h $(gxclio_h) $(strimpl_h)
+gxclmem_h=$(GLSRC)gxclmem.h $(strimpl_h) $(gxclio_h)
$(GLOBJ)gxclmem.$(OBJ) : $(GLSRC)gxclmem.c $(AK) $(gx_h) $(gserrors_h)\
$(LIB_MAK) $(memory__h) $(gxclmem_h) $(gssprintf_h) $(valgrind_h) $(LIB_MAK) $(MAKEDIRS)
@@ -2261,8 +2233,7 @@ $(GLOBJ)gsmchunk.$(OBJ) : $(GLSRC)gsmchunk.c $(AK) $(gx_h)\
# ---------------- Vector devices ---------------- #
# We include this here for the same reasons as page.dev.
-gdevvec_h=$(GLSRC)gdevvec.h $(gdevbbox_h) $(gp_h) $(gdevflp_h) $(gdevepo_h) $(gdevoflt_h) $(gdevkrnlsclass_h)\
- $(gsropt_h) $(gxdevice_h) $(gxiparam_h) $(gxgstate_h) $(gxhldevc_h) $(stream_h)
+gdevvec_h=$(GLSRC)gdevvec.h $(gxgstate_h) $(gxdevice_h) $(gdevbbox_h) $(gxiparam_h) $(gsropt_h) $(stream_h) $(gxhldevc_h) $(gp_h)
vector_=$(GLOBJ)gdevvec.$(OBJ)
$(GLD)vector.dev : $(LIB_MAK) $(ECHOGS_XE) $(vector_)\
@@ -2271,7 +2242,7 @@ $(GLD)vector.dev : $(LIB_MAK) $(ECHOGS_XE) $(vector_)\
$(ADDMOD) $(GLD)vector -include $(GLD)bboxutil $(GLD)sfile
$(GLOBJ)gdevvec.$(OBJ) : $(GLSRC)gdevvec.c $(AK) $(gx_h) $(gserrors_h)\
- $(math__h) $(memory__h) $(string__h)\
+ $(math__h) $(memory__h) $(string__h) $(gdevkrnlsclass_h)\
$(gdevvec_h) $(gp_h) $(gscspace_h) $(gxiparam_h) $(gsparam_h) $(gsutil_h)\
$(gxdcolor_h) $(gxfixed_h) $(gxpaint_h)\
$(gzcpath_h) $(gzpath_h) $(gxdevsop_h) $(LIB_MAK) $(MAKEDIRS)
@@ -2312,7 +2283,7 @@ $(GLOBJ)simscale.$(OBJ) : $(GLSRC)simscale.c $(AK) $(memory__h)\
# ---------------- Extended halftone support ---------------- #
# This is only used by one non-PostScript-based project.
-gshtx_h=$(GLSRC)gshtx.h $(gsht1_h) $(gsmemory_h) $(gxtmap_h) $(gscspace_h)
+gshtx_h=$(GLSRC)gshtx.h $(gsht1_h) $(gxtmap_h) $(gscspace_h) $(gsmemory_h) $(gsgstate_h)
htxlib_=$(GLOBJ)gshtx.$(OBJ)
$(GLD)htxlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(htxlib_) $(LIB_MAK) $(MAKEDIRS)
@@ -2390,7 +2361,7 @@ $(GLD)ttflib.dev : $(LIB_MAK) $(ECHOGS_XE) $(ttflib_) $(LIB_MAK) $(MAKEDIRS)
$(SETMOD) $(GLD)ttflib $(ttflib_)
# "gxfont42_h=$(GLSRC)gxfont42.h" already defined above
-gxttf_h=$(GLSRC)gxttf.h
+gxttf_h=$(GLSRC)gxttf.h $(stdpre_h)
$(GLOBJ)gstype42.$(OBJ) : $(GLSRC)gstype42.c $(AK) $(gx_h)\
$(gserrors_h) $(memory__h)\
@@ -2401,21 +2372,21 @@ $(GLOBJ)gstype42.$(OBJ) : $(GLSRC)gstype42.c $(AK) $(gx_h)\
$(strimpl_h) $(stream_h) $(strmio_h) $(szlibx_h) $(LIB_MAK) $(MAKEDIRS)
$(GLCC) $(GLO_)gstype42.$(OBJ) $(C_) $(GLSRC)gstype42.c
-ttfsfnt_h=$(GLSRC)ttfsfnt.h $(stdint__h)
+ttfsfnt_h=$(GLSRC)ttfsfnt.h $(tttypes_h) $(stdint__h)
ttcommon_h=$(GLSRC)ttcommon.h
ttconf_h=$(GLSRC)ttconf.h
-ttfinp_h=$(GLSRC)ttfinp.h
+ttfinp_h=$(GLSRC)ttfinp.h $(ttfoutl_h)
ttfmemd_h=$(GLSRC)ttfmemd.h $(gsstype_h)
-tttype_h=$(GLSRC)tttype.h
+tttype_h=$(GLSRC)tttype.h $(std_h)
ttconfig_h=$(GLSRC)ttconfig.h $(ttconf_h)
tttypes_h=$(GLSRC)tttypes.h $(ttconfig_h) $(tttype_h) $(std_h)
-ttmisc_h=$(GLSRC)ttmisc.h $(std_h) $(gx_h) $(string__h) $(math__h) $(tttypes_h)
+ttmisc_h=$(GLSRC)ttmisc.h $(string__h) $(gx_h) $(math__h) $(tttypes_h) $(std_h)
tttables_h=$(GLSRC)tttables.h $(tttypes_h)
-ttobjs_h=$(GLSRC)ttobjs.h $(ttcommon_h) $(tttypes_h) $(tttables_h) $(setjmp__h)
+ttobjs_h=$(GLSRC)ttobjs.h $(setjmp__h) $(ttcommon_h) $(tttables_h) $(tttypes_h) $(ttfoutl_h)
ttcalc_h=$(GLSRC)ttcalc.h $(ttcommon_h) $(tttypes_h)
-ttinterp_h=$(GLSRC)ttinterp.h $(ttcommon_h) $(ttobjs_h)
-ttload_h=$(GLSRC)ttload.h $(ttcommon_h)
-gxhintn_h=$(GLSRC)gxhintn.h $(stdint__h)
+ttinterp_h=$(GLSRC)ttinterp.h $(ttobjs_h) $(ttcommon_h)
+ttload_h=$(GLSRC)ttload.h $(ttobjs_h)
+gxhintn_h=$(GLSRC)gxhintn.h $(gspath_h) $(gxfixed_h) $(gsmatrix_h) $(stdint__h)
$(GLOBJ)ttcalc.$(OBJ) : $(GLSRC)ttcalc.c $(AK) $(ttmisc_h) $(ttcalc_h)\
$(LIB_MAK) $(MAKEDIRS)
@@ -2465,8 +2436,8 @@ $(GLOBJ)gzspotan.$(OBJ) : $(GLSRC)gzspotan.c $(AK) $(gx_h)\
# -------- Composite (PostScript Type 0) font support -------- #
gxcid_h=$(GLSRC)gxcid.h $(gsstype_h)
-gxfcid_h=$(GLSRC)gxfcid.h $(gxcid_h) $(gxfont_h) $(gxfont42_h) $(gsrefct_h)
-gxfcmap_h=$(GLSRC)gxfcmap.h $(gsfcmap_h) $(gsuid_h) $(gxcid_h)
+gxfcid_h=$(GLSRC)gxfcid.h $(gxcid_h) $(gxfont42_h) $(gxfont_h) $(gsrefct_h)
+gxfcmap_h=$(GLSRC)gxfcmap.h $(gxcid_h) $(gsfcmap_h) $(gsuid_h)
gxfcmap1_h=$(GLSRC)gxfcmap1.h $(gxfcmap_h)
gxfont0c_h=$(GLSRC)gxfont0c.h $(gxfcid_h) $(gxfont0_h)
@@ -2578,10 +2549,10 @@ $(GLOBJ)gxpcmap.$(OBJ) : $(GLSRC)gxpcmap.c $(AK) $(gx_h) $(gserrors_h)\
type1lib_=$(GLOBJ)gxtype1.$(OBJ)\
$(GLOBJ)gxhintn.$(OBJ) $(GLOBJ)gxhintn1.$(OBJ) $(GLOBJ)gscrypt1.$(OBJ) $(GLOBJ)gxchrout.$(OBJ)
-gscrypt1_h=$(GLSRC)gscrypt1.h
-gstype1_h=$(GLSRC)gstype1.h
-gxfont1_h=$(GLSRC)gxfont1.h $(gstype1_h) $(gxfixed_h)
-gxtype1_h=$(GLSRC)gxtype1.h $(gscrypt1_h) $(gsgdata_h) $(gstype1_h) $(gxhintn_h)
+gscrypt1_h=$(GLSRC)gscrypt1.h $(stdpre_h)
+gstype1_h=$(GLSRC)gstype1.h $(gsgdata_h) $(gsgstate_h) $(gstypes_h)
+gxfont1_h=$(GLSRC)gxfont1.h $(gxfixed_h) $(gxfont_h) $(gstype1_h) $(gxfapi_h)
+gxtype1_h=$(GLSRC)gxtype1.h $(gxhintn_h) $(gxmatrix_h) $(gscrypt1_h) $(gstype1_h) $(gsgdata_h)
$(GLOBJ)gxtype1.$(OBJ) : $(GLSRC)gxtype1.c $(AK) $(gx_h) $(gserrors_h)\
$(math__h) $(gsccode_h) $(gsline_h) $(gsstruct_h) $(memory__h)\
@@ -2738,9 +2709,9 @@ $(GLOBJ)gsdps1.$(OBJ) : $(GLSRC)gsdps1.c $(AK) $(gx_h) $(gserrors_h)\
# the implementation of Separation colors also uses them.
gsdsrc_h=$(GLSRC)gsdsrc.h $(gsstruct_h)
-gsfunc_h=$(GLSRC)gsfunc.h $(gstypes_h) $(memento_h)
+gsfunc_h=$(GLSRC)gsfunc.h $(memento_h) $(gstypes_h) $(std_h)
gsfunc0_h=$(GLSRC)gsfunc0.h $(gsdsrc_h) $(gsfunc_h)
-gxfunc_h=$(GLSRC)gxfunc.h $(gsfunc_h) $(gsstruct_h)
+gxfunc_h=$(GLSRC)gxfunc.h $(gsstruct_h) $(gsfunc_h)
# Generic support, and FunctionType 0.
funclib_=$(GLOBJ)gsdsrc.$(OBJ) $(GLOBJ)gsfunc.$(OBJ) $(GLOBJ)gsfunc0.$(OBJ)
@@ -2780,7 +2751,7 @@ $(GLOBJ)gsfunc4.$(OBJ) : $(GLSRC)gsfunc4.c $(AK) $(gx_h) $(math__h)\
# ---------------- DevicePixel color space ---------------- #
-gscpixel_h=$(GLSRC)gscpixel.h
+gscpixel_h=$(GLSRC)gscpixel.h $(gscspace_h)
cspixlib_=$(GLOBJ)gscpixel.$(OBJ)
$(GLD)cspixlib.dev : $(LIB_MAK) $(ECHOGS_XE) $(cspixlib_) \
@@ -2859,12 +2830,11 @@ $(GLOBJ)gsicc.$(OBJ) : $(GLSRC)gsicc.c $(AK) $(gx_h) $(gserrors_h)\
$(gsicc_manage_h) $(gxdevice_h) $(gsccolor_h) $(LIB_MAK) $(MAKEDIRS)
$(GLCC) $(GLO_)gsicc.$(OBJ) $(C_) $(GLSRC)gsicc.c
-gscms_h=$(GLSRC)gscms.h $(std_h) $(stdpre_h) $(gstypes_h) $(gsutil_h)\
- $(gsdevice_h) $(stdint__h) $(gxsync_h) $(gscspace_h)
+gscms_h=$(GLSRC)gscms.h $(gxsync_h) $(gscspace_h) $(gsdevice_h) $(stdint__h) $(gstypes_h) $(std_h)
gsicc_cms_h=$(GLSRC)gsicc_cms.h $(gxcvalue_h) $(gscms_h)
gsicc_manage_h=$(GLSRC)gsicc_manage.h $(gsicc_cms_h)
-gsicc_cache_h=$(GLSRC)gsicc_cache.h
-gsicc_profilecache_h=$(GLSRC)gsicc_profilecache.h
+gsicc_cache_h=$(GLSRC)gsicc_cache.h $(gxcvalue_h) $(gscms_h) $(gsgstate_h)
+gsicc_profilecache_h=$(GLSRC)gsicc_profilecache.h $(gscms_h)
$(GLOBJ)gsicc_monitorcm.$(OBJ) : $(GLSRC)gsicc_monitorcm.c $(AK) $(std_h)\
$(stdpre_h) $(gstypes_h) $(gsmemory_h) $(gxdevcli_h)\
@@ -2984,8 +2954,8 @@ $(GLOBJ)gximdecode.$(OBJ) : $(GLSRC)gximdecode.c $(gximdecode_h) $(string__h)\
# ================ Display Postscript extensions ================ #
-gsiparm2_h=$(GLSRC)gsiparm2.h $(gsiparam_h)
-gsdps_h=$(GLSRC)gsdps.h $(gsiparm2_h)
+gsiparm2_h=$(GLSRC)gsiparm2.h $(gsiparam_h) $(gsgstate_h)
+gsdps_h=$(GLSRC)gsdps.h $(gsiparm2_h) $(gsgstate_h)
# Display PostScript needs the DevicePixel color space to implement
# the PixelCopy option of ImageType 2 images.
@@ -3009,7 +2979,7 @@ $(GLOBJ)gximage2.$(OBJ) : $(GLSRC)gximage2.c $(AK) $(gx_h)\
# ---------------- NeXT Display PostScript ---------------- #
-gsalphac_h=$(GLSRC)gsalphac.h $(gscompt_h)
+gsalphac_h=$(GLSRC)gsalphac.h $(gscompt_h) $(std_h)
gsdpnext_h=$(GLSRC)gsdpnext.h $(gsalpha_h) $(gsalphac_h)
$(GLOBJ)gsalphac.$(OBJ) : $(GLSRC)gsalphac.c $(AK) $(gx_h)\
@@ -3102,11 +3072,10 @@ $(GLOBJ)gsequivc.$(OBJ) : $(GLSRC)gsequivc.c $(math__h)\
# ---------------- Transparency ---------------- #
-gsipar3x_h=$(GLSRC)gsipar3x.h $(gsiparam_h) $(gsiparm3_h)
+gsipar3x_h=$(GLSRC)gsipar3x.h $(gsiparm3_h) $(gsiparam_h)
gximag3x_h=$(GLSRC)gximag3x.h $(gsipar3x_h) $(gxiparam_h)
-gxblend_h=$(GLSRC)gxblend.h $(gxcindex_h) $(gxcvalue_h) $(gxfrac_h) $(gxdevcli_h)
-gdevp14_h=$(GLSRC)gdevp14.h $(gxcmap_h) $(gsmatrix_h)\
- $(gxcolor2_h) $(gxdcolor_h) $(gxpcolor_h) $(gdevdevn_h)
+gxblend_h=$(GLSRC)gxblend.h $(gxdevcli_h) $(gxcvalue_h) $(gxfrac_h) $(gxcindex_h)
+gdevp14_h=$(GLSRC)gdevp14.h $(gxcolor2_h) $(gdevdevn_h) $(gxpcolor_h) $(gxdcolor_h) $(gxcmap_h) $(gsmatrix_h) $(gsgstate_h)
$(GLOBJ)gstrans.$(OBJ) : $(GLSRC)gstrans.c $(AK) $(gx_h) $(gserrors_h)\
$(math__h) $(memory__h) $(gdevp14_h) $(gstrans_h)\
@@ -3157,13 +3126,11 @@ $(GLD)translib.dev : $(LIB_MAK) $(ECHOGS_XE) $(translib_)\
# ---------------- Smooth shading ---------------- #
-gscolor3_h=$(GLSRC)gscolor3.h
+gscolor3_h=$(GLSRC)gscolor3.h $(gsgstate_h)
gsfunc3_h=$(GLSRC)gsfunc3.h $(gsdsrc_h) $(gsfunc_h)
-gsshade_h=$(GLSRC)gsshade.h\
- $(gsccolor_h) $(gscspace_h) $(gsdsrc_h) $(gsfunc_h) $(gsmatrix_h)\
- $(gxfixed_h)
-gxshade_h=$(GLSRC)gxshade.h $(gsshade_h) $(gxfixed_h) $(gxmatrix_h) $(stream_h)
-gxshade4_h=$(GLSRC)gxshade4.h
+gsshade_h=$(GLSRC)gsshade.h $(gsdsrc_h) $(gxfixed_h) $(gscspace_h) $(gsfunc_h) $(gsmatrix_h) $(gsccolor_h)
+gxshade_h=$(GLSRC)gxshade.h $(gxmatrix_h) $(gsshade_h) $(gxfixed_h) $(stream_h)
+gxshade4_h=$(GLSRC)gxshade4.h $(gxshade_h) $(gxdevcli_h)
$(GLOBJ)gscolor3.$(OBJ) : $(GLSRC)gscolor3.c $(AK) $(gx_h)\
$(gserrors_h) $(gscolor3_h) $(gsmatrix_h) $(gsptype2_h) $(gscie_h)\
diff --git a/base/pcwin.mak b/base/pcwin.mak
index b2efcc3e0..f59d52c56 100644
--- a/base/pcwin.mak
+++ b/base/pcwin.mak
@@ -24,9 +24,9 @@ PCWIN_MAK=$(GLSRC)pcwin.mak $(TOP_MAKEFILES)
### -------------------- The MS-Windows 3.n DLL ------------------------- ###
-gp_mswin_h=$(GLSRC)gp_mswin.h
-gsdll_h=$(GLSRC)gsdll.h
-gsdllwin_h=$(GLSRC)gsdllwin.h
+gp_mswin_h=$(GLSRC)gp_mswin.h $(windows__h)
+gsdll_h=$(GLSRC)gsdll.h $(iapi_h) $(windows__h)
+gsdllwin_h=$(GLSRC)gsdllwin.h $(windows__h) $(gs_dll_call_h)
### -------------------- The MS-Windows DIB 3.n printer ----------------- ###
diff --git a/base/sa85d.h b/base/sa85d.h
index 392a30555..c2cb6ce1c 100644
--- a/base/sa85d.h
+++ b/base/sa85d.h
@@ -20,6 +20,8 @@
#ifndef sa85d_INCLUDED
# define sa85d_INCLUDED
+#include "scommon.h"
+
/* ASCII85Decode */
typedef struct stream_A85D_state_s {
stream_state_common;
diff --git a/base/sbcp.h b/base/sbcp.h
index c945ff105..a16e2cd19 100644
--- a/base/sbcp.h
+++ b/base/sbcp.h
@@ -19,6 +19,8 @@
#ifndef sbcp_INCLUDED
# define sbcp_INCLUDED
+#include "scommon.h"
+
/* (T)BCPEncode */
/* (no state) */
extern const stream_template s_BCPE_template;
diff --git a/base/sbtx.h b/base/sbtx.h
index 703fa8c18..3e56c5abb 100644
--- a/base/sbtx.h
+++ b/base/sbtx.h
@@ -20,6 +20,8 @@
#ifndef sbtx_INCLUDED
# define sbtx_INCLUDED
+#include "scommon.h"
+
/* ByteTranslateEncode/Decode */
typedef struct stream_BT_state_s {
stream_state_common;
diff --git a/base/scanchar.h b/base/scanchar.h
index 0565ab50e..015246a5e 100644
--- a/base/scanchar.h
+++ b/base/scanchar.h
@@ -20,6 +20,8 @@
#ifndef scanchar_INCLUDED
# define scanchar_INCLUDED
+#include "scommon.h"
+
/*
* An array for fast scanning of names, numbers, and hex strings.
* Indexed by character code (including exceptions), it contains:
diff --git a/base/sdcparam.h b/base/sdcparam.h
index b176e7da6..c13bbc8c3 100644
--- a/base/sdcparam.h
+++ b/base/sdcparam.h
@@ -19,6 +19,9 @@
#ifndef sdcparam_INCLUDED
# define sdcparam_INCLUDED
+#include "sdct.h"
+#include "gsparam.h"
+
/*
* All of these procedures are defined in sdcparam.c and are only for
* internal use (by sddparam.c and sdeparam.c), so they are not
diff --git a/base/sdct.h b/base/sdct.h
index 7596eb380..3712db24a 100644
--- a/base/sdct.h
+++ b/base/sdct.h
@@ -21,7 +21,10 @@
# define sdct_INCLUDED
#include "setjmp_.h" /* for jmp_buf */
-#include "gscms.h"
+#include "gscms.h"
+#include "strimpl.h"
+#include "jpeglib_.h"
+
/* ------ DCT filters ------ */
diff --git a/base/sfilter.h b/base/sfilter.h
index a38546bd5..4c53a6070 100644
--- a/base/sfilter.h
+++ b/base/sfilter.h
@@ -22,6 +22,7 @@
# define sfilter_INCLUDED
#include "gstypes.h" /* for gs_[const_]string */
+#include "scommon.h"
/*
* Define the processing states of the simplest Ghostscript streams.
diff --git a/base/simscale.h b/base/simscale.h
index 921419a62..80f0fc25f 100644
--- a/base/simscale.h
+++ b/base/simscale.h
@@ -21,6 +21,8 @@
#ifndef simscale_INCLUDED
# define simscale_INCLUDED
+#include "sisparam.h"
+
typedef struct stream_imscale_state_s stream_imscale_state;
struct stream_imscale_state_s {
diff --git a/base/sisparam.h b/base/sisparam.h
index 306578cd8..926d2a365 100644
--- a/base/sisparam.h
+++ b/base/sisparam.h
@@ -22,6 +22,8 @@
#include "gxfixed.h" /* for fixed */
#include "gxdda.h" /* for gx_dda_fixed_point */
+#include "scommon.h"
+
/*
* Image scaling streams all use a common set of parameters to define the
* input and output data. That is what we define here.
diff --git a/base/sjpeg.h b/base/sjpeg.h
index 145f8956f..9b7e5ac23 100644
--- a/base/sjpeg.h
+++ b/base/sjpeg.h
@@ -20,6 +20,8 @@
#ifndef sjpeg_INCLUDED
# define sjpeg_INCLUDED
+#include "sdct.h"
+
/*
* Each routine gs_jpeg_xxx is equivalent to the IJG entry point jpeg_xxx,
* except that
diff --git a/base/sjpegc.c b/base/sjpegc.c
index f1430a90b..32211a87a 100644
--- a/base/sjpegc.c
+++ b/base/sjpegc.c
@@ -26,7 +26,6 @@
#include "sjpeg.h"
#include "gsmchunk.h"
-typedef void *backing_store_ptr;
#include "jmemcust.h"
/*
diff --git a/base/slzwx.h b/base/slzwx.h
index f4e350d7a..1238d785f 100644
--- a/base/slzwx.h
+++ b/base/slzwx.h
@@ -20,6 +20,8 @@
#ifndef slzwx_INCLUDED
# define slzwx_INCLUDED
+#include "scommon.h"
+
typedef struct lzw_decode_s lzw_decode;
typedef struct lzw_encode_table_s lzw_encode_table;
typedef struct stream_LZW_state_s {
diff --git a/base/smd5.h b/base/smd5.h
index 463119f17..db964277f 100644
--- a/base/smd5.h
+++ b/base/smd5.h
@@ -21,6 +21,7 @@
# define smd5_INCLUDED
#include "gsmd5.h"
+#include "scommon.h"
/*
* The MD5Encode filter accepts an arbitrary amount of input data, and then,
diff --git a/base/smtf.h b/base/smtf.h
index ef1e3a349..6594d532c 100644
--- a/base/smtf.h
+++ b/base/smtf.h
@@ -20,6 +20,8 @@
#ifndef smtf_INCLUDED
# define smtf_INCLUDED
+#include "scommon.h"
+
/* MoveToFrontEncode/Decode */
typedef struct stream_MTF_state_s {
stream_state_common;
diff --git a/base/spdiffx.h b/base/spdiffx.h
index ec0d68436..1e3bcbc0d 100644
--- a/base/spdiffx.h
+++ b/base/spdiffx.h
@@ -20,6 +20,8 @@
#ifndef spdiffx_INCLUDED
# define spdiffx_INCLUDED
+#include "scommon.h"
+
/*
* Define the maximum value for Colors. This must be at least 4, but can
* be arbitrarily large: the only cost is a larger stream state structure.
diff --git a/base/spngpx.h b/base/spngpx.h
index 2746aeb7e..3f459af5f 100644
--- a/base/spngpx.h
+++ b/base/spngpx.h
@@ -20,6 +20,8 @@
#ifndef spngpx_INCLUDED
# define spngpx_INCLUDED
+#include "scommon.h"
+
/*
* Define the maximum value for Colors. The PNG specification probably
* defines this as 16, but some PS3 CET files require it to be as large as
diff --git a/base/spprint.h b/base/spprint.h
index 83112787e..53702c4f7 100644
--- a/base/spprint.h
+++ b/base/spprint.h
@@ -19,6 +19,8 @@
#ifndef spprint_INCLUDED
# define spprint_INCLUDED
+#include "stdpre.h"
+
/* Define an opaque type for streams. */
#ifndef stream_DEFINED
# define stream_DEFINED
diff --git a/base/spwgx.h b/base/spwgx.h
index c3dbb2536..50d355d16 100644
--- a/base/spwgx.h
+++ b/base/spwgx.h
@@ -20,6 +20,8 @@
#ifndef spwgx_INCLUDED
# define spwgx_INCLUDED
+#include "scommon.h"
+
/* Common state */
#define stream_PWG_state_common\
stream_state_common;\
diff --git a/base/srdline.h b/base/srdline.h
index e62bdb055..ff4bfcd25 100644
--- a/base/srdline.h
+++ b/base/srdline.h
@@ -20,6 +20,9 @@
#ifndef srdline_INCLUDED
# define srdline_INCLUDED
+#include "std.h"
+#include "gstypes.h"
+
/*
* Read a line from s_in, starting at index *pcount in buf. Start by
* printing prompt on s_out. If the string is longer than size - 1 (we need
diff --git a/base/srlx.h b/base/srlx.h
index c68ccb0b0..c63718984 100644
--- a/base/srlx.h
+++ b/base/srlx.h
@@ -20,6 +20,8 @@
#ifndef srlx_INCLUDED
# define srlx_INCLUDED
+#include "scommon.h"
+
/* Common state */
#define stream_RL_state_common\
stream_state_common;\
diff --git a/base/ssha2.h b/base/ssha2.h
index ebf3e4b2e..3c1e9058e 100644
--- a/base/ssha2.h
+++ b/base/ssha2.h
@@ -21,6 +21,7 @@
# define ssha2_INCLUDED
#include "sha2.h"
+#include "scommon.h"
/*
* The SHA256Encode filter accepts an arbitrary amount of input data,
diff --git a/base/sstring.h b/base/sstring.h
index 10fcae1a8..6cba2d3dc 100644
--- a/base/sstring.h
+++ b/base/sstring.h
@@ -19,6 +19,8 @@
#ifndef sstring_INCLUDED
# define sstring_INCLUDED
+#include "scommon.h"
+
/* ASCIIHexEncode */
typedef struct stream_AXE_state_s {
stream_state_common;
diff --git a/base/strmio.h b/base/strmio.h
index 40fc4e935..41d771831 100644
--- a/base/strmio.h
+++ b/base/strmio.h
@@ -20,6 +20,8 @@
#ifndef strmio_INCLUDED
# define strmio_INCLUDED
+#include "scommon.h"
+
#ifndef stream_DEFINED
# define stream_DEFINED
typedef struct stream_s stream;
diff --git a/base/szlibx.h b/base/szlibx.h
index 4516108f1..53d67d4d0 100644
--- a/base/szlibx.h
+++ b/base/szlibx.h
@@ -19,6 +19,8 @@
#ifndef szlibx_INCLUDED
# define szlibx_INCLUDED
+#include "scommon.h"
+
/* Define an opaque type for the dynamic part of the state. */
typedef struct zlib_dynamic_state_s zlib_dynamic_state_t;
diff --git a/base/tiff.mak b/base/tiff.mak
index f6e9f8c83..3c569ee1b 100644
--- a/base/tiff.mak
+++ b/base/tiff.mak
@@ -36,7 +36,7 @@ LIBTIFF_MAK=$(GLSRC)tiff.mak $(TOP_MAKEFILES)
TIFFCC=$(CC_) $(TIFF_CFLAGS) $(I_)$(TI_) $(II)$(JI_)$(_I) $(PF_)
TIFFDEP = $(AK) $(TIFFGEN)tif_config.h $(TIFFGEN)tiffconf.h $(LIBTIFF_MAK) $(MAKEDIRS)
-gstiffio_h=$(GLSRC)gstiffio.h
+gstiffio_h=$(GLSRC)gstiffio.h $(gdevprn_h)
tiff_1=$(TIFFOBJ)tif_aux.$(OBJ) $(TIFFOBJ)tif_close.$(OBJ) $(TIFFOBJ)tif_codec.$(OBJ) $(TIFFOBJ)tif_color.$(OBJ)
tiff_2=$(TIFFOBJ)tif_compress.$(OBJ) $(TIFFOBJ)tif_dir.$(OBJ) $(TIFFOBJ)tif_dirinfo.$(OBJ) $(TIFFOBJ)tif_dirread.$(OBJ)
@@ -232,4 +232,3 @@ $(TIFFGEN)libtiff_0.dev : $(LIBTIFF_MAK) $(ECHOGS_XE) \
$(ADDMOD) $(TIFFGEN)libtiff_0 $(tiff_11)
$(ADDMOD) $(TIFFGEN)libtiff_0 -include $(JPEGGEN)jpegd.dev
$(ADDMOD) $(TIFFGEN)libtiff_0 -include $(JPEGGEN)jpege.dev
-
diff --git a/base/ttfinp.h b/base/ttfinp.h
index ccf5ae14d..78b0e6c6b 100644
--- a/base/ttfinp.h
+++ b/base/ttfinp.h
@@ -19,6 +19,8 @@
#ifndef incl_ttfinp
#define incl_ttfinp
+#include "ttfoutl.h"
+
unsigned char ttfReader__Byte(ttfReader *r);
signed char ttfReader__SignedByte(ttfReader *r);
unsigned short ttfReader__UShort(ttfReader *r);
diff --git a/base/ttfsfnt.h b/base/ttfsfnt.h
index db71ecadb..855ae71c9 100644
--- a/base/ttfsfnt.h
+++ b/base/ttfsfnt.h
@@ -27,6 +27,7 @@
#ifndef sfntIncludes
#define sfntIncludes
+#include "tttypes.h"
#include "stdint_.h" /* make sure stdint types are available */
typedef uint8_t uint8; /* 8-bit unsigned integer */
diff --git a/base/ttload.h b/base/ttload.h
index a794310df..69fc463bd 100644
--- a/base/ttload.h
+++ b/base/ttload.h
@@ -42,7 +42,7 @@
#ifndef TTLOAD_H
#define TTLOAD_H
-#include "ttcommon.h"
+#include "ttobjs.h"
#ifdef __cplusplus
extern "C" {
diff --git a/base/ttobjs.h b/base/ttobjs.h
index 44ebb542e..8f2eb5d2d 100644
--- a/base/ttobjs.h
+++ b/base/ttobjs.h
@@ -41,6 +41,7 @@
#include "tttypes.h"
#include "tttables.h"
#include "setjmp_.h"
+#include "ttfoutl.h"
#ifdef __cplusplus
extern "C" {
diff --git a/base/tttype.h b/base/tttype.h
index ea83ed892..598fba6b2 100644
--- a/base/tttype.h
+++ b/base/tttype.h
@@ -51,6 +51,8 @@
extern "C" {
#endif
+#include "std.h"
+
/*******************************************************************/
/* */
/* FreeType types definitions. */