diff options
| author | Po Lu | 2024-04-11 10:15:25 +0800 |
|---|---|---|
| committer | Po Lu | 2024-04-11 10:15:25 +0800 |
| commit | b9acfd7c2b9d1fa5c49e7bd9f78a040f7485b29b (patch) | |
| tree | fccf2c69faf9d9374623d5b582e6f2b409d4740c /java/proguard.conf | |
| parent | 7720c614afcf2b657c1edd1901cdc688e372a53c (diff) | |
| download | emacs-b9acfd7c2b9d1fa5c49e7bd9f78a040f7485b29b.tar.gz emacs-b9acfd7c2b9d1fa5c49e7bd9f78a040f7485b29b.zip | |
Optimize R8 configuration
* java/org/gnu/emacs/EmacsWindowManager.java (WindowConsumer):
Mark as package-local.
* java/proguard.conf: List only symbols that must be preserved,
enabling R8 to optimize the remainder.
Diffstat (limited to 'java/proguard.conf')
| -rw-r--r-- | java/proguard.conf | 39 |
1 files changed, 34 insertions, 5 deletions
diff --git a/java/proguard.conf b/java/proguard.conf index 2fc974020ff..e6b08f76fe4 100644 --- a/java/proguard.conf +++ b/java/proguard.conf | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | # Trivial Proguard configuration file | 1 | # Proguard configuration files for Emacs |
| 2 | # | 2 | # |
| 3 | # Copyright (C) 2024 Free Software Foundation, Inc. | 3 | # Copyright (C) 2024 Free Software Foundation, Inc. |
| 4 | # | 4 | # |
| @@ -17,8 +17,37 @@ | |||
| 17 | # You should have received a copy of the GNU General Public License | 17 | # You should have received a copy of the GNU General Public License |
| 18 | # along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. | 18 | # along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. |
| 19 | # | 19 | # |
| 20 | # The effect of these two lines is to prevent the removal of symbol | 20 | # The effect of the following lines is to inhibit the removal of variable or |
| 21 | # names, which Emacs requires to link to functions defined in Java. | 21 | # method symbol names from symbols referenced from C. |
| 22 | 22 | ||
| 23 | -keep,allowoptimization interface org.gnu.emacs.* | 23 | -keep,allowoptimization class org.gnu.emacs.EmacsClipboard { <methods>; } |
| 24 | -keep,allowoptimization class org.gnu.emacs.* { <fields>; <methods>; } | 24 | -keep,allowoptimization class org.gnu.emacs.EmacsContextMenu { <methods>; } |
| 25 | -keep,allowoptimization class org.gnu.emacs.EmacsCursor { <methods>; } | ||
| 26 | -keep,allowoptimization class org.gnu.emacs.EmacsDesktopNotification { <methods>; } | ||
| 27 | -keep,allowoptimization class org.gnu.emacs.EmacsDialog { <methods>; } | ||
| 28 | -keep,allowoptimization class org.gnu.emacs.EmacsDirectoryEntry { <fields>; } | ||
| 29 | -keep,allowoptimization class org.gnu.emacs.EmacsFontDriver { <methods>; } | ||
| 30 | -keep,allowoptimization class org.gnu.emacs.EmacsFontDriver$* { <fields>; } | ||
| 31 | -keep,allowoptimization class org.gnu.emacs.EmacsGC { <methods>; <fields>; } | ||
| 32 | -keep,allowoptimization class org.gnu.emacs.EmacsHandleObject { <methods>; } | ||
| 33 | -keep,allowoptimization class org.gnu.emacs.EmacsPixmap { <methods>; } | ||
| 34 | -keep,allowoptimization class org.gnu.emacs.EmacsService { <methods>; } | ||
| 35 | -keep,allowoptimization class org.gnu.emacs.EmacsWindow { <methods>; } | ||
| 36 | -keep,allowoptimization class org.gnu.emacs.EmacsNative { <methods>; } | ||
| 37 | -keep,allowoptimization class org.gnu.emacs.EmacsNoninteractive { <methods>; } | ||
| 38 | -keep,allowoptimization interface org.gnu.emacs.EmacsDrawable { <methods>; } | ||
| 39 | |||
| 40 | # And these lines inhibit the deletion of symbols that are referenced by | ||
| 41 | # the operating system while enabling the compiler to minify or delete | ||
| 42 | # symbols only referenced internally. | ||
| 43 | |||
| 44 | -keep,allowoptimization,allowaccessmodification public class * extends android.app.Activity | ||
| 45 | -keep,allowoptimization,allowaccessmodification public class * extends android.app.Application | ||
| 46 | -keep,allowoptimization,allowaccessmodification public class * extends android.app.Service | ||
| 47 | -keep,allowoptimization,allowaccessmodification public class * extends android.content.BroadcastReceiver | ||
| 48 | -keep,allowoptimization,allowaccessmodification public class * extends android.content.ContentProvider | ||
| 49 | |||
| 50 | # Local Variables: | ||
| 51 | # truncate-lines: t | ||
| 52 | # indent-tabs-mode: nil | ||
| 53 | # End: | ||