Commit 4844d430 authored by Kan-Ru Chen's avatar Kan-Ru Chen

New upstream version 1.11+ds1

parent 9e9fed46
# editorconfig.org settings for mupdf project
root = true
[*]
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf
[memento.*]
indent_style = space
indent_size = 4
......@@ -2,15 +2,21 @@
[attr]tabs whitespace=trailing-space,space-before-tab,indent-with-non-tab,tabwidth=4
[attr]spaces whitespace=trailing-space,space-before-tab,tabs-in-indent
# Files:
# Source files:
* text=auto
Make* tabs
*.mk tabs
*.[chm] tabs
*.java tabs
*.xml tabs
build.xml spaces
# Documentation files:
*.txt spaces
# Legacy source files:
memento.* spaces
*.vcxproj* spaces
jmem* spaces
*.gradle spaces
# iOS project files:
*.xib spaces
*.xcscheme spaces
*.json spaces
# Optional thirdparty libraryes
thirdparty/luratech
thirdparty/jpegxr
# Generated files:
build
generated
......@@ -10,6 +14,7 @@ cscope.*
*~
.*.swp
.DS_Store
\#*\#
# Editor settings:
.vimrc
......@@ -21,18 +26,33 @@ cscope.*
*.pdf
*.xps
*.epub
*.html
*.fb2
*.xhtml
*.css
*.svg
*.pam
*.pbm
*.pgm
*.ppm
*.png
*.jpg
*.jpeg
*.pcl
*.ps
# Temporary and build files:
*.class
*.jar
*.o
*.so
*.zip
*.dll
DerivedData
platform/java/obj
platform/java/libs
platform/java/local.properties
platform/win32/*.user
platform/win32/*.ncb
platform/win32/*.suo
......@@ -43,13 +63,3 @@ platform/win32/Release
platform/win32/ReleaseOpenssl
platform/win32/Memento
platform/win32/x64
platform/android/*/obj
platform/android/*/bin
platform/android/*/libs
platform/android/*/gen
platform/android/*/jni/andprof
platform/android/*/local.properties
platform/android/*/.classpath
platform/android/*/.project
platform/android/*/.settings
[submodule "thirdparty/jbig2dec"]
path = thirdparty/jbig2dec
url = git://git.ghostscript.com/jbig2dec.git
url = ../jbig2dec.git
[submodule "thirdparty/mujs"]
path = thirdparty/mujs
url = git://git.ghostscript.com/mujs.git
url = ../mujs.git
[submodule "thirdparty/freetype"]
path = thirdparty/freetype
url = git://git.ghostscript.com/thirdparty/freetype.git
url = ../thirdparty-freetype2.git
[submodule "thirdparty/harfbuzz"]
path = thirdparty/harfbuzz
url = git://git.ghostscript.com/thirdparty/harfbuzz.git
url = ../thirdparty-harfbuzz.git
[submodule "thirdparty/jpeg"]
path = thirdparty/jpeg
url = git://git.ghostscript.com/thirdparty/jpeg.git
path = thirdparty/libjpeg
url = ../thirdparty-libjpeg.git
[submodule "thirdparty/openjpeg"]
path = thirdparty/openjpeg
url = git://git.ghostscript.com/thirdparty/openjpeg.git
url = ../thirdparty-openjpeg.git
[submodule "thirdparty/zlib"]
path = thirdparty/zlib
url = git://git.ghostscript.com/thirdparty/zlib.git
url = ../thirdparty-zlib.git
[submodule "thirdparty/glfw"]
path = thirdparty/glfw
url = git://git.ghostscript.com/thirdparty/glfw.git
url = ../thirdparty-glfw.git
[submodule "thirdparty/curl"]
path = thirdparty/curl
url = git://git.ghostscript.com/thirdparty/curl.git
url = ../thirdparty-curl.git
List of changes in MuPDF 1.11
* This is primarily a bug fix release.
* Split Android and iOS viewers into separate projects:
* mupdf-viewer-ios.git has the iOS viewer.
* mupdf-viewer-android-old.git has the Android viewer.
* mupdf-viewer-android-nui.git has a new advanced Android viewer.
* mupdf-viewer-android-mini.git has a new minimalist Android viewer.
* PDF portfolio support with command line tool "mutool portfolio".
* Add callbacks to load fallback fonts from the system.
* Use system fonts in Android to reduce install size.
* Flag to disable publisher styles in EPUB layout.
* Improved SVG output.
List of changes in MuPDF 1.10
* Headline changes:
* FictionBook (FB2) e-book support.
* Simple SVG parser (a small subset of SVG only).
* mutool convert: a new document conversion tool and interface.
* Multi-threaded rendering in mudraw.
* Luratech decoders for JBIG2 and JPEG2000 (commercial releases only).
* Optional JPEG-XR support (not included by default for security reasons).
* Updated base 14 fonts from URW.
* New CJK font with language specific variants.
* Hyperlink support in EPUB.
* Reduced memory use:
* New tool muraster: example printer driver with limited RAM usage and automatic banding.
* Alpha channel is now optional in pixmaps.
* More aggressive purging of cached objects.
* Partial image decoding for lower memory use when banding.
* Reduced code size when building with a subset of features:
* Reduced default set of built-in CMap tables to the minimum required.
* FZ_ENABLE_PDF, _XPS, _JS, to disable features at compile time.
* Function level linking.
* Interface changes and cleanups:
* Dropped pdf object generation numbers from public interfaces.
* Simplified PDF page, xobject, and annotation internals.
* Closing and freeing devices and writers are now separate steps.
* Improved PDF annotation editing interface (still a work in progress).
* Document writer interface.
* Banded image writer interface.
* Mobile viewers:
* New JNI interfaces to match capabilities of 'mutool run' javascript.
* New android and desktop java examples using new JNI interface.
List of changes in MuPDF 1.9
* Headline changes:
......
This diff is collapsed.
......@@ -2,31 +2,52 @@
OS ?= $(shell uname)
OS := $(OS:MINGW%=MINGW)
OS := $(OS:MSYS%=MINGW)
OS := $(OS:Windows_NT=MINGW)
OS := $(OS:Darwin=MACOS)
HAVE_LIBDL ?= yes
CFLAGS += -Wall
ifeq (,$(findstring -fembed-bitcode,$(XCFLAGS)))
# clang does not support these in combination with -fembed-bitcode
CFLAGS += -ffunction-sections -fdata-sections
endif
ifeq "$(OS)" "MACOS"
LDREMOVEUNREACH := -Wl,-dead_strip
else
LDREMOVEUNREACH := -Wl,--gc-sections
endif
ifeq "$(build)" "debug"
CFLAGS += -pipe -g -DDEBUG
CFLAGS += -pipe -g
LDFLAGS += -g
else ifeq "$(build)" "release"
CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer
LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s
else ifeq "$(build)" "small"
CFLAGS += -pipe -Os -DNDEBUG -fomit-frame-pointer
LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s
else ifeq "$(build)" "valgrind"
CFLAGS += -pipe -O2 -DNDEBUG -DPACIFY_VALGRIND -fno-omit-frame-pointer
LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s
else ifeq "$(build)" "sanitize"
CFLAGS += -pipe -g -DDEBUG -fsanitize=address -fno-omit-frame-pointer
CFLAGS += -pipe -g -fsanitize=address -fno-omit-frame-pointer
LDFLAGS += -fsanitize=address
else ifeq "$(build)" "profile"
CFLAGS += -pipe -O2 -DNDEBUG -pg
LDFLAGS += -pg
else ifeq "$(build)" "coverage"
CFLAGS += -pipe -g -DDEBUG -pg -fprofile-arcs -ftest-coverage
CFLAGS += -pipe -g -pg -fprofile-arcs -ftest-coverage
LIBS += -lgcov
else ifeq "$(build)" "native"
CFLAGS += -pipe -O2 -DNDEBUG -fomit-frame-pointer -march=native -mfpmath=sse
LDFLAGS += $(LDREMOVEUNREACH) -Wl,-s
else ifeq "$(build)" "memento"
CFLAGS += -pipe -g -DMEMENTO -DDEBUG
CFLAGS += -pipe -g -DMEMENTO
LDFLAGS += -g -d -rdynamic
ifeq "$(HAVE_LIBDL)" "yes"
CFLAGS += -DHAVE_LIBDL
......@@ -46,70 +67,97 @@ endif
# Windows (MINGW) build doesn't use system libraries.
ifeq "$(OS)" "MINGW"
WINDRES := windres
HAVE_X11 ?= no
HAVE_WIN32 := yes
CC=gcc
# Add flags required for Harfbuzz because of missing strdup
CFLAGS+= -U__STRICT_ANSI__
# Mac OS X doesn't have pkg-config so we hard code paths.
else ifeq "$(OS)" "MACOS"
HAVE_X11 ?= yes
HAVE_PTHREADS ?= yes
HAVE_X11 ?= no
# Mac OS X deprecated openssl, so the default is to not include it.
HAVE_OPENSSL ?= no
SYS_OPENSSL_CFLAGS =
SYS_OPENSSL_LIBS =
ifeq "$(HAVE_OPENSSL)" "yes"
SYS_OPENSSL_CFLAGS = -DHAVE_OPENSSL
SYS_OPENSSL_LIBS = -lcrypto
HAVE_PTHREAD := yes
SYS_PTHREAD_CFLAGS :=
SYS_PTHREAD_LIBS := -lpthread
# Mac OS X deprecated libcrypto, so the default is to not include it.
HAVE_LIBCRYTO := no
SYS_LIBCRYPTO_CFLAGS :=
SYS_LIBCRYPTO_LIBS :=
ifeq "$(HAVE_LIBCRYPTO)" "yes"
SYS_LIBCRYPTO_CFLAGS := -DHAVE_LIBCRYPTO
SYS_LIBCRYPTO_LIBS := -lcrypto
endif
SYS_CURL_DEPS = -lpthread
SYS_CURL_DEPS := -lpthread
SYS_X11_CFLAGS = -I/usr/X11R6/include
SYS_X11_LIBS = -L/usr/X11R6/lib -lX11 -lXext
SYS_X11_CFLAGS := -I/usr/X11R6/include
SYS_X11_LIBS := -L/usr/X11R6/lib -lX11 -lXext
SYS_FREETYPE_CFLAGS = $(shell freetype-config --cflags)
SYS_FREETYPE_LIBS = $(shell freetype-config --libs)
SYS_OPENJPEG_LIBS = -lopenjpeg
SYS_JBIG2DEC_LIBS = -ljbig2dec
SYS_JPEG_LIBS = -ljpeg
SYS_ZLIB_LIBS = -lz
SYS_FREETYPE_CFLAGS := $(shell freetype-config --cflags)
SYS_FREETYPE_LIBS := $(shell freetype-config --libs)
SYS_OPENJPEG_LIBS := -lopenjpeg
SYS_JBIG2DEC_LIBS := -ljbig2dec
SYS_LIBJPEG_LIBS := -ljpeg
SYS_ZLIB_LIBS := -lz
CC = xcrun cc
AR = xcrun ar