summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Jamfile18
-rw-r--r--Jamrules156
-rw-r--r--README36
-rw-r--r--apps/Jamfile47
-rw-r--r--fitz/Jamfile85
-rw-r--r--fitzdraw/Jamfile19
-rw-r--r--mupdf/Jamfile160
7 files changed, 3 insertions, 518 deletions
diff --git a/Jamfile b/Jamfile
deleted file mode 100644
index 74127953..00000000
--- a/Jamfile
+++ /dev/null
@@ -1,18 +0,0 @@
-# --------------------------------------------------------------------------
-#
-# This is the Jamfile used for building Fitz and MuPDF.
-# Put paths and other options in Jamrules, not here.
-#
-# http://public.perforce.com/public/jam/src/Jam.html
-#
-
-SubDir TOP ;
-
-HDRS += [ FDirName $(TOP) fitz ] ;
-HDRS += [ FDirName $(TOP) mupdf ] ;
-HDRS += [ FDirName $(TOP) apps ] ;
-
-SubInclude TOP fitz ;
-SubInclude TOP fitzdraw ;
-SubInclude TOP mupdf ;
-SubInclude TOP apps ;
diff --git a/Jamrules b/Jamrules
deleted file mode 100644
index 4004ffe8..00000000
--- a/Jamrules
+++ /dev/null
@@ -1,156 +0,0 @@
-#
-# Jamrules -- build configurations
-#
-# The default build is for debugging. To compile a release
-# build, add -sBUILD=release to the jam command line. To provide
-# a custom build you can use any name you want instead of release
-# or debug.
-#
-# Windows builds assume that third party headers and
-# libraries are in c:/local/include and c:/local/lib.
-#
-# MacOS X builds assume that you have third party libraries installed
-# in /usr/local or some other system known location.
-#
-# Linux builds assume that you have the freetype2 headers installed
-# in /usr/include/freetype2.
-#
-# If the above assumptions are incorrect, please edit the relevant
-# sections of this Jamrules file.
-#
-# JBIG2 and JPEG2000 support is optional. To compile with this,
-# add the following to the jam command line:
-#
-# -sHAVE_JBIG2DEC=true
-#
-# -sHAVE_OPENJPEG=true
-#
-# To compile without builtin CJK CMap and font support, and save a few
-# megabytes of executable space:
-#
-# -sDEFINES=NOCJK
-#
-
-# Workaround for different OS/OSPLAT settings on FTJam and plain jam
-if $(JAM_TOOLSET) = MINGW { OS = MINGW ; OSPLAT = x86 ; }
-if $(JAM_TOOLSET) = VISUALC { OS = NT ; }
-
-# detect amd64, which isn't in the outdated jambase :(
-if $(OS) = NT {
- if $(Platform) = X64 {
- OSPLAT = amd64 ;
- } else {
- OSPLAT ?= x86 ;
- }
-} else {
- OSPLAT ?= amd64 ;
-}
-
-BUILD ?= debug ;
-
-# Place all build products here:
-ALL_LOCATE_TARGET ?= [ FDirName $(TOP) build $(OS:L)-$(OSPLAT:L)-$(BUILD:L) ] ;
-
-# Add compile time defines for JBIG2 and JPEG2000 support.
-if $(HAVE_JBIG2DEC) { DEFINES += HAVE_JBIG2DEC ; }
-if $(HAVE_OPENJPEG) { DEFINES += HAVE_OPENJPEG ; }
-
-if $(OS) = LINUX
-{
- Echo Building for LINUX ;
-
- BUILD_X11APP = true ;
-
- CCFLAGS = -Wall -std=gnu99 -I/usr/include/freetype2 ;
- LINKFLAGS = -L/usr/X11R6/lib ;
- LINKLIBS = -lfreetype -ljpeg -lz -lm ;
- APPLINKLIBS = -lX11 -lXext -lpthread ;
-
- if $(BUILD) = debug { OPTIM = -g -O0 -fno-inline ; }
- if $(BUILD) = release { OPTIM = -O3 ; }
-
- if $(HAVE_JBIG2DEC) { LINKLIBS += -ljbig2dec ; }
- if $(HAVE_OPENJPEG) { LINKLIBS += -lopenjpeg ; }
-}
-
-if $(OS) = MACOSX
-{
- Echo Building for MACOSX ;
-
- BUILD_X11APP = true ;
-
- CCFLAGS = -Wall -std=gnu99 ;
- LINKFLAGS = -L/usr/X11R6/lib ;
- LINKLIBS = -lfreetype -ljpeg -lz -lm ;
- APPLINKLIBS = -lX11 -lXext ;
-
- if $(BUILD) = debug { OPTIM = -g -O0 -fno-inline ; }
- if $(BUILD) = release { OPTIM = -O3 ; }
-
- if $(HAVE_JBIG2DEC) { LINKLIBS += -ljbig2dec ; }
- if $(HAVE_OPENJPEG) { LINKLIBS += -lopenjpeg ; }
-}
-
-if $(OS) = MINGW
-{
- Echo Building for MINGW ;
-
- NOARSCAN = true ;
-
- BUILD_WINAPP = true ;
- BUILD_PLUGIN = true ;
-
- CCFLAGS = -Wall -std=gnu99 -Ic:/msys/1.0/local/include ;
- LINKFLAGS = -Lc:/msys/1.0/local/lib ;
- LINKLIBS = -lfreetype -ljpeg -lz -lm ;
- APPLINKLIBS = -lgdi32 -lcomdlg32 -luser32 -ladvapi32 -lshell32 ;
-
- if $(BUILD) = debug { OPTIM = -g -O0 -fno-inline ; }
- if $(BUILD) = release { OPTIM = -O3 ; APPLINKLIBS += -mwindows ; }
-
- if $(HAVE_JBIG2DEC) { LINKLIBS += -ljbig2dec ; }
- if $(HAVE_OPENJPEG) { LINKLIBS += -lopenjpeg ; }
-
- actions WindRes { windres -i $(>) -o $(<) --include-dir=$(>:D) }
-}
-
-if $(OS) = NT
-{
- Echo Building for MSVC ;
-
- DEFINES += MSVC ;
-
- BUILD_WINAPP = true ;
-
- CCFLAGS = /I../msvc-include ;
- LINKFLAGS = /LIBPATH:../msvc-lib-$(OSPLAT)
- /NODEFAULTLIB:LIBCMTD /NODEFAULTLIB:MSVCRT ;
- LINKLIBS = freetype.lib libjpeg.lib zlib.lib ;
- APPLINKLIBS = gdi32.lib comdlg32.lib user32.lib shell32.lib ;
-
- if $(BUILD) = debug { }
- if $(BUILD) = release { OPTIM = /O2 ; }
-
- if $(HAVE_JBIG2DEC) { LINKLIBS += jbig2dec.lib ; }
- if $(HAVE_OPENJPEG) { LINKLIBS += openjpeg.lib ; }
-
- actions WindRes { rc /fo $(<) $(>) }
-}
-
-# WindRes rule for compiling the windows viewer and plugin
-
-rule UserObject
-{
- switch $(>)
- {
- case *.rc : WindRes $(<) : $(>) ;
- case * : Echo "unknown suffix on" $(>) ;
- }
-}
-
-rule WindRes
-{
- Depends $(<) : $(>) ;
- Clean clean : $(<) ;
-}
-
diff --git a/README b/README
index f92345ba..6017ca29 100644
--- a/README
+++ b/README
@@ -43,44 +43,14 @@ Before compiling MuPDF you need to install thirdy party dependencies.
zlib
libjpeg
freetype2
-
-There are a few optional dependencies that you don't strictly need.
-
jbig2dec
OpenJPEG
-MuPDF uses the Perforce Jam build tool. You need the Perforce version 2.5
-or later. FTJam will also work. If you do not have a compiled
-binary for your system, you can find the Jam and FTJam web sites here:
-
- http://www.perforce.com/jam/jam.html
- http://www.freetype.org/jam/index.html
-
-I use Mingw and MSYS to compile for Windows. If you use anything
-else, you are on your own.
-
COMPILING
-If all of that is installed, compiling should be a cinch.
-Issue the command 'jam' in the root of the project directory.
-Add a parameter '-sBUILD=release' or '-sBUILD=profile' to
-build release or profile versions.
-
- $ jam '-sBUILD=release'
-
-If the build fails because it cannot find header files or libraries,
-look first in Jamrules to see if there is anything wrong with the
-search paths or compiler flags for your system.
-
-To compile in the optional jbig2 and jpeg2000 support, you need
-to add the following arguments to jam:
-
- $ jam '-sHAVE_JBIG2DEC=yes' '-sHAVE_OPENJPEG=yes'
-
-If you want a crippled version without the builtin CJK fonts and data files,
-to shave a few megabytes off the binary size, add:
-
- $ jam '-sDEFINES=NOCJK'
+You will need to use GNU Make to build with the supplied Makefile.
+It may be necessary to edit the Makefile for your system if it
+cannot find header files or libraries.
DOWNLOAD
diff --git a/apps/Jamfile b/apps/Jamfile
deleted file mode 100644
index 4f56036a..00000000
--- a/apps/Jamfile
+++ /dev/null
@@ -1,47 +0,0 @@
-#
-
-FITZLIBS = libmupdf libfitz libfitzdraw libfonts libcmaps ;
-
-SubDir TOP apps ;
-
-Library libpdfapp : pdfapp.c ;
-Library libpdftool : pdftool.c ;
-
-Main pdfshow : pdfshow.c ;
-LinkLibraries pdfshow : libpdftool $(FITZLIBS) ;
-
-Main pdfclean : pdfclean.c ;
-LinkLibraries pdfclean : libpdftool $(FITZLIBS) ;
-
-Main pdfdraw : pdfdraw.c ;
-LinkLibraries pdfdraw : libpdftool $(FITZLIBS) ;
-
-# Main pdfinfo : pdfinfo.c ;
-# LinkLibraries pdfinfo : libpdftool $(FITZLIBS) ;
-
-# Main pdfextract : pdfextract.c ;
-# LinkLibraries pdfextract : libpdftool $(FITZLIBS) ;
-
-if $(BUILD_WINAPP)
-{
- Main mupdf : win_main.c win_res.rc ;
- LinkLibraries mupdf : libpdfapp $(FITZLIBS) ;
- LINKLIBS on mupdf$(SUFEXE) = $(LINKLIBS) $(APPLINKLIBS) ;
-}
-
-if $(BUILD_X11APP)
-{
- Main mupdf : x11_main.c x11_image.c ;
- LinkLibraries mupdf : libpdfapp $(FITZLIBS) ;
- LINKLIBS on mupdf$(SUFEXE) = $(LINKLIBS) $(APPLINKLIBS) ;
-}
-
-if $(BUILD_PLUGIN)
-{
- SubDir TOP apps mozilla ;
- SUFEXE on npmupdf.dll = ;
- LINKFLAGS on npmupdf.dll = $(LINKFLAGS) -shared -Wl,--kill-at ;
- LINKLIBS on npmupdf.dll = $(LINKLIBS) $(APPLINKLIBS) ;
- Main npmupdf.dll : npwin.c moz_winres.rc moz_main.c ;
- LinkLibraries npmupdf.dll : $(FITZLIBS) ;
-}
diff --git a/fitz/Jamfile b/fitz/Jamfile
deleted file mode 100644
index 0942ea02..00000000
--- a/fitz/Jamfile
+++ /dev/null
@@ -1,85 +0,0 @@
-#
-#
-#
-
-SubDir TOP fitz ;
-
-#
-# The base runtime support, and patching over
-# platform specific wonkyness.
-#
-
-Library libfitz :
- base_cpudep.c
- base_error.c
- base_hash.c
- base_matrix.c
- base_memory.c
- base_rect.c
- base_string.c
- base_unicode.c
- ;
-
-Library libfitz : util_getopt.c ;
-
-# MSVC does not have gettimeofday()
-if $(OS) = NT
-{
- Library libfitz : util_gettimeofday.c ;
-}
-
-#
-# Encryption, carousel-object-system, filters, buffers and streams.
-#
-
-Library libfitz :
-
- crypt_aes.c
- crypt_arc4.c
- crypt_crc32.c
- crypt_md5.c
-
- obj_array.c
- obj_dict.c
- obj_parse.c
- obj_print.c
- obj_simple.c
-
- stm_buffer.c
- stm_filter.c
- stm_open.c
- stm_read.c
- stm_misc.c
-
- filt_pipeline.c
- filt_basic.c
- filt_arc4.c
- filt_aesd.c
- filt_dctd.c
- filt_faxd.c
- filt_faxdtab.c
- filt_flate.c
- filt_lzwd.c
- filt_predict.c
-
- ;
-
-if $(HAVE_JBIG2DEC) { Library libfitz : filt_jbig2d.c ; }
-if $(HAVE_OPENJPEG) { Library libfitz : filt_jpxd.c ; }
-
-#
-# Resources.
-#
-
-Library libfitz :
- node_path.c
- node_text.c
- res_colorspace.c
- res_font.c
- res_shade.c
- dev_null.c
- dev_trace.c
- dev_draw.c
- dev_text.c
- # dev_ghost.c
- ;
diff --git a/fitzdraw/Jamfile b/fitzdraw/Jamfile
deleted file mode 100644
index b1489b93..00000000
--- a/fitzdraw/Jamfile
+++ /dev/null
@@ -1,19 +0,0 @@
-SubDir TOP fitzdraw ;
-
-Library libfitzdraw :
- glyphcache.c
- pixmap.c
- porterduff.c
- meshdraw.c
- imagedraw.c
- imageunpack.c
- imagescale.c
- pathscan.c
- pathfill.c
- pathstroke.c
- blendmodes.c
- ;
-
-if $(OSPLAT) = PPC { Library libfitzdraw : archppc.c ; }
-if $(OSPLAT) = SPARC { Library libfitzdraw : archsparc.c ; }
-if $(OSPLAT) = X86 { Library libfitzdraw : archx86.c ; }
diff --git a/mupdf/Jamfile b/mupdf/Jamfile
deleted file mode 100644
index 7b81d5fb..00000000
--- a/mupdf/Jamfile
+++ /dev/null
@@ -1,160 +0,0 @@
-#
-#
-#
-
-SubDir TOP mupdf ;
-
-Main fontdump : fontdump.c ;
-Main cmapdump : cmapdump.c ;
-
-Library libmupdf :
-
- # syntax layer
- pdf_crypt.c
- pdf_debug.c
- pdf_lex.c
- pdf_nametree.c
- pdf_open.c
- pdf_parse.c
- pdf_repair.c
- pdf_stream.c
- pdf_xref.c
-
- # metadata layer
- pdf_annot.c
- pdf_outline.c
-
- # fonts
- pdf_cmap.c
- pdf_cmap_parse.c
- pdf_cmap_load.c
- pdf_cmap_table.c
-
- pdf_fontagl.c
- pdf_fontenc.c
- pdf_unicode.c
- pdf_font.c
- pdf_type3.c
- pdf_fontmtx.c
- pdf_fontfile.c
-
- # other resources
- pdf_function.c
- pdf_colorspace1.c
- pdf_colorspace2.c
- pdf_image.c
- pdf_pattern.c
- pdf_shade.c
- pdf_shade1.c
- pdf_shade4.c
- pdf_xobject.c
-
- # pages, resource dictionaries, ...
- pdf_interpret.c
- pdf_build.c
- pdf_page.c
- pdf_pagetree.c
- pdf_store.c
-
- ;
-
-# The CMaps come from Adobe:
-# http://opensource.adobe.com/wiki/display/cmap/CMap+Resources
-# http://opensource.adobe.com/wiki/display/pdfmapping/Mapping+Resources+for+PDF
-
-SubDir TOP cmaps ;
-
-GenFile cmap_tounicode.c : cmapdump
- Adobe-CNS1-UCS2 Adobe-GB1-UCS2
- Adobe-Japan1-UCS2 Adobe-Korea1-UCS2 ;
-
-GenFile cmap_cns.c : cmapdump
- Adobe-CNS1-0 Adobe-CNS1-1 Adobe-CNS1-2 Adobe-CNS1-3
- Adobe-CNS1-4 Adobe-CNS1-5 Adobe-CNS1-6 B5-H B5-V B5pc-H B5pc-V
- CNS-EUC-H CNS-EUC-V CNS1-H CNS1-V CNS2-H CNS2-V ETen-B5-H
- ETen-B5-V ETenms-B5-H ETenms-B5-V ETHK-B5-H ETHK-B5-V
- HKdla-B5-H HKdla-B5-V HKdlb-B5-H HKdlb-B5-V HKgccs-B5-H
- HKgccs-B5-V HKm314-B5-H HKm314-B5-V HKm471-B5-H HKm471-B5-V
- HKscs-B5-H HKscs-B5-V UniCNS-UCS2-H UniCNS-UCS2-V
- UniCNS-UTF16-H UniCNS-UTF16-V ;
-
-GenFile cmap_gb.c : cmapdump
- Adobe-GB1-0 Adobe-GB1-1 Adobe-GB1-2 Adobe-GB1-3 Adobe-GB1-4
- Adobe-GB1-5 GB-EUC-H GB-EUC-V GB-H GB-V GBK-EUC-H GBK-EUC-V
- GBK2K-H GBK2K-V GBKp-EUC-H GBKp-EUC-V GBpc-EUC-H GBpc-EUC-V
- GBT-EUC-H GBT-EUC-V GBT-H GBT-V GBTpc-EUC-H GBTpc-EUC-V
- UniGB-UCS2-H UniGB-UCS2-V UniGB-UTF16-H UniGB-UTF16-V ;
-
-GenFile cmap_japan.c : cmapdump
- 78-EUC-H 78-EUC-V 78-H 78-RKSJ-H 78-RKSJ-V 78-V 78ms-RKSJ-H
- 78ms-RKSJ-V 83pv-RKSJ-H 90ms-RKSJ-H 90ms-RKSJ-V 90msp-RKSJ-H
- 90msp-RKSJ-V 90pv-RKSJ-H 90pv-RKSJ-V Add-H Add-RKSJ-H
- Add-RKSJ-V Add-V Adobe-Japan1-0 Adobe-Japan1-1 Adobe-Japan1-2
- Adobe-Japan1-3 Adobe-Japan1-4 Adobe-Japan1-5 Adobe-Japan1-6
- EUC-H EUC-V Ext-H Ext-RKSJ-H Ext-RKSJ-V Ext-V H Hankaku
- Hiragana Katakana NWP-H NWP-V RKSJ-H RKSJ-V Roman
- UniJIS-UCS2-H UniJIS-UCS2-HW-H UniJIS-UCS2-HW-V UniJIS-UCS2-V
- UniJISPro-UCS2-HW-V UniJISPro-UCS2-V V WP-Symbol
- Adobe-Japan2-0 Hojo-EUC-H Hojo-EUC-V Hojo-H Hojo-V
- UniHojo-UCS2-H UniHojo-UCS2-V UniHojo-UTF16-H UniHojo-UTF16-V
- UniJIS-UTF16-H UniJIS-UTF16-V ;
-
-GenFile cmap_korea.c : cmapdump
- Adobe-Korea1-0 Adobe-Korea1-1 Adobe-Korea1-2 KSC-EUC-H
- KSC-EUC-V KSC-H KSC-Johab-H KSC-Johab-V KSC-V KSCms-UHC-H
- KSCms-UHC-HW-H KSCms-UHC-HW-V KSCms-UHC-V KSCpc-EUC-H
- KSCpc-EUC-V UniKS-UCS2-H UniKS-UCS2-V UniKS-UTF16-H UniKS-UTF16-V ;
-
-Library libcmaps :
- cmap_tounicode.c
- cmap_cns.c
- cmap_gb.c
- cmap_japan.c
- cmap_korea.c
- ;
-
-# The base 14 fonts are the Type1 URW fonts converted to raw CFF format.
-# DroidSansFallback.ttf is a compact CJK font from Google's Android project.
-
-SubDir TOP fonts ;
-
-GenFile font_misc.c : fontdump
- Dingbats.cff
- StandardSymL.cff
- URWChanceryL-MediItal.cff
- ;
-
-GenFile font_mono.c : fontdump
- NimbusMonL-Regu.cff
- NimbusMonL-ReguObli.cff
- NimbusMonL-Bold.cff
- NimbusMonL-BoldObli.cff
- ;
-
-GenFile font_serif.c : fontdump
- NimbusRomNo9L-Regu.cff
- NimbusRomNo9L-ReguItal.cff
- NimbusRomNo9L-Medi.cff
- NimbusRomNo9L-MediItal.cff
- ;
-
-GenFile font_sans.c : fontdump
- NimbusSanL-Bold.cff
- NimbusSanL-BoldItal.cff
- NimbusSanL-Regu.cff
- NimbusSanL-ReguItal.cff
- ;
-
-Library libfonts :
- font_misc.c
- font_mono.c
- font_serif.c
- font_sans.c
- ;
-
-if ! ( NOCJK in $(DEFINES) )
-{
- SubDir TOP fonts droid ;
- GenFile font_cjk.c : fontdump DroidSansFallback.ttf ;
- Library libfonts : font_cjk.c ;
-}