|
|
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
|