]> granicus.if.org Git - libjpeg-turbo/commitdiff
If libturbojpeg.jnilib is not found on Mac systems, specifically look for it under...
authorDRC <dcommander@users.sourceforge.net>
Fri, 24 Aug 2012 02:44:39 +0000 (02:44 +0000)
committerDRC <dcommander@users.sourceforge.net>
Fri, 24 Aug 2012 02:44:39 +0000 (02:44 +0000)
git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@861 632fc199-4ca6-4c93-a231-07263d6284db

ChangeLog.txt
java/README
java/org/libjpegturbo/turbojpeg/TJLoader.java

index 4862be38b0d6e8a2fff90fdfed103c37ae367a55..c4c5ddc96ccfe06a657767fb0e0128fc4f5ecb1a 100644 (file)
@@ -22,6 +22,9 @@ symlinks in /usr/lib/i386-linux-gnu for the TurboJPEG libraries in /usr/lib32.
 This allows those libraries to be used on MultiArch-compatible systems (such as
 Ubuntu 11 and later) without setting the linker path.
 
+[6] The TurboJPEG Java wrapper should now find the JNI library on Mac systems
+without having to pass -Djava.library.path=/usr/lib to java.
+
 
 1.2.1
 =====
index 22e0f738410e3cf760433d40f0f03f5087aa67e2..8bca0710618b255e73cec25a338dbb6726d5890b 100644 (file)
@@ -34,22 +34,10 @@ compressing or decompressing consists of images of the same size, then
 pre-allocating the buffers is recommended.
 
 
-Note for OS X users
--------------------
-
-/usr/lib, the directory under which libturbojpeg.dylib is installed on Mac
-systems, is not part of the normal Java library path.  Thus, when running a
-Java application that uses TurboJPEG/OSS on Mac systems, you will need to pass
-an argument of -Djava.library.path=/usr/lib to java.
-
-
-Note for Solaris users
+Installation Directory
 ----------------------
 
-/opt/libjpeg-turbo/lib, the directory under which libturbojpeg.so is installed
-on Solaris systems, is not part of the normal Java library path.  Thus, when
-running a Java application that uses TurboJPEG/OSS on Solaris systems, you will
-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
--Djava.library.path=/opt/libjpeg-turbo/lib/amd64 to use the 64-bit version of
-libturbojpeg.so.
+If the TurboJPEG JNI library (libturbojpeg.so, libturbojpeg.jnilib, or
+turbojpeg.dll) is not installed under a system library directory or under a
+directory specified in LD_LIBRARY_PATH (Unix) or PATH (Windows), then you will
+need to pass an argument of -Djava.library.path={path_to_JNI_library} to java.
index db77bbaec0137ed1d0bff0dd77620208bbfc6205..ded963ea60b77c93ab7afb22583f00d308f131f6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C)2011 D. R. Commander.  All Rights Reserved.
+ * Copyright (C)2011-2012 D. R. Commander.  All Rights Reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are met:
@@ -30,6 +30,14 @@ package org.libjpegturbo.turbojpeg;
 
 final class TJLoader {
   static void load() {
-    System.loadLibrary("turbojpeg");
+    try {
+      System.loadLibrary("turbojpeg");
+    } catch (java.lang.UnsatisfiedLinkError e) {
+      String os = System.getProperty("os.name").toLowerCase();
+      if (os.indexOf("mac") >= 0) {
+        System.load("/usr/lib/libturbojpeg.jnilib");
+      }
+      else throw e;
+    }
   }
 };