summaryrefslogtreecommitdiff
path: root/gs/src/os2.mak
diff options
context:
space:
mode:
authorRay Johnston <ray.johnston@artifex.com>2006-02-21 21:29:07 +0000
committerRay Johnston <ray.johnston@artifex.com>2006-02-21 21:29:07 +0000
commit6cdd0f70d01da21703a54da40fa631e764f9168f (patch)
tree48a4973c929c568d96367e0da3edf15fe96e90d1 /gs/src/os2.mak
parent14d38c28579f70083dc839e30851e8bec73c1816 (diff)
Implement %rom% IODevice and use it for the COMPILE_INITS=1 builds. Data
is compressed and can include fonts as well as lib init files, Resource directories and other. The (%rom%) path is inserted as the first path on the LIBPATH list when COMPILE_INITS=1. The default GenricResourceDir is set to %rom%Resource/ unless the command line sets -sGenericReourceDir. Bug 687485. DETAILS: See gsiorom.* and mkromfs.c for details of the %rom% structure. The inital implementation creates a string buffer for the entire file (block by block) decompression is not yet implemented (a new stream type). The %rom% IODevice is not PostScript specific so it could be used by non PS interpreters (GhostPCL) but the creation of gsromfs.c by mkromfs needs to be performed elsewhere (hint in src/lib.mak). NOTES: Tested on unix and Windows. Mac, OS/2 and VMS will need attention as will non-MSVC tool chains. Since this replaces the old COMPILE_INIT method don't use COMPILE_INTIS=1 on those platforms unless you are working on fixing problems or just feel lucky. The insertion of the %rom% device as the first path in the LIBPATH list will make changing initfiles during debug more cumbersome, but using COMPILE_INITS=1 is really not intended for debugging or development anyway. EXPECTED DIFFERENCES: None. (we don't build with COMPILE_INITS). git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@6600 a1074d23-0009-0410-80fe-cf8c14f379e6
Diffstat (limited to 'gs/src/os2.mak')
-rw-r--r--gs/src/os2.mak18
1 files changed, 18 insertions, 0 deletions
diff --git a/gs/src/os2.mak b/gs/src/os2.mak
index a3fbf9e71..19bc7a551 100644
--- a/gs/src/os2.mak
+++ b/gs/src/os2.mak
@@ -39,6 +39,8 @@ PSLIBDIR=lib
PSGENDIR=obj
PSOBJDIR=obj
+CWD_PREFIX=./
+
# Define the root directory for Ghostscript installation.
AROOTDIR=c:/gs
@@ -457,6 +459,9 @@ CC_NO_WARN=$(CC_)
# Since we have a large address space, we include some optional features.
FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)epsf.dev $(PSD)os2print.dev
+# The list of resources to be included in the %rom% file system.
+# This is in the top makefile since the file descriptors are platform specific
+RESOURCE_LIST=Resource/CMap/ Resource/ColorSpace/ Resource/Decoding/ Resource/Fonts/ Resource/Procset/ Resource/IdoimSet/ Resource/CIDFont/
# Choose whether to compile the .ps initialization files into the executable.
# See gs.mak for details.
@@ -632,6 +637,19 @@ $(GENINIT_XE): $(PSSRC)geninit.c $(GENINIT_DEPS)
$(CCAUX) /Fe$(GENINIT_XE) geninit.c
!endif
+MKROMFS_DEPS=$(GLOBJ)compress.$(OBJ) $(GLOBJ)deflate.$(OBJ) $(GLOBJ)zutil.$(OBJ) $(GLOBJ)adler32.$(OBJ) $(GLOBJ)crc32.$(OBJ) $(GLOBJ)trees.$(OBJ) $(GLOBJ)gscdefs.$(OBJ) $(os2__)
+
+$(MKROMFS_XE): $(GLSRC)mkromfs.c $(GLSRC)gsiorom.h $(MKROMFS_DEPS)
+!if $(EMX)
+ $(CCAUX) -o $(AUXGEN)genht $(GENOPT) $(CFLAGS_DEBUG) $(GLSRC)mkromfs.c
+ $(COMPDIR)\emxbind $(EMXPATH)/bin/emxl.exe $(AUXGEN)mkromfs $(MKROMFS_DEPS) $(MKROMFS_XE)
+ del $(AUXGEN)mkromfs
+!endif
+!if $(IBMCPP)
+ $(CCAUX) /Fe$(GENHT_XE) genht.c
+!endif
+ $(CCAUX) $(GENOPT) $(CFLAGS_DEBUG) $(I_)$(GLSRCDIR)$(_I) $(I_)$(GLOBJ)$(_I) $(I_)$(ZSRCDIR)$(_I) $(GLSRC)mkromfs.c $(O_)$(MKROMFS_XE) $(MKROMFS_DEPS) -lm
+
# No special gconfig_.h is needed.
$(gconfig__h): $(TOP_MAKEFILES) $(ECHOGS_XE)
$(ECHOGS_XE) -w $(gconfig__h) /* This file deliberately left blank. */