summaryrefslogtreecommitdiff
path: root/java/org/gnu/emacs/EmacsNative.java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-02-06 22:55:42 +0800
committerPo Lu <luangruo@yahoo.com>2023-02-06 22:55:42 +0800
commit9b79f429edd173efd6ecbdcb2f0a5fafa8d6e523 (patch)
tree2238081f61d08370b2e848112ddf5a5e6e8ba33e /java/org/gnu/emacs/EmacsNative.java
parente1c7b8ad61a213014ae3bf87db197301ab2bac29 (diff)
Port emacsclient wrapper to Android 7.1 and earlier
* java/org/gnu/emacs/EmacsNative.java (EmacsNative): Load every native library on which Emacs depends prior to loading libemacs itself. * java/org/gnu/emacs/EmacsOpenActivity.java (readEmacsClientLog) (EmacsOpenActivity, startEmacsClient): Don't use redirectError on Android 7.1 and earlier.
Diffstat (limited to 'java/org/gnu/emacs/EmacsNative.java')
-rw-r--r--java/org/gnu/emacs/EmacsNative.java152
1 files changed, 152 insertions, 0 deletions
diff --git a/java/org/gnu/emacs/EmacsNative.java b/java/org/gnu/emacs/EmacsNative.java
index aba356051cd..939348ba420 100644
--- a/java/org/gnu/emacs/EmacsNative.java
+++ b/java/org/gnu/emacs/EmacsNative.java
@@ -159,6 +159,158 @@ public class EmacsNative
static
{
+ /* Older versions of Android cannot link correctly with shared
+ libraries that link with other shared libraries built along
+ Emacs unless all requisite shared libraries are explicitly
+ loaded from Java.
+
+ Every time you add a new shared library dependency to Emacs,
+ please add it here as well. */
+
+ try
+ {
+ System.loadLibrary ("png_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("selinux_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("crypto_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("pcre_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("packagelistparser_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("gnutls_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("gmp_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("nettle_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("p11-kit_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("tasn1_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("hogweed_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("jansson_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("jpeg_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("tiff_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("xml2_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
+ try
+ {
+ System.loadLibrary ("icuuc_emacs");
+ }
+ catch (UnsatisfiedLinkError exception)
+ {
+ /* Ignore this exception. */
+ }
+
System.loadLibrary ("emacs");
};
};