a3b5102
From bcf69af8de6512b4ad518af141c3bfd12e58fecc Mon Sep 17 00:00:00 2001
f9fdbdf
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
0a2b958
Date: Thu, 25 Jun 2015 10:02:10 +0200
f9fdbdf
Subject: [PATCH] Fix JNI
787ee05
MIME-Version: 1.0
787ee05
Content-Type: text/plain; charset=UTF-8
787ee05
Content-Transfer-Encoding: 8bit
f9fdbdf
0a2b958
Prefer JNI per Java Fedora packaging guidelines.
787ee05
787ee05
Signed-off-by: Petr Písař <ppisar@redhat.com>
f9fdbdf
---
0a2b958
 packages/jpl/jpl.pl                     | 5 +++--
a3b5102
 packages/jpl/src/java/org/jpl7/JPL.java | 4 +---
a3b5102
 2 files changed, 4 insertions(+), 5 deletions(-)
f9fdbdf
f9fdbdf
diff --git a/packages/jpl/jpl.pl b/packages/jpl/jpl.pl
a3b5102
index 024dd79..ffeccd9 100644
95321f0
--- a/packages/jpl/jpl.pl
95321f0
+++ b/packages/jpl/jpl.pl
c176a2a
@@ -3952,7 +3952,8 @@ prolog:error_message(java_exception(Ex))
c811996
 :- multifile user:file_search_path/2.
c811996
 :- dynamic   user:file_search_path/2.
c811996
 
c811996
-user:file_search_path(jar, swi(lib)).
95321f0
+user:file_search_path(jar, 'LIBDIR/swipl-jpl').
95321f0
+user:file_search_path(jni, 'LIBDIR/swipl-jpl').
c811996
 
c176a2a
 classpath(DirOrJar) :-
c176a2a
     getenv('CLASSPATH', ClassPath),
c176a2a
@@ -4126,7 +4127,7 @@ add_jpl_to_classpath :-
c811996
 
c811996
 libjpl(File) :-
787ee05
     (   current_prolog_flag(unix, true)
787ee05
-    ->  File = foreign(libjpl)
787ee05
+    ->  File = jni(libjpl)
787ee05
     ;   File = foreign(jpl)
787ee05
     ).
c811996
 
0a2b958
diff --git a/packages/jpl/src/java/org/jpl7/JPL.java b/packages/jpl/src/java/org/jpl7/JPL.java
a3b5102
index 9705fa5..8d849dd 100644
0a2b958
--- a/packages/jpl/src/java/org/jpl7/JPL.java
0a2b958
+++ b/packages/jpl/src/java/org/jpl7/JPL.java
c176a2a
@@ -109,9 +109,11 @@ public class JPL {
f9fdbdf
 		} else if (nativeLibraryDir != null) {
787ee05
 			System.load((new File(nativeLibraryDir, System.mapLibraryName(nativeLibraryName))).getAbsolutePath());
f9fdbdf
 		} else {
a3b5102
-			System.loadLibrary(nativeLibraryName); // as resolved somewhere on
a3b5102
-													// system property
a3b5102
-													// 'java.library.path'
c176a2a
+			try {
c176a2a
+				System.load((new File(LIBDIR, System.mapLibraryName(nativeLibraryName))).getAbsolutePath());
c176a2a
+			} catch (UnsatisfiedLinkError e) {
c176a2a
+				System.loadLibrary(nativeLibraryName);
c176a2a
+			}
f9fdbdf
 		}
f9fdbdf
 	}
787ee05
 
f9fdbdf
-- 
a3b5102
2.7.4