diff options
author | Ralph Giles <ralph.giles@artifex.com> | 2003-04-15 14:12:06 +0000 |
---|---|---|
committer | Ralph Giles <ralph.giles@artifex.com> | 2003-04-15 14:12:06 +0000 |
commit | 9f854a22268b0f11ba4e001a8dc70f07bd52c3c5 (patch) | |
tree | 3fc954c4c0b7b3e96ce15d391815de6dc515d39a | |
parent | 30c1a47dcf5ff97635b0ebb50eca58d3b96118fc (diff) | |
download | ghostpdl-9f854a22268b0f11ba4e001a8dc70f07bd52c3c5.tar.gz |
Add support for compiling in libjbig2dec statically from source. This makefile
is only good for v0.2.
git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@3828 a1074d23-0009-0410-80fe-cf8c14f379e6
-rw-r--r-- | gs/src/Makefile.in | 7 | ||||
-rw-r--r-- | gs/src/all-arch.mak | 2 | ||||
-rw-r--r-- | gs/src/configure.ac | 26 | ||||
-rw-r--r-- | gs/src/gs.mak | 9 | ||||
-rw-r--r-- | gs/src/jbig2.mak | 158 | ||||
-rw-r--r-- | gs/src/lib.mak | 4 | ||||
-rw-r--r-- | gs/src/unix-gcc.mak | 7 | ||||
-rw-r--r-- | gs/src/unixansi.mak | 5 |
8 files changed, 208 insertions, 10 deletions
diff --git a/gs/src/Makefile.in b/gs/src/Makefile.in index 8176e9371..a14e58293 100644 --- a/gs/src/Makefile.in +++ b/gs/src/Makefile.in @@ -1,4 +1,4 @@ -# Copyright (C) 1997, 2002 artofcode LLC. All rights reserved. +# Copyright (C) 1997, 2003 artofcode LLC. All rights reserved. # # This software is provided AS-IS with no warranty, either express or # implied. @@ -161,6 +161,10 @@ ZSRCDIR=@ZLIBDIR@ #ZLIB_NAME=gz ZLIB_NAME=z +# Choose shared or compiled in libjbig2dec and source location +SHARE_JBIG2=@SHARE_JBIG2@ +JBIG2SRCDIR=@JBIG2DIR@ + # Define the directory where the icclib source are stored. # See icclib.mak for more information @@ -410,6 +414,7 @@ include $(GLSRCDIR)/jpeg.mak # zlib.mak must precede libpng.mak include $(GLSRCDIR)/zlib.mak include $(GLSRCDIR)/libpng.mak +include $(GLSRCDIR)/jbig2.mak include $(GLSRCDIR)/icclib.mak include $(GLSRCDIR)/ijs.mak include $(GLSRCDIR)/devs.mak diff --git a/gs/src/all-arch.mak b/gs/src/all-arch.mak index a0bf7c131..dcb62d72a 100644 --- a/gs/src/all-arch.mak +++ b/gs/src/all-arch.mak @@ -184,7 +184,7 @@ COMMON_ARGS = DEVICE_DEVS_EXTRA='$(DEVICE_DEVS_EXTRA)' \ JSRCDIR='$(JSRCDIR)' \ PNGSRCDIR='$(PNGSRCDIR)' \ PSRCDIR='$(PNGSRCDIR)' \ - PVERSION=10204 \ + PVERSION=10205 \ SHARE_LIBPNG='$(SHARE_LIBPNG)' \ SHARE_ZLIB='$(SHARE_ZLIB)' \ XCFLAGS='$(XCFLAGS)' \ diff --git a/gs/src/configure.ac b/gs/src/configure.ac index 0495106e1..e26f53932 100644 --- a/gs/src/configure.ac +++ b/gs/src/configure.ac @@ -208,17 +208,35 @@ AC_SUBST(IJSDEVS) dnl look for jbig2dec AC_ARG_WITH(jbig2dec, AC_HELP_STRING([--with-jbig2dec],[include JBIG2 decode support])) +JBIG2DIR=src +SHARE_JBIG2=0 JBIG2DEVS='' if test x$with_jbig2dec != xno; then + AC_MSG_CHECKING([for local jbig2dec library source]) + for d in jbig2dec jbig2dec-0.2; do + test -d "$d" && JBIG2DIR=$d && break + done + if test "x$JBIG2DIR" != xsrc; then + AC_MSG_RESULT([$JBIG2DIR]) + else + AC_MSG_RESULT([no]) AC_CHECK_LIB([jbig2dec], [jbig2_page_out], [ - JBIG2DEVS='$(PSD)jbig2.dev' - if test x$ac_cv_header_stdint_h != xyes; then - AC_MSG_WARN([JBIG2 support requires stdint types which do not seem to be available.]) - fi + SHARE_JBIG2=1 ], [ AC_MSG_WARN([disabling support for JBIG2 files]) + with_jbig2dec=no ]) + fi +fi +if test x$with_jbig2dec != xno; then + JBIG2DEVS='$(PSD)jbig2.dev' + if test x$ac_cv_header_stdint_h != xyes; then + AC_MSG_WARN([JBIG2 support requires stdint types which do not seem to be available.]) + fi fi + +AC_SUBST(JBIG2DIR) +AC_SUBST(SHARE_JBIG2) AC_SUBST(JBIG2DEVS) dnl optional X11 for display devices diff --git a/gs/src/gs.mak b/gs/src/gs.mak index efeb6c573..acb0bf07a 100644 --- a/gs/src/gs.mak +++ b/gs/src/gs.mak @@ -1,4 +1,4 @@ -# Copyright (C) 1989, 1996-9, 2002 artofcode LLC. All rights reserved. +# Copyright (C) 1989, 1996-2003 artofcode LLC. All rights reserved. # # This software is provided AS-IS with no warranty, either express or # implied. @@ -54,6 +54,11 @@ # and linking libgz/libz explicitly. # ZLIB_NAME - the name of the shared zlib, either gz (for libgz, -lgz) # or z (for libz, -lz). +# SHARE_JBIG2 - normally 0; if set to 1, asks the linker to use +# an existing complied libjbig2dec instead of compiling and linking +# in from a local copy of the source +# JBIG2SRCDIR - the name of the jbig2dec library source directory +# typically 'jbig2dec' or 'jbig2dec-/version/' # ICCSRCDIR - the name of the ICC lib source dir, currently # always icclib (compiled in statically) # DEVICE_DEVS - the devices to include in the executable. @@ -209,6 +214,8 @@ PNGGENDIR=$(GLGENDIR) PNGOBJDIR=$(GLOBJDIR) ZGENDIR=$(GLGENDIR) ZOBJDIR=$(GLOBJDIR) +JBIG2GENDIR=$(GLGENDIR) +JBIG2OBJDIR=$(GLOBJDIR) ICCGENDIR=$(GLGENDIR) ICCOBJDIR=$(GLOBJDIR) IJSGENDIR=$(GLGENDIR) diff --git a/gs/src/jbig2.mak b/gs/src/jbig2.mak new file mode 100644 index 000000000..835f00c15 --- /dev/null +++ b/gs/src/jbig2.mak @@ -0,0 +1,158 @@ +# Copyright (C) 2003 artofcode LLC. 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. +# +# For more information about licensing, please refer to +# http://www.ghostscript.com/licensing/. For information on +# commercial licensing, go to http://www.artifex.com/licensing/ or +# contact Artifex Software, Inc., 101 Lucas Valley Road #110, +# San Rafael, CA 94903, U.S.A., +1(415)492-9861. + +# $Id$ +# makefile for jbig2dec library code. +# Users of this makefile must define the following: +# SHARE_JBIG2 - whether to compile in or link to the library +# JBIG2SRCDIR - the library source directory +# +# gs.mak and friends define the following: +# JBIG2OBJDIR - the output obj directory +# JBIG2GENDIR - generated (.dev) file directory +# and the usual gs portability stuff. + +# This partial makefile compiles the jbig2dec library for use in +# Ghostscript. + +# Define the name of this makefile. +JBIG2_MAK=$(GLSRC)jbig2.mak + +JBIG2SRC=$(JBIG2SRCDIR)$(D) +JBIG2GEN=$(JBIG2OBJDIR)$(D) +JBIG2OBJ=$(JBIG2OBJDIR)$(D) +# This list is only good for jbig2dec v0.2 + +libjbig2_OBJS=\ + $(JBIG2OBJ)jbig2.$(OBJ) \ + $(JBIG2OBJ)jbig2_arith.$(OBJ) \ + $(JBIG2OBJ)jbig2_arith_iaid.$(OBJ) \ + $(JBIG2OBJ)jbig2_arith_int.$(OBJ) \ + $(JBIG2OBJ)jbig2_generic.$(OBJ) \ + $(JBIG2OBJ)jbig2_huffman.$(OBJ) \ + $(JBIG2OBJ)jbig2_image.$(OBJ) \ + $(JBIG2OBJ)jbig2_image_pbm.$(OBJ) \ + $(JBIG2OBJ)jbig2_image_png.$(OBJ) \ + $(JBIG2OBJ)jbig2_mmr.$(OBJ) \ + $(JBIG2OBJ)jbig2_page.$(OBJ) \ + $(JBIG2OBJ)jbig2_segment.$(OBJ) \ + $(JBIG2OBJ)jbig2_symbol_dict.$(OBJ) \ + $(JBIG2OBJ)jbig2_text.$(OBJ) \ + $(JBIG2OBJ)jbig2_metadata.$(OBJ) + +libjbig2_HDRS=\ + $(JBIG2SRC)jbig2.h \ + $(JBIG2SRC)jbig2_arith.h \ + $(JBIG2SRC)jbig2_arith_iaid.h \ + $(JBIG2SRC)jbig2_arith_int.h \ + $(JBIG2SRC)jbig2_generic.h \ + $(JBIG2SRC)jbig2_huffman.h \ + $(JBIG2SRC)jbig2_hufftab.h \ + $(JBIG2SRC)jbig2_image.h \ + $(JBIG2SRC)jbig2_mmr.h \ + $(JBIG2SRC)jbig2_priv.h \ + $(JBIG2SRC)jbig2_symbol_dict.h \ + $(JBIG2SRC)jbig2_metadata.h \ + $(JBIG2SRC)config_win32.h + +jbig2dec_OBJS=$(JBIG2OBJ)getopt.$(OBJ) $(JBIG2OBJ)getopt1.$(OBJ) $(JBIG2OBJ)sha1.$(OBJ) +jbig2dec_HDRS=$(JBIG2OBJ)getopt.h $(JBIG2OBJ)sha1.h + +jbig2.clean : jbig2.config-clean jbig2.clean-not-config-clean + +### WRONG. MUST DELETE OBJ AND GEN FILES SELECTIVELY. +jbig2.clean-not-config-clean : + $(EXP)$(ECHOGS_XE) $(JBIG2SRCDIR) $(JBIG2OBJDIR) + $(RM_) $(JBIG2OBJDIR)$(D)*..$(OBJ) + +jbig2.config-clean : + $(RMN_) $(JBIG2GEN)$(D)jbig2*.dev + +JBIG2DEP=$(AK) + +JBIG2_CC=$(CC_) $(CFLAGS) $(I_)$(JBIG2GENDIR) $(II)$(JBIG2SRCDIR)$(_I) +JBIG2O_=$(O_)$(JBIG2OBJ) + +# switch in the version of libjbig2.dev we're actually using +$(JBIG2GEN)libjbig2.dev : $(TOP_MAKEFILES) $(JBIG2GEN)libjbig2_$(SHARE_JBIG2).dev + $(CP_) $(JBIG2GEN)libjbig2_$(SHARE_JBIG2).dev $(JBIG2GEN)libjbig2.dev + +# dev file for shared (separately built) jbig2dec library +$(JBIG2GEN)libjbig2_1.dev : $(TOP_MAKEFILES) $(JBIG2_MAK) $(ECHOGS_XE) + $(SETMOD) $(JBIG2GEN)libjbig2_1 -lib jbig2dec + +# dev file for compiling our own from source +$(JBIG2GEN)libjbig2_0.dev : $(TOP_MAKEFILES) $(JBIG2_MAK) $(ECHOGS_XE) $(libjbig2_OBJS) + $(SETMOD) $(JBIG2GEN)libjbig2_0 $(libjbig2_OBJS) + +# explicit rules for building the source files. + +$(JBIG2OBJ)getopt.$(OBJ) : $(JBIG2SRC)getopt.c $(JBIG2SRC)getopt.h $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)getopt.$(OBJ) $(C_) $(JBIG2SRC)getopt.c + +$(JBIG2OBJ)getopt1.$(OBJ) : $(JBIG2SRC)getopt1.c $(JBIG2SRC)getopt.h $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)getopt1.$(OBJ) $(C_) $(JBIG2SRC)getopt1.c + +$(JBIG2OBJ)jbig2.$(OBJ) : $(JBIG2SRC)jbig2.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2.$(OBJ) $(C_) $(JBIG2SRC)jbig2.c + +$(JBIG2OBJ)jbig2_arith.$(OBJ) : $(JBIG2SRC)jbig2_arith.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_arith.$(OBJ) $(C_) $(JBIG2SRC)jbig2_arith.c + +$(JBIG2OBJ)jbig2_arith_iaid.$(OBJ) : $(JBIG2SRC)jbig2_arith_iaid.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_arith_iaid.$(OBJ) $(C_) $(JBIG2SRC)jbig2_arith_iaid.c + +$(JBIG2OBJ)jbig2_arith_int.$(OBJ) : $(JBIG2SRC)jbig2_arith_int.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_arith_int.$(OBJ) $(C_) $(JBIG2SRC)jbig2_arith_int.c + +$(JBIG2OBJ)jbig2_generic.$(OBJ) : $(JBIG2SRC)jbig2_generic.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_generic.$(OBJ) $(C_) $(JBIG2SRC)jbig2_generic.c + +$(JBIG2OBJ)jbig2_huffman.$(OBJ) : $(JBIG2SRC)jbig2_huffman.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_huffman.$(OBJ) $(C_) $(JBIG2SRC)jbig2_huffman.c + +$(JBIG2OBJ)jbig2_image.$(OBJ) : $(JBIG2SRC)jbig2_image.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_image.$(OBJ) $(C_) $(JBIG2SRC)jbig2_image.c + +$(JBIG2OBJ)jbig2_image_pbm.$(OBJ) : $(JBIG2SRC)jbig2_image_pbm.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_image_pbm.$(OBJ) $(C_) $(JBIG2SRC)jbig2_image_pbm.c + +$(JBIG2OBJ)jbig2_image_png.$(OBJ) : $(JBIG2SRC)jbig2_image_png.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_image_png.$(OBJ) $(C_) $(JBIG2SRC)jbig2_image_png.c + +$(JBIG2OBJ)jbig2_mmr.$(OBJ) : $(JBIG2SRC)jbig2_mmr.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_mmr.$(OBJ) $(C_) $(JBIG2SRC)jbig2_mmr.c + +$(JBIG2OBJ)jbig2_page.$(OBJ) : $(JBIG2SRC)jbig2_page.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_page.$(OBJ) $(C_) $(JBIG2SRC)jbig2_page.c + +$(JBIG2OBJ)jbig2_segment.$(OBJ) : $(JBIG2SRC)jbig2_segment.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_segment.$(OBJ) $(C_) $(JBIG2SRC)jbig2_segment.c + +$(JBIG2OBJ)jbig2_symbol_dict.$(OBJ) : $(JBIG2SRC)jbig2_symbol_dict.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_symbol_dict.$(OBJ) $(C_) $(JBIG2SRC)jbig2_symbol_dict.c + +$(JBIG2OBJ)jbig2_text.$(OBJ) : $(JBIG2SRC)jbig2_text.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_text.$(OBJ) $(C_) $(JBIG2SRC)jbig2_text.c + +$(JBIG2OBJ)jbig2_metadata.$(OBJ) : $(JBIG2SRC)jbig2_metadata.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2_metadata.$(OBJ) $(C_) $(JBIG2SRC)jbig2_metadata.c + +$(JBIG2OBJ)jbig2dec.$(OBJ) : $(JBIG2SRC)jbig2dec.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)jbig2dec.$(OBJ) $(C_) $(JBIG2SRC)jbig2dec.c + +$(JBIG2OBJ)sha1.$(OBJ) : $(JBIG2SRC)sha1.c $(libjbig2_HDRS) $(JBIG2DEP) + $(JBIG2_CC) $(JBIG2O_)sha1.$(OBJ) $(C_) $(JBIG2SRC)sha1.c + diff --git a/gs/src/lib.mak b/gs/src/lib.mak index a3e739253..9d5de0581 100644 --- a/gs/src/lib.mak +++ b/gs/src/lib.mak @@ -1339,9 +1339,9 @@ $(GLOBJ)sarc4.$(OBJ) : $(GLSRC)sarc4.c $(AK) $(memory__h)\ # ---------------- JBIG2 compression filter ---------------- # sjbig2_=$(GLOBJ)sjbig2.$(OBJ) -$(GLD)sjbig2.dev : $(LIB_MAK) $(ECHOGS_XE) $(sjbig2_) +$(GLD)sjbig2.dev : $(LIB_MAK) $(ECHOGS_XE) $(GLD)libjbig2.dev $(sjbig2_) $(SETMOD) $(GLD)sjbig2 $(sjbig2_) - $(ADDMOD) $(GLD)sjbig2 -lib jbig2dec + $(ADDMOD) $(GLD)sjbig2 -include $(GLD)libjbig2.dev $(GLOBJ)sjbig2.$(OBJ) : $(GLSRC)sjbig2.c $(AK) \ $(gserror_h) $(gserrors_h) $(gdebug_h) $(sjbig2_h) $(strimpl_h) diff --git a/gs/src/unix-gcc.mak b/gs/src/unix-gcc.mak index d0b3137b6..499506a81 100644 --- a/gs/src/unix-gcc.mak +++ b/gs/src/unix-gcc.mak @@ -152,7 +152,7 @@ JPEG_NAME=jpeg # See libpng.mak for more information. PSRCDIR=libpng -PVERSION=10204 +PVERSION=10205 # Choose whether to use a shared version of the PNG library, and if so, # what its name is. @@ -174,6 +174,10 @@ SHARE_ZLIB=0 #ZLIB_NAME=gz ZLIB_NAME=z +# Choose shared or compiled in libjbig2dec and source location +SHARE_JBIG2=0 +JBIG2SRCDIR=jbig2dec + # Define the directory where the icclib source are stored. # See icclib.mak for more information @@ -446,6 +450,7 @@ include $(GLSRCDIR)/jpeg.mak # zlib.mak must precede libpng.mak include $(GLSRCDIR)/zlib.mak include $(GLSRCDIR)/libpng.mak +include $(GLSRCDIR)/jbig2.mak include $(GLSRCDIR)/icclib.mak include $(GLSRCDIR)/ijs.mak include $(GLSRCDIR)/devs.mak diff --git a/gs/src/unixansi.mak b/gs/src/unixansi.mak index 0b9082c93..500b721dd 100644 --- a/gs/src/unixansi.mak +++ b/gs/src/unixansi.mak @@ -164,6 +164,10 @@ SHARE_ZLIB=0 #ZLIB_NAME=gz ZLIB_NAME=z +# Choose shared or compiled in libjbig2dec and source location +SHARE_JBIG2=0 +JBIG2SRCDIR=jbig2dec + # Define the directory where the icclib source are stored. # See icclib.mak for more information @@ -385,6 +389,7 @@ include $(GLSRCDIR)/jpeg.mak # zlib.mak must precede libpng.mak include $(GLSRCDIR)/zlib.mak include $(GLSRCDIR)/libpng.mak +include $(GLSRCDIR)/jbig2.mak include $(GLSRCDIR)/icclib.mak include $(GLSRCDIR)/ijs.mak include $(GLSRCDIR)/devs.mak |