-- GCC v4.1 or later recommended for best performance
--- If building the TurboJPEG/OSS JNI wrapper, jni.h is required. Some systems,
- such as OS X 10.4 and Solaris 10, have this header pre-installed. On OS X
- 10.5 and later, the header can be obtained by installing the Java Developer
- Package, which can be downloaded from http://connect.apple.com. On Linux
- and other systems, the header can be obtained by installing the GCJ
- (GCC-Java) development packages or the Oracle Java Development Kit (JDK).
+-- If building the TurboJPEG/OSS Java wrapper, JDK or OpenJDK 1.5 or later is
+ required. Some systems, such as OS X 10.4, Solaris 10 and later, and Red
+ Hat Enterprise Linux 5 and later, have this pre-installed. On OS X 10.5 and
+ later, it will be necessary to install the Java Developer Package, which can
+ be downloaded from http://connect.apple.com. For systems that do not have a
+ JDK installed, you can obtain the Oracle Java Development Kit from
+ http://www.java.com.
==================
disable encoding or decoding (respectively.)
-TurboJPEG/OSS JNI Wrapper
--------------------------
+TurboJPEG/OSS Java Wrapper
+--------------------------
Add --with-java to the configure command line to incorporate an optional Java
Native Interface wrapper into the TurboJPEG/OSS dynamic library and build the
Java front-end classes to support it. This allows the TurboJPEG/OSS dynamic
-- NASM (http://www.nasm.us/) 0.98 or later (NASM 2.05 or later is required for
a 64-bit build)
--- If building the TurboJPEG/OSS JNI wrapper, jni.h is required. This header
- can be obtained by installing the Oracle Java Development Kit (JDK).
- * If using Visual C++, then add the appropriate Java include directories
- (Example: c:\Program Files\Java\jdk1.6.0_23\include;c:\Program Files\Java\jdk1.6.0_23\include\win32)
- to the INCLUDE environment variable prior to building libjpeg-turbo.
- * If using MinGW, then add the appropriate Java include directories
- (Example: /c/Program Files/Java/jdk1.6.0_23/include:/c/Program Files/Java/jdk1.6.0_23/include/win32)
- to the CPATH environment variable prior to building libjpeg-turbo.
+-- If building the TurboJPEG/OSS Java wrapper, JDK 1.5 or later is required.
+ This can be downloaded from http://www.java.com.
==================
disable encoding or decoding (respectively.)
-TurboJPEG/OSS JNI Wrapper
--------------------------
-Add "-DWITH_JNI=1" to the cmake command line to incorporate an optional Java
-Native Interface wrapper into the TurboJPEG/OSS dynamic library. This allows
-the dynamic library to be used directly from Java applications. See
-java/README for more details.
+TurboJPEG/OSS Java Wrapper
+--------------------------
+Add "-DWITH_JAVA=1" to the cmake command line to incorporate an optional Java
+Native Interface wrapper into the TurboJPEG/OSS dynamic library and build the
+Java front-end classes to support it. This allows the TurboJPEG/OSS dynamic
+library to be used directly from Java applications. See java/README for more
+details.
========================
-TurboJPEG/OSS JNI Wrapper
-=========================
+TurboJPEG/OSS Java Wrapper
+==========================
TurboJPEG/OSS can optionally be built with a Java Native Interface wrapper,
which allows the TurboJPEG/OSS dynamic library to be loaded and used directly
classes located under org/libjpegturbo/turbojpeg. The source code for these
Java classes is licensed under a BSD-style license, so the files can be
incorporated directly into both open source and proprietary projects without
-restriction.
+restriction. A Java archive (JAR) file containing these classes is also
+shipped with the "official" distribution packages of libjpeg-turbo.
TJExample.java, which should also be located in the same directory as this
README file, demonstrates how to use the TurboJPEG/OSS Java front end to
compress and decompress JPEG images in memory.
- javac TJExample.java
-
-builds .class files for both the front end and example code.
-
Performance Pitfalls
--------------------
If using a 64-bit data model, then instead pass an argument of
-Djava.library.path=/opt/libjpeg-turbo/lib/amd64 to use the 64-bit version of
libturbojpeg.so.
-
-
-Note for MinGW users
---------------------
-
-When libjpeg-turbo is built with MinGW, the TurboJPEG/OSS dynamic library is
-named libturbojpeg.dll instead of turbojpeg.dll. This is in keeping with the
-convention of MinGW, and it also avoids a filename conflict when the GCC and
-Visual C++ versions of the libjpeg-turbo SDK are installed on the same system.
-However, the TurboJPEG/OSS JNI wrapper will not work on Windows unless the DLL
-is named turbojpeg.dll. You can work around this by renaming the DLL or by
-simply changing the LoadLibrary() calls in TurboJPEG.java so that they load
-"libturbojpeg" instead of "turbojpeg".