mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 18:32:13 +02:00
95 lines
2.5 KiB
Plaintext
95 lines
2.5 KiB
Plaintext
#! /bin/sh -e
|
|
|
|
# DP: - Add /usr/lib/jni to java.library.path.
|
|
# DP: - When running the i386 binaries on amd64, look in
|
|
# DP: - /usr/lib32/gcj-x.y and /usr/lib32/jni instead.
|
|
|
|
dir=
|
|
if [ $# -eq 3 -a "$2" = '-d' ]; then
|
|
pdir="-d $3"
|
|
dir="$3/"
|
|
elif [ $# -ne 1 ]; then
|
|
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
|
exit 1
|
|
fi
|
|
case "$1" in
|
|
-patch)
|
|
patch $pdir -f --no-backup-if-mismatch -p0 < $0
|
|
;;
|
|
-unpatch)
|
|
patch $pdir -f --no-backup-if-mismatch -R -p0 < $0
|
|
;;
|
|
*)
|
|
echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
|
|
exit 1
|
|
esac
|
|
exit 0
|
|
|
|
--- libjava/gnu/classpath/natSystemProperties.cc~ 2006-08-02 00:53:40.000000000 +0200
|
|
+++ libjava/gnu/classpath/natSystemProperties.cc 2006-08-19 00:41:50.063803000 +0200
|
|
@@ -141,6 +141,34 @@
|
|
return retval;
|
|
}
|
|
|
|
+static char*
|
|
+AppendJniLibdir (char *path, struct utsname *u)
|
|
+{
|
|
+ char* retval;
|
|
+ const char* jnilibdir = "/usr/lib/jni";
|
|
+
|
|
+#if defined(__linux__) && defined (__i386__)
|
|
+ if (! strcmp ("x86_64", u->machine))
|
|
+ jnilibdir = "/usr/lib32/jni";
|
|
+#endif
|
|
+
|
|
+ if (path)
|
|
+ {
|
|
+ jsize total = strlen (path)
|
|
+ + (sizeof (PATH_SEPARATOR) - 1) + strlen (jnilibdir) + 1;
|
|
+ retval = (char*) _Jv_Malloc (total);
|
|
+ strcpy (retval, path);
|
|
+ strcat (retval, PATH_SEPARATOR);
|
|
+ strcat (retval, jnilibdir);
|
|
+ }
|
|
+ else
|
|
+ {
|
|
+ retval = (char*) _Jv_Malloc (strlen (jnilibdir) + 1);
|
|
+ strcpy (retval, jnilibdir);
|
|
+ }
|
|
+ return retval;
|
|
+}
|
|
+
|
|
void
|
|
gnu::classpath::SystemProperties::insertSystemProperties (java::util::Properties *newprops)
|
|
{
|
|
@@ -370,8 +398,13 @@
|
|
// Prepend GCJ_VERSIONED_LIBDIR to the module load path so that
|
|
// libgcj will find its own JNI libraries, like libgtkpeer.so.
|
|
char* val = PrependVersionedLibdir (path);
|
|
- _Jv_SetDLLSearchPath (val);
|
|
+
|
|
+ // Append jnilibdir
|
|
+ char* val2 = AppendJniLibdir (val, &u);
|
|
+
|
|
+ _Jv_SetDLLSearchPath (val2);
|
|
_Jv_Free (val);
|
|
+ _Jv_Free (val2);
|
|
}
|
|
else
|
|
{
|
|
@@ -379,9 +412,12 @@
|
|
#ifdef USE_LTDL
|
|
char *libpath = getenv (LTDL_SHLIBPATH_VAR);
|
|
char* val = _Jv_PrependVersionedLibdir (libpath);
|
|
- SET ("java.library.path", val);
|
|
- _Jv_SetDLLSearchPath (val);
|
|
+ // Append jnilibdir
|
|
+ char* val2 = AppendJniLibdir (val, &u);
|
|
+ SET ("java.library.path", val2);
|
|
+ _Jv_SetDLLSearchPath (val2);
|
|
_Jv_Free (val);
|
|
+ _Jv_Free (val2);
|
|
#else
|
|
SET ("java.library.path", "");
|
|
#endif
|