summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenry Stiles <henry.stiles@artifex.com>2006-04-04 05:37:34 +0000
committerHenry Stiles <henry.stiles@artifex.com>2006-04-04 05:37:34 +0000
commit26c800edd68bce7771254308567bb9865eb2a70f (patch)
tree6d04ef4f094b3290a76eb8118fd8524f8653f50b
parentff4233b80d79aa74c0fb096b4ec55734938835b0 (diff)
finish the integration of libpng. Various fixes to get the shared
language build working. git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@2339 06663e23-700e-0410-b217-a244a6096597
-rw-r--r--common/ugcc_top.mak3
-rw-r--r--gs/src/libpng.mak13
-rw-r--r--language_switch/pspcl6_gcc.mak22
-rw-r--r--main/pcl6_gcc.mak12
4 files changed, 35 insertions, 15 deletions
diff --git a/common/ugcc_top.mak b/common/ugcc_top.mak
index f088246f9..c6e887a55 100644
--- a/common/ugcc_top.mak
+++ b/common/ugcc_top.mak
@@ -70,7 +70,7 @@ $(GENDIR)/ldgs.tr: FORCE
GLGENDIR='$(GLGENDIR)' GLOBJDIR='$(GLOBJDIR)' PSLIBDIR=$(PSLIBDIR) \
ICCSRCDIR=$(ICCSRCDIR) \
COMPILE_INITS=$(COMPILE_INITS) \
- PSRCDIR=$(PSRCDIR) PVERSION=$(PVERSION) PSOBJDIR=$(GENDIR)\
+ PSRCDIR=$(PSRCDIR) PVERSION=$(PVERSION) PSOBJDIR=$(GENDIR) SHARE_LIBPNG=$(SHARE_LIBPNG) PNGCCFLAGS=$(PNGCCFLAGS) \
-f $(GLSRCDIR)/unix-gcc.mak\
$(GLOBJDIR)/ld.tr \
$(GLOBJDIR)/gsargs.o $(GLOBJDIR)/gsfemu.o \
@@ -100,6 +100,7 @@ $(GENDIR)/ldgs.tr: FORCE
BAND_LIST_STORAGE=memory BAND_LIST_COMPRESSOR=zlib \
ZSRCDIR=$(ZSRCDIR) ZGENDIR=$(ZGENDIR) ZOBJDIR=$(ZOBJDIR) ZLIB_NAME=$(ZLIB_NAME) SHARE_ZLIB=$(SHARE_ZLIB) \
JSRCDIR=$(JSRCDIR) JGENDIR=$(JGENDIR) JOBJDIR=$(JOBJDIR) \
+ PSRCDIR=$(PSRCDIR) PVERSION=$(PVERSION) PSOBJDIR=$(GENDIR) SHARE_LIBPNG=$(SHARE_LIBPNG) PNGCCFLAGS=$(PNGCCFLAGS) \
GLSRCDIR='$(GLSRCDIR)' \
GLGENDIR='$(GLGENDIR)' GLOBJDIR='$(GLOBJDIR)' \
-f $(GLSRCDIR)/ugcclib.mak \
diff --git a/gs/src/libpng.mak b/gs/src/libpng.mak
index f3e4b1c06..a7bc59c2f 100644
--- a/gs/src/libpng.mak
+++ b/gs/src/libpng.mak
@@ -66,7 +66,8 @@ PNGO_=$(O_)$(PNGOBJ)
PZGEN=$(ZGENDIR)$(D)
# PI_ and PF_ are defined in gs.mak.
-PNGCC=$(CC_) $(I_)$(PI_)$(_I) $(PF_)
+PNGCCFLAGS=
+PNGCC=$(CC_) $(I_)$(PI_)$(_I) $(PF_) $(PNGCCFLAGS)
# Define the name of this makefile.
LIBPNG_MAK=$(GLSRC)libpng.mak
@@ -84,7 +85,7 @@ PDEP=$(AK)
png_1=$(PNGOBJ)png.$(OBJ) $(PNGOBJ)pngmem.$(OBJ) $(PNGOBJ)pngerror.$(OBJ) $(PNGOBJ)pngset.$(OBJ)
png_2=$(PNGOBJ)pngtrans.$(OBJ) $(PNGOBJ)pngwrite.$(OBJ) $(PNGOBJ)pngwtran.$(OBJ) $(PNGOBJ)pngwutil.$(OBJ)
-png_3=$(PNGOBJ)pngget.$(OBJ) $(PNGOBJ)pngread.$(OBJ) $(PNGOBJ)pngrio.$(OBJ)
+png_3=$(PNGOBJ)pngget.$(OBJ) $(PNGOBJ)pngread.$(OBJ) $(PNGOBJ)pngrio.$(OBJ) $(PNGOBJ)pngrutil.$(OBJ) $(PNGOBJ)pngrtran.$(OBJ)
# libpng modules
@@ -100,6 +101,12 @@ $(PNGOBJ)pngmem.$(OBJ) : $(PNGSRC)pngmem.c $(PDEP)
$(PNGOBJ)pngerror.$(OBJ) : $(PNGSRC)pngerror.c $(PDEP)
$(PNGCC) $(PNGO_)pngerror.$(OBJ) $(C_) $(PNGSRC)pngerror.c
+$(PNGOBJ)pngrtran.$(OBJ) : $(PNGSRC)pngrtran.c $(PDEP)
+ $(PNGCC) $(PNGO_)pngrtran.$(OBJ) $(C_) $(PNGSRC)pngrtran.c
+
+$(PNGOBJ)pngrutil.$(OBJ) : $(PNGSRC)pngrutil.c $(PDEP)
+ $(PNGCC) $(PNGO_)pngrutil.$(OBJ) $(C_) $(PNGSRC)pngrutil.c
+
$(PNGOBJ)pngset.$(OBJ) : $(PNGSRC)pngset.c $(PDEP)
$(PNGCC) $(PNGO_)pngset.$(OBJ) $(C_) $(PNGSRC)pngset.c
@@ -139,7 +146,7 @@ $(PNGGEN)libpng_1.dev : $(TOP_MAKEFILES) $(LIBPNG_MAK) $(ECHOGS_XE) $(PZGEN)zlib
$(ADDMOD) $(PNGGEN)libpng_1 -include $(PZGEN)zlibe.dev
# Define the non-shared version of libpng.
-$(PNGGEN)libpng_0.dev : $(LIBPNG_MAK) $(ECHOGS_XE) $(png_1) $(png_2)\
+$(PNGGEN)libpng_0.dev : $(LIBPNG_MAK) $(ECHOGS_XE) $(png_1) $(png_2) $(png_3)\
$(PZGEN)zlibe.dev $(PNGGEN)lpg$(PNGVERSION).dev
$(SETMOD) $(PNGGEN)libpng_0 $(png_1)
$(ADDMOD) $(PNGGEN)libpng_0 $(png_2)
diff --git a/language_switch/pspcl6_gcc.mak b/language_switch/pspcl6_gcc.mak
index d341ee977..ab3e01d0f 100644
--- a/language_switch/pspcl6_gcc.mak
+++ b/language_switch/pspcl6_gcc.mak
@@ -8,6 +8,7 @@ GENDIR=./obj
APPSRCDIR=.
GLSRCDIR=../gs/src
PSSRCDIR=../gs/src
+METSRCDIR=../met
PCLSRCDIR=../pcl
PLSRCDIR=../pl
PXLSRCDIR=../pxl
@@ -28,6 +29,9 @@ ZGENDIR=$(GENDIR)
ZOBJDIR=$(GENDIR)
SHARE_ZLIB=0
+METGENDIR=$(GENDIR)
+METOBJDIR=$(GENDIR)
+
# PLPLATFORM indicates should be set to 'ps' for language switch
# builds and null otherwise.
PLPLATFORM=ps
@@ -57,9 +61,14 @@ JOBJDIR=$(GENDIR)
ZGENDIR=$(GENDIR)
ZOBJDIR=$(GENDIR)
+PSRCDIR=../gs/libpng
+# only relevant if not shared
+PNGCCFLAGS=-DPNG_USER_MEM_SUPPORTED
+SHARE_LIBPNG=1
+
# Language and configuration. These are actually platform-independent,
# but we define them here just to keep all parameters in one place.
-TARGET_DEVS=$(PXLOBJDIR)/pxl.dev $(PCLOBJDIR)/pcl5c.dev $(PCLOBJDIR)/hpgl2c.dev
+TARGET_DEVS=$(PXLOBJDIR)/pxl.dev $(PCLOBJDIR)/pcl5c.dev $(PCLOBJDIR)/hpgl2c.dev $(METOBJDIR)/met.dev
# Executable path\name w/o the .EXE extension
TARGET_XE=$(GENDIR)/pspcl6
@@ -67,10 +76,11 @@ TARGET_XE=$(GENDIR)/pspcl6
PCL_TOP_OBJ=$(PCLOBJDIR)/pctop.$(OBJ)
PXL_TOP_OBJ=$(PXLOBJDIR)/pxtop.$(OBJ)
PSI_TOP_OBJ=$(PSIOBJDIR)/psitop.$(OBJ)
+MET_TOP_OBJ=$(METOBJDIR)/mettop.$(OBJ)
# Main file's name
MAIN_OBJ=$(PLOBJDIR)/plmain.$(OBJ) $(PLOBJDIR)/plimpl.$(OBJ)
-TOP_OBJ=$(PCL_TOP_OBJ) $(PXL_TOP_OBJ) $(PSI_TOP_OBJ)
+TOP_OBJ=$(PCL_TOP_OBJ) $(PXL_TOP_OBJ) $(PSI_TOP_OBJ) $(MET_TOP_OBJ)
COMPILE_INITS=1
@@ -101,13 +111,13 @@ ifeq ($(PL_SCALER), ufst)
XLDFLAGS=-Xlinker -L../pl/agfa/rts/lib/
# agfa does not use normalized library names (ie we expect libif.a not
# agfa's if_lib.a)
-EXTRALIBS=-lif -lfco -ltt
+EXTRALIBS=-lif -lfco -ltt -lexpat
AGFA_INCLUDES=-I../pl/agfa/rts/inc/ -I../pl/agfa/sys/inc/ -I../pl/agfa/rts/fco/ -I../pl/agfa/rts/gray/ -DAGFA_FONT_TABLE
endif
ifeq ($(PL_SCALER), afs)
LDFLAGS=
-EXTRALIBS=
+EXTRALIBS=-lexpat
endif
# Assorted definitions. Some of these should probably be factored out....
@@ -133,6 +143,7 @@ CCLD=gcc
DD='$(GLGENDIR)$(D)'
+# inclusion of png16.dev is temporary. see pcl6_gcc.mak makefile.
DEVICE_DEVS=$(DD)x11.dev $(DD)x11mono.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev\
$(DD)ljet4.dev $(DD)cljet5pr.dev $(DD)cljet5c.dev\
$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcxcmyk.dev\
@@ -144,6 +155,7 @@ DEVICE_DEVS=$(DD)x11.dev $(DD)x11mono.dev $(DD)x11alpha.dev $(DD)x11cmyk.dev\
FEATURE_DEVS = \
$(DD)psl3.dev \
$(DD)pdf.dev \
+ $(DD)libpng_$(SHARE_LIBPNG).dev \
$(DD)dpsnext.dev \
$(DD)htxlib.dev \
$(DD)roplib.dev \
@@ -162,7 +174,7 @@ include $(PLSRCDIR)/pl.mak
include $(PXLSRCDIR)/pxl.mak
include $(PCLSRCDIR)/pcl.mak
include $(PSISRCDIR)/psi.mak
-
+include $(METSRCDIR)/met.mak
# Main program.
diff --git a/main/pcl6_gcc.mak b/main/pcl6_gcc.mak
index cd5d2fc0f..80d601099 100644
--- a/main/pcl6_gcc.mak
+++ b/main/pcl6_gcc.mak
@@ -21,8 +21,11 @@ ZSRCDIR=../gs/zlib
ZGENDIR=$(GENDIR)
ZOBJDIR=$(GENDIR)
SHARE_ZLIB=0
-SHARE_LIBPNG=0
+SHARE_LIBPNG=1
+PSRCDIR=../gs/libpng
+# only relevant if not shared
+PNGCCFLAGS=-DPNG_USER_MEM_SUPPORTED
# PLPLATFORM indicates should be set to 'ps' for language switch
# builds and null otherwise.
PLPLATFORM=
@@ -143,20 +146,17 @@ CCLD=gcc
DD='$(GLGENDIR)$(D)'
-# NB: hack in png read capability under the png output device instead of a Feature dev.
-# obviously this is temporary
-
DEVICES_DEVS=$(DD)ljet4.dev $(DD)djet500.dev $(DD)cljet5pr.dev $(DD)cljet5c.dev\
$(DD)bitcmyk.dev $(DD)bitrgb.dev $(DD)bitrgbtags.dev $(DD)tr_rgb.dev\
$(DD)pcxmono.dev $(DD)pcxgray.dev $(DD)pcxcmyk.dev $(DD)pswrite.dev $(DD)pdfwrite.dev\
$(DD)pxlmono.dev $(DD)pxlcolor.dev\
- $(DD)bmpmono.dev $(DD)bmpsep8.dev $(DD)png16.dev \
+ $(DD)bmpmono.dev $(DD)bmpsep8.dev \
$(DD)pbmraw.dev $(DD)pgmraw.dev $(DD)ppmraw.dev $(DD)jpeg.dev
FEATURE_DEVS=$(DD)colimlib.dev $(DD)dps2lib.dev $(DD)path1lib.dev\
$(DD)patlib.dev $(DD)psl2cs.dev $(DD)rld.dev $(DD)roplib.dev\
$(DD)ttflib.dev $(DD)cielib.dev $(DD)pipe.dev $(DD)htxlib.dev\
- $(DD)gsnogc.dev $(DD)sdctd.dev\
+ $(DD)gsnogc.dev $(DD)sdctd.dev $(DD)libpng_$(SHARE_LIBPNG).dev\
$(DD)psl3lib.dev $(DD)seprlib.dev $(DD)translib.dev\
$(DD)cidlib.dev $(DD)psf1lib.dev $(DD)psf0lib.dev $(DD)lzwd.dev