diff options
-rw-r--r-- | Jamfile | 183 | ||||
-rw-r--r-- | base/cpudep.c | 2 | ||||
-rw-r--r-- | mupdf/stream.c | 2 |
3 files changed, 119 insertions, 68 deletions
@@ -1,23 +1,68 @@ # -# Jamfile for Fitz -# -# mpage -s4 -f -2 -c -H -W110 include/*/*.h */*.c > listing.ps -# ps2pdf -sPAPERSIZE'='a4 listing.ps +# Build flags # include $(HOME)/.jamrules ; HDRS = include filter ; +# HAVE_JBIG2DEC = yes ; +# HAVE_JASPER = yes ; +# HAVE_X11 = yes ; +# HAVE_GTK = yes ; + +if $(RELEASE) +{ + Echo Release build for $(OS) $(OSPLAT) ; + CCFLAGS += -DARCH_$(OSPLAT) ; + OPTIM = -O3 ; +} +else if $(PROFILE) +{ + Echo Profiling build for $(OS) $(OSPLAT) ; + OPTIM = -g -pg ; +} +else +{ + Echo Debug build for $(OS) $(OSPLAT) ; + OPTIM = -g ; +} + +if $(OS) = LINUX +{ + CCFLAGS += -std=c99 -DHAVE_C99 -Wall ; + CCFLAGS += -DNEED_STRLCPY -DNEED_GETOPT -DNEED_MATH ; +} + +if $(OS) = MACOSX +{ + CCFLAGS += -std=c99 -DHAVE_C99 -Wall -faltivec ; +} + +if $(OS) = NT +{ + NOARSCAN = true ; + CCFLAGS += -std=c99 -DHAVE_C99 -Wall ; + CCFLAGS += -DNEED_STRLCPY -DNEED_STRSEP -DNEED_GETOPT ; +} + +LINKLIBS = -lfreetype -ljpeg -lz -lm ; + +if $(HAVE_JBIG2DEC) { CCFLAGS += -DHAVE_JBIG2DEC ; LINKLIBS += -ljbig2dec ; } +if $(HAVE_JASPER) { CCFLAGS += -DHAVE_JASPER ; LINKLIBS += -ljasper ; } + +# +# Libraries +# + +Library libfitz : + util/getopt.c + util/strsep.c + util/strlcpy.c + util/strlcat.c + ; + Library libfitz : - # util stuff - #util/cleanname.c - #util/getopt.c - #util/strsep.c - #util/strlcpy.c - #util/strlcat.c - - # base runtime base/cpudep.c base/error.c base/memory.c @@ -27,25 +72,25 @@ Library libfitz : base/matrix.c base/hash.c base/rune.c + ; - # object +Library libfitz : object/simple.c object/array.c object/dict.c object/print.c object/parse.c + ; - # filter +Library libfitz : filter/buffer.c filter/filter.c filter/filec.c # unistd.h filter/filer.c # unistd.h filter/filew.c # unistd.h - filter/null.c filter/arc4filter.c filter/pipeline.c - filter/ahxd.c filter/ahxe.c filter/a85d.c @@ -55,35 +100,31 @@ Library libfitz : filter/predict.c filter/lzwd.c filter/lzwe.c - filter/faxd.c filter/faxdtab.c filter/faxe.c filter/faxetab.c - filter/flate.c # libz filter/dctd.c # libjpeg filter/dcte.c # libjpeg - filter/jbig2d.c # jbig2dec - filter/jpxd.c # jasper + ; - # tree +Library libfitz : tree/cmap.c tree/font.c tree/colorspace.c tree/image.c tree/shade.c - tree/tree.c tree/node1.c tree/node2.c tree/text.c tree/path.c - tree/debug.c tree/optimize.c + ; - # render +Library libfitz : render/glyphcache.c render/pixmap.c render/porterduff.c @@ -95,11 +136,14 @@ Library libfitz : render/pathfill.c render/pathstroke.c render/render.c + ; + +if $(HAVE_JBIG2DEC) { Library libfitz : filter/jbig2d.c ; } +if $(HAVE_JASPER) { Library libfitz : filter/jpxd.c ; } - render/archppc.c - render/archsparc.c - render/archx86.c -; +if $(OSPLAT) = PPC { Library libfitz : render/archppc.c ; } +if $(OSPLAT) = SPARC { Library libfitz : render/archsparc.c ; } +if $(OSPLAT) = X86 { Library libfitz : render/archx86.c ; } Library libmupdf : mupdf/debug.c @@ -127,26 +171,28 @@ Library libmupdf : mupdf/xobject.c mupdf/image.c mupdf/pattern.c - mupdf/shade.c - mupdf/shade1.c - mupdf/shade2.c - mupdf/shade3.c - mupdf/shade4.c mupdf/cmap.c mupdf/unicode.c mupdf/fontagl.c mupdf/fontenc.c mupdf/fontfile.c -# mupdf/fontfilefc.c -# mupdf/fontfilems.c mupdf/font.c mupdf/type3.c mupdf/page.c mupdf/build.c mupdf/interpret.c + + mupdf/shade.c + mupdf/shade1.c + mupdf/shade2.c + mupdf/shade3.c + mupdf/shade4.c ; +# Library libmupdf : mupdf/fontfilefc.c ; +# Library libmupdf : mupdf/fontfilems.c ; + rule HexDump { DEPENDS $(<) : $(>) ; @@ -174,7 +220,7 @@ HexDump data/NimbusSanL-ReguItal.c : data/NimbusSanL-ReguItal.cff ; HexDump data/StandardSymL.c : data/StandardSymL.cff ; HexDump data/URWChanceryL-MediItal.c : data/URWChanceryL-MediItal.cff ; -Library libfonts : +Library libmupdf : data/Dingbats.c data/NimbusMonL-Bold.c data/NimbusMonL-BoldObli.c @@ -192,40 +238,43 @@ Library libfonts : data/URWChanceryL-MediItal.c ; -LINKLIBS = - -lfreetype - -ljbig2dec - -ljasper - -ljpeg - -lz - -lm - ; - -LINKLIBS on x11pdf$(SUFEXE) = -lX11 -lXext $(LINKLIBS) ; -LINKLIBS on w32pdf$(SUFEXE) = -lgdi32 $(LINKLIBS) ; - -Main pdfclean : test/pdfclean.c ; -Main pdfdebug : test/pdfdebug.c ; -# Main pdfmerge : test/pdfmerge.c ; -Main pdfrip : test/pdfrip.c ; -# Main pdffunction : test/pdffunction.c ; +# +# Applications +# -Main x11pdf : test/x11pdf.c test/ximage.c ; +if $(OS) = NT +{ + Main w32pdf : test/w32pdf.c ; + LinkLibraries w32pdf : libmupdf libfitz ; + LINKLIBS on w32pdf$(SUFEXE) = -lgdi32 $(LINKLIBS) ; +} -CCFLAGS += `pkg-config --cflags gtk+ gthread` ; -LINKLIBS on gtkpdf = $(LINKLIBS) `pkg-config --libs gtk+ gmodule gthread` ; +if $(OS) = MACOSX +{ + Main carbonpdf : macpdf/carbonpdf.c macpdf/view.c ; + LinkLibraries carbonpdf : libmupdf libfitz ; + LINKLIBS on carbonpdf = -framework Carbon $(LINKLIBS) ; + File macpdf/carbonpdf.app/Contents/MacOS/carbonpdf : carbonpdf ; + MODE on macpdf/carbonpdf.app/Contents/MacOS/carbonpdf = 755 ; +} -LINKLIBS on carbonpdf = $(LINKLIBS) -framework Carbon ; +if $(HAVE_X11) +{ + Main x11pdf : test/x11pdf.c test/ximage.c ; + LinkLibraries x11pdf : libmupdf libfitz ; + LINKLIBS on x11pdf$(SUFEXE) = -lX11 -lXext $(LINKLIBS) ; +} -Main gtkpdf : test/gtkpdf.c ; +if $(HAVE_GTK) +{ + Main gtkpdf : test/gtkpdf.c ; + LinkLibraries x11pdf : libmupdf libfitz ; + CCFLAGS += `pkg-config --cflags gtk+ gthread` ; + LINKLIBS on gtkpdf$(SUFEXE) = `pkg-config --libs gtk+ gmodule gthread` $(LINKLIBS) ; +} -LinkLibraries - pdfclean - pdfdebug - pdfmerge - pdfrip - pdffunction - x11pdf - gtkpdf - : libmupdf libfonts libfitz ; +Main pdfclean : test/pdfclean.c ; +Main pdfdebug : test/pdfdebug.c ; +Main pdfrip : test/pdfrip.c ; +LinkLibraries pdfclean pdfdebug pdfrip : libmupdf libfitz ; diff --git a/base/cpudep.c b/base/cpudep.c index 779ebbb0..ec19fe92 100644 --- a/base/cpudep.c +++ b/base/cpudep.c @@ -7,6 +7,8 @@ Glenn Kennard <d98gk@efd.lth.se> #include <fitz.h> +#include <setjmp.h> + #ifdef WIN32 #define sigjmp_buf jmp_buf #define sigsetjmp(a,b) setjmp(a) diff --git a/mupdf/stream.c b/mupdf/stream.c index c0a99d6d..01958853 100644 --- a/mupdf/stream.c +++ b/mupdf/stream.c @@ -104,7 +104,7 @@ buildonefilter(fz_filter **fp, fz_obj *f, fz_obj *p) return fz_newlzwd(fp, p); } -#ifdef HAVE_JBIG2 +#ifdef HAVE_JBIG2DEC if (!strcmp(s, "JBIG2Decode")) { /* TODO: extract and feed JBIG2Global */ |