diff options
| author | Po Lu <luangruo@yahoo.com> | 2023-02-06 22:55:42 +0800 |
|---|---|---|
| committer | Po Lu <luangruo@yahoo.com> | 2023-02-06 22:55:42 +0800 |
| commit | 9b79f429edd173efd6ecbdcb2f0a5fafa8d6e523 (patch) | |
| tree | 2238081f61d08370b2e848112ddf5a5e6e8ba33e /java/org/gnu/emacs/EmacsNative.java | |
| parent | e1c7b8ad61a213014ae3bf87db197301ab2bac29 (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.java | 152 |
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"); }; }; |
