Change build instructions and README to reflect the fact that the Java front-end classes are now part of the build and distribution

This commit is contained in:
DRC
2011-04-02 05:17:12 +00:00
parent 9a77f7f3ce
commit 8b351a8fa6
2 changed files with 22 additions and 42 deletions

View File

@@ -30,12 +30,13 @@ Build Requirements
-- GCC v4.1 or later recommended for best performance -- GCC v4.1 or later recommended for best performance
-- If building the TurboJPEG/OSS JNI wrapper, jni.h is required. Some systems, -- If building the TurboJPEG/OSS Java wrapper, JDK or OpenJDK 1.5 or later is
such as OS X 10.4 and Solaris 10, have this header pre-installed. On OS X required. Some systems, such as OS X 10.4, Solaris 10 and later, and Red
10.5 and later, the header can be obtained by installing the Java Developer Hat Enterprise Linux 5 and later, have this pre-installed. On OS X 10.5 and
Package, which can be downloaded from http://connect.apple.com. On Linux later, it will be necessary to install the Java Developer Package, which can
and other systems, the header can be obtained by installing the GCJ be downloaded from http://connect.apple.com. For systems that do not have a
(GCC-Java) development packages or the Oracle Java Development Kit (JDK). JDK installed, you can obtain the Oracle Java Development Kit from
http://www.java.com.
================== ==================
@@ -124,8 +125,8 @@ add --without-arith-enc or --without-arith-dec to the configure command line to
disable encoding or decoding (respectively.) 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 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 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 Java front-end classes to support it. This allows the TurboJPEG/OSS dynamic
@@ -318,14 +319,8 @@ Build Requirements
-- NASM (http://www.nasm.us/) 0.98 or later (NASM 2.05 or later is required for -- NASM (http://www.nasm.us/) 0.98 or later (NASM 2.05 or later is required for
a 64-bit build) a 64-bit build)
-- If building the TurboJPEG/OSS JNI wrapper, jni.h is required. This header -- If building the TurboJPEG/OSS Java wrapper, JDK 1.5 or later is required.
can be obtained by installing the Oracle Java Development Kit (JDK). This can be downloaded from http://www.java.com.
* 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.
================== ==================
@@ -466,12 +461,13 @@ add "-DWITH_ARITH_ENC=0" or "-DWITH_ARITH_DEC=0" to the cmake command line to
disable encoding or decoding (respectively.) disable encoding or decoding (respectively.)
TurboJPEG/OSS JNI Wrapper TurboJPEG/OSS Java Wrapper
------------------------- --------------------------
Add "-DWITH_JNI=1" to the cmake command line to incorporate an optional Java Add "-DWITH_JAVA=1" to the cmake command line to incorporate an optional Java
Native Interface wrapper into the TurboJPEG/OSS dynamic library. This allows Native Interface wrapper into the TurboJPEG/OSS dynamic library and build the
the dynamic library to be used directly from Java applications. See Java front-end classes to support it. This allows the TurboJPEG/OSS dynamic
java/README for more details. library to be used directly from Java applications. See java/README for more
details.
======================== ========================

View File

@@ -1,5 +1,5 @@
TurboJPEG/OSS JNI Wrapper TurboJPEG/OSS Java Wrapper
========================= ==========================
TurboJPEG/OSS can optionally be built with a Java Native Interface 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 which allows the TurboJPEG/OSS dynamic library to be loaded and used directly
@@ -7,16 +7,13 @@ from Java applications. The Java front end for this is defined in several
classes located under org/libjpegturbo/turbojpeg. The source code for these 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 Java classes is licensed under a BSD-style license, so the files can be
incorporated directly into both open source and proprietary projects without 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 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 README file, demonstrates how to use the TurboJPEG/OSS Java front end to
compress and decompress JPEG images in memory. compress and decompress JPEG images in memory.
javac TJExample.java
builds .class files for both the front end and example code.
Performance Pitfalls Performance Pitfalls
-------------------- --------------------
@@ -56,16 +53,3 @@ need to pass an argument of -Djava.library.path=/opt/libjpeg-turbo/lib to java.
If using a 64-bit data model, then instead pass an argument of 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 -Djava.library.path=/opt/libjpeg-turbo/lib/amd64 to use the 64-bit version of
libturbojpeg.so. 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".