diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2017-01-18 02:58:10 +0100 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2017-01-23 13:57:04 +0100 |
commit | 13788c56859fcd8a8e4999d7553a0864c0176a10 (patch) | |
tree | 723d934bb4fde202f3b4513eb3b8d3dd5960c21e | |
parent | ad6807ba2a3fbd1c276ad5797a27ec771aeaf59b (diff) | |
download | mupdf-13788c56859fcd8a8e4999d7553a0864c0176a10.tar.xz |
android: Add ndk-build makefile to build JNI library for android viewers.
Run 'make android' to invoke ndk-build with the proper arguments.
The results are placed in build/android.
-rw-r--r-- | .gitignore | 19 | ||||
-rw-r--r-- | Makefile | 6 | ||||
-rw-r--r-- | Makethird | 4 | ||||
-rw-r--r-- | platform/java/Android.mk | 276 | ||||
-rw-r--r-- | platform/java/mupdf_native.c | 1 | ||||
-rw-r--r-- | platform/java/src/com/artifex/mupdf/fitz/Context.java | 6 | ||||
-rw-r--r-- | platform/java/winmake.bat | 2 | ||||
-rw-r--r-- | source/fitz/load-jpx.c | 7 |
8 files changed, 294 insertions, 27 deletions
@@ -9,8 +9,6 @@ include/mupdf/pdf/name-table.h source/pdf/pdf-name-table.h tags cscope.* -platform/android/bin -platform/android/.idea # Editor and file browser turds: *~ @@ -47,10 +45,13 @@ platform/android/.idea *.jar *.o *.so -DerivedData *.zip -*.apk *.dll +DerivedData + +platform/java/obj +platform/java/libs +platform/java/local.properties platform/win32/*.user platform/win32/*.ncb @@ -62,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 @@ -422,6 +422,10 @@ debug: $(MAKE) build=debug android: generate - $(MAKE) -C platform/android/viewer + ndk-build -j8 \ + APP_BUILD_SCRIPT=platform/java/Android.mk \ + APP_PROJECT_PATH=build/android \ + APP_PLATFORM=android-16 \ + APP_OPTIM=$(build) .PHONY: all clean nuke install third libs apps generate @@ -404,9 +404,9 @@ OPENJPEG_OBJ := $(addprefix $(OPENJPEG_OUT)/, $(OPENJPEG_SRC:%.c=%.o)) $(OPENJPEG_OUT): $(MKDIR_CMD) $(OPENJPEG_OUT)/%.o: $(OPENJPEG_DIR)/%.c | $(OPENJPEG_OUT) - $(CC_CMD) -DOPJ_STATIC -DOPJ_HAVE_STDINT_H + $(CC_CMD) -DOPJ_STATIC -DOPJ_HAVE_STDINT_H -DOPJ_HAVE_INTTYPES_H -DUSE_JPIP -OPENJPEG_CFLAGS += -I$(OPENJPEG_DIR) -DOPJ_HAVE_INTTYPES_H=1 -DUSE_JPIP=1 +OPENJPEG_CFLAGS += -I$(OPENJPEG_DIR) else OPENJPEG_CFLAGS := $(SYS_OPENJPEG_CFLAGS) OPENJPEG_LIBS := $(SYS_OPENJPEG_LIBS) diff --git a/platform/java/Android.mk b/platform/java/Android.mk new file mode 100644 index 00000000..83cff536 --- /dev/null +++ b/platform/java/Android.mk @@ -0,0 +1,276 @@ +# Android makefile to be used with ndk-build. +# +# Run ndk-build with the following arguments: +# APP_BUILD_SCRIPT=platform/java/Android.mk (this file) +# APP_PROJECT_DIR=build/android (where you want the output) +# APP_PLATFORM=android-16 +# APP_OPTIM=release (or debug) +# APP_ABI=all (or armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, mips, mips64) +# +# The top-level Makefile will invoke ndk-build with appropriate arguments +# if you run 'make android'. +# +# LOCAL_C_INCLUDES paths are relative to the NDK root directory. +# LOCAL_SRC_FILES paths are relative to LOCAL_PATH. +# +# We make sure to use absolute paths everywhere, so this makefile works +# regardless of where it is called from. + +LOCAL_PATH := $(call my-dir) +MUPDF_PATH := $(realpath $(LOCAL_PATH)/../..) + +# --- Include pre-built ghostscript library if building with gproof support --- + +ifdef FZ_ENABLE_GPRF +include $(CLEAR_VARS) +LOCAL_MODULE := gsso +LOCAL_SRC_FILES := libgs.so +include $(PREBUILT_SHARED_LIBRARY) +endif + +# --- Build a local static library for core mupdf --- + +include $(CLEAR_VARS) + +LOCAL_MODULE := mupdf_core + +ifdef FZ_ENABLE_GPRF +LOCAL_CFLAGS += -DFZ_ENABLE_GPRF +endif + +LOCAL_C_INCLUDES := \ + $(MUPDF_PATH)/include \ + $(MUPDF_PATH)/generated \ + $(MUPDF_PATH)/scripts/freetype \ + $(MUPDF_PATH)/scripts/jpeg \ + $(MUPDF_PATH)/thirdparty/freetype/include \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src \ + $(MUPDF_PATH)/thirdparty/jbig2dec \ + $(MUPDF_PATH)/thirdparty/jpeg \ + $(MUPDF_PATH)/thirdparty/mujs \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2 \ + $(MUPDF_PATH)/thirdparty/zlib \ + +LOCAL_CFLAGS := \ + -ffunction-sections -fdata-sections \ + -DAA_BITS=8 \ + +LOCAL_SRC_FILES += \ + $(wildcard $(MUPDF_PATH)/source/fitz/*.c) \ + $(wildcard $(MUPDF_PATH)/source/pdf/*.c) \ + $(wildcard $(MUPDF_PATH)/source/xps/*.c) \ + $(wildcard $(MUPDF_PATH)/source/svg/*.c) \ + $(wildcard $(MUPDF_PATH)/source/cbz/*.c) \ + $(wildcard $(MUPDF_PATH)/source/gprf/*.c) \ + $(wildcard $(MUPDF_PATH)/source/html/*.c) \ + $(wildcard $(MUPDF_PATH)/generated/*.c) \ + +include $(BUILD_STATIC_LIBRARY) + +# --- Build a local static library for thirdparty libraries --- + +include $(CLEAR_VARS) + +LOCAL_MODULE := mupdf_thirdparty + +LOCAL_CPP_EXTENSION := .cc + +LOCAL_C_INCLUDES := \ + $(MUPDF_PATH)/include \ + $(MUPDF_PATH)/scripts/freetype \ + $(MUPDF_PATH)/scripts/jpeg \ + $(MUPDF_PATH)/thirdparty/freetype/include \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src \ + $(MUPDF_PATH)/thirdparty/jbig2dec \ + $(MUPDF_PATH)/thirdparty/jpeg \ + $(MUPDF_PATH)/thirdparty/mujs \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2 \ + $(MUPDF_PATH)/thirdparty/zlib \ + +LOCAL_CFLAGS := \ + -ffunction-sections -fdata-sections \ + -DFT2_BUILD_LIBRARY -DDARWIN_NO_CARBON \ + '-DFT_CONFIG_MODULES_H="slimftmodules.h"' \ + '-DFT_CONFIG_OPTIONS_H="slimftoptions.h"' \ + -DHAVE_STDINT_H \ + -DOPJ_STATIC -DOPJ_HAVE_INTTYPES_H -DOPJ_HAVE_STDINT_H -DUSE_JPIP \ + +LOCAL_CPPFLAGS := \ + -ffunction-sections -fdata-sections \ + -fno-rtti -fno-exceptions -fvisibility-inlines-hidden --std=c++0x \ + -DHAVE_OT -DHAVE_UCDN -DHB_NO_MT \ + -Dhb_malloc_impl=hb_malloc \ + -Dhb_calloc_impl=hb_calloc \ + -Dhb_realloc_impl=hb_realloc \ + -Dhb_free_impl=hb_free \ + +LOCAL_SRC_FILES += \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftbase.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftbbox.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftbitmap.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftfntfmt.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftgasp.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftglyph.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftinit.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftstroke.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftsynth.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/ftsystem.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/base/fttype1.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/cff/cff.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/cid/type1cid.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/psaux/psaux.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/pshinter/pshinter.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/psnames/psnames.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/raster/raster.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/sfnt/sfnt.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/smooth/smooth.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/truetype/truetype.c \ + $(MUPDF_PATH)/thirdparty/freetype/src/type1/type1.c \ + +LOCAL_SRC_FILES += \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-blob.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-buffer-serialize.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-buffer.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-common.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-face.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-fallback-shape.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-font.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ft.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-font.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-layout.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-map.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-arabic.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-default.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-hangul.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-hebrew.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-indic-table.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-indic.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-myanmar.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-thai.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-tibetan.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-use-table.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-complex-use.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-fallback.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape-normalize.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-shape.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ot-tag.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-set.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-shape-plan.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-shape.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-shaper.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-ucdn.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-unicode.cc \ + $(MUPDF_PATH)/thirdparty/harfbuzz/src/hb-warning.cc \ + +LOCAL_SRC_FILES += \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_arith.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_arith_iaid.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_arith_int.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_generic.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_halftone.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_huffman.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_image.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_metadata.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_mmr.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_page.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_refinement.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_segment.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_symbol_dict.c \ + $(MUPDF_PATH)/thirdparty/jbig2dec/jbig2_text.c \ + +LOCAL_SRC_FILES += \ + $(MUPDF_PATH)/thirdparty/jpeg/jaricom.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jcomapi.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdapimin.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdapistd.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdarith.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdatadst.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdatasrc.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdcoefct.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdcolor.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jddctmgr.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdhuff.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdinput.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdmainct.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdmarker.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdmaster.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdmerge.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdpostct.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdsample.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jdtrans.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jerror.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jfdctflt.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jfdctfst.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jfdctint.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jidctflt.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jidctfst.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jidctint.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jmemmgr.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jquant1.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jquant2.c \ + $(MUPDF_PATH)/thirdparty/jpeg/jutils.c \ + +LOCAL_SRC_FILES += \ + $(MUPDF_PATH)/thirdparty/mujs/one.c \ + +LOCAL_SRC_FILES += \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/bio.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/cidx_manager.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/cio.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/dwt.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/event.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/function_list.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/image.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/invert.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/j2k.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/jp2.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/mct.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/mqc.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/openjpeg.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/phix_manager.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/pi.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/ppix_manager.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/raw.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/t1.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/t2.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/tcd.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/tgt.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/thix_manager.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/thread.c \ + $(MUPDF_PATH)/thirdparty/openjpeg/src/lib/openjp2/tpix_manager.c \ + +LOCAL_SRC_FILES += \ + $(MUPDF_PATH)/thirdparty/zlib/adler32.c \ + $(MUPDF_PATH)/thirdparty/zlib/compress.c \ + $(MUPDF_PATH)/thirdparty/zlib/crc32.c \ + $(MUPDF_PATH)/thirdparty/zlib/deflate.c \ + $(MUPDF_PATH)/thirdparty/zlib/inffast.c \ + $(MUPDF_PATH)/thirdparty/zlib/inflate.c \ + $(MUPDF_PATH)/thirdparty/zlib/inftrees.c \ + $(MUPDF_PATH)/thirdparty/zlib/trees.c \ + $(MUPDF_PATH)/thirdparty/zlib/uncompr.c \ + $(MUPDF_PATH)/thirdparty/zlib/zutil.c \ + +include $(BUILD_STATIC_LIBRARY) + +# --- Build the final JNI shared library --- + +include $(CLEAR_VARS) + +LOCAL_MODULE := mupdf_java + +LOCAL_C_INCLUDES := \ + $(MUPDF_PATH)/include + +LOCAL_CFLAGS := \ + -DHAVE_ANDROID + +LOCAL_SRC_FILES := \ + $(MUPDF_PATH)/platform/java/mupdf_native.c + +LOCAL_STATIC_LIBRARIES := mupdf_core mupdf_thirdparty +LOCAL_LDLIBS := -ljnigraphics -llog -lm +LOCAL_LDFLAGS := -Wl,--gc-sections + +include $(BUILD_SHARED_LIBRARY) diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c index 94c8b61c..cbb3dd7a 100644 --- a/platform/java/mupdf_native.c +++ b/platform/java/mupdf_native.c @@ -3917,7 +3917,6 @@ JNIEXPORT jstring JNICALL FUN(Document_proofNative)(JNIEnv *env, jobject self, jstring jCurrentPath, jstring jPrintProfile, jstring jDisplayProfile, jint inResolution) { #ifdef FZ_ENABLE_GPRF - fz_context *ctx = get_context(env); fz_document *doc = from_Document(env, self); char *tmp; diff --git a/platform/java/src/com/artifex/mupdf/fitz/Context.java b/platform/java/src/com/artifex/mupdf/fitz/Context.java index 7734a274..5ad384db 100644 --- a/platform/java/src/com/artifex/mupdf/fitz/Context.java +++ b/platform/java/src/com/artifex/mupdf/fitz/Context.java @@ -16,12 +16,12 @@ public class Context if (!inited) { inited = true; try { - System.loadLibrary("mupdf_java64"); + System.loadLibrary("mupdf_java"); } catch (UnsatisfiedLinkError e) { try { - System.loadLibrary("mupdf_java32"); + System.loadLibrary("mupdf_java64"); } catch (UnsatisfiedLinkError ee) { - System.loadLibrary("mupdf_java"); + System.loadLibrary("mupdf_java32"); } } if (initNative() < 0) diff --git a/platform/java/winmake.bat b/platform/java/winmake.bat index ac18b5f6..94608d9e 100644 --- a/platform/java/winmake.bat +++ b/platform/java/winmake.bat @@ -14,4 +14,4 @@ javac -source 1.7 -target 1.7 com/artifex/mupdf/fitz/*.java @copy ..\win32\%1\javaviewerlib.dll mupdf_java.dll /y @echo Packaging into jar (incomplete as missing manifest) -jar cf javaviewer.jar mupdf_java.dll com\artifex\mupdf\fitz\*.java example\viewer.java +jar cf mupdf-java-viewer.jar mupdf_java.dll com\artifex\mupdf\fitz\*.class example\*.class diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c index c52d68d8..c133bce4 100644 --- a/source/fitz/load-jpx.c +++ b/source/fitz/load-jpx.c @@ -443,13 +443,10 @@ fz_load_jpx_info(fz_context *ctx, unsigned char *data, size_t size, int *wp, int #else /* HAVE_LURATECH */ -/* Without the definition of OPJ_STATIC, compilation fails on windows - * due to the use of __stdcall. We believe it is required on some - * linux toolchains too. */ #define OPJ_STATIC -#ifndef _MSC_VER +#define OPJ_HAVE_INTTYPES_H #define OPJ_HAVE_STDINT_H -#endif +#define USE_JPIP #include <openjpeg.h> |