aboutsummaryrefslogtreecommitdiffstats
path: root/java/Makefile.in
diff options
context:
space:
mode:
authorPo Lu2023-01-26 19:54:38 +0800
committerPo Lu2023-01-26 19:54:38 +0800
commit22f7ad1057e1a1e20933e0a1ff2a858ecd9e3fec (patch)
treed4e78a253eb91723411badef5d47e229562e642e /java/Makefile.in
parent4255d7f0514c5fa1badded6b0bc445ec2d2764c0 (diff)
downloademacs-22f7ad1057e1a1e20933e0a1ff2a858ecd9e3fec.tar.gz
emacs-22f7ad1057e1a1e20933e0a1ff2a858ecd9e3fec.zip
Update Android port
* INSTALL.android: Document how to install sqlite3. * build-aux/ndk-build-helper-1.mk (SYSTEM_LIBRARIES): * build-aux/ndk-build-helper-2.mk (SYSTEM_LIBRARIES): Add liblog and libandroid. * configure.ac (SQLITE3_LIBS, HAVE_SQLITE3) (HAVE_SQLITE3_LOAD_EXTENSION): Support on Android. (APKSIGNER): Look for this new required binary. * cross/ndk-build/ndk-build-shared-library.mk (objname): * cross/ndk-build/ndk-build-static-library.mk (objname): Avoid duplicate rules by prefixing objects with module type. * cross/ndk-build/ndk-build.mk.in (NDK_BUILD_SHARED): Fix definition. * cross/ndk-build/ndk-resolve.mk: (NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)): Handle new system libraries. * doc/emacs/android.texi (Android File System): Document Android 10 system restriction. * java/AndroidManifest.xml.in: Target Android 33, not 28. * java/Makefile.in (SIGN_EMACS_V2, APKSIGNER): New variables. ($(APK_NAME)): Make sure to apply a ``version 2 signature'' to the package as well. * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New argument apiLevel. * java/org/gnu/emacs/EmacsNoninteractive.java (main): * java/org/gnu/emacs/EmacsThread.java (run): Pass API level. * m4/ndk-build.m4 (ndk_package_mape): Add package mapping for sqlite3. * src/Makefile.in (SQLITE3_CFLAGS): New substition. (EMACS_CFLAGS): Add that variable. * src/android.c (android_api_level): New variable. (initEmacs): Set it. (android_file_access_p): Make static. (android_hack_asset_fd): Adjust for restrictions in Android 29 and later. (android_close_on_exec): New function. (android_open): Adjust to not duplicate file descriptor even if CLOEXEC. (android_faccessat): Use fstatat at-func emulation. * src/android.h: Update prototypes. * src/dired.c (file_name_completion_dirp): * src/fileio.c (file_access_p, Faccess_file): Now that sys_faccessat takes care of everything, stop calling android_file_access_p.
Diffstat (limited to 'java/Makefile.in')
-rw-r--r--java/Makefile.in9
1 files changed, 7 insertions, 2 deletions
diff --git a/java/Makefile.in b/java/Makefile.in
index 755995b93b1..a7bc8ac027a 100644
--- a/java/Makefile.in
+++ b/java/Makefile.in
@@ -33,6 +33,7 @@ AAPT = @AAPT@
33D8 = @D8@ 33D8 = @D8@
34ZIPALIGN = @ZIPALIGN@ 34ZIPALIGN = @ZIPALIGN@
35JARSIGNER = @JARSIGNER@ 35JARSIGNER = @JARSIGNER@
36APKSIGNER = @APKSIGNER@
36JARSIGNER_FLAGS = 37JARSIGNER_FLAGS =
37ANDROID_JAR = @ANDROID_JAR@ 38ANDROID_JAR = @ANDROID_JAR@
38ANDROID_ABI = @ANDROID_ABI@ 39ANDROID_ABI = @ANDROID_ABI@
@@ -52,6 +53,8 @@ JARSIGNER_FLAGS =
52endif 53endif
53 54
54SIGN_EMACS = -keystore emacs.keystore -storepass emacs1 $(JARSIGNER_FLAGS) 55SIGN_EMACS = -keystore emacs.keystore -storepass emacs1 $(JARSIGNER_FLAGS)
56SIGN_EMACS_V2 = sign --v2-signing-enabled --ks emacs.keystore \
57 --debuggable-apk-permitted --ks-pass pass:emacs1
55 58
56JAVA_FILES = $(shell find . -type f -name *.java) 59JAVA_FILES = $(shell find . -type f -name *.java)
57CLASS_FILES = $(foreach file,$(JAVA_FILES),$(basename $(file)).class) 60CLASS_FILES = $(foreach file,$(JAVA_FILES),$(basename $(file)).class)
@@ -196,10 +199,12 @@ $(APK_NAME): classes.dex emacs.apk-in emacs.keystore
196 $(AAPT) add $@.unaligned classes.dex 199 $(AAPT) add $@.unaligned classes.dex
197 $(JARSIGNER) $(SIGN_EMACS) $@.unaligned "Emacs keystore" 200 $(JARSIGNER) $(SIGN_EMACS) $@.unaligned "Emacs keystore"
198 $(ZIPALIGN) -f 4 $@.unaligned $@ 201 $(ZIPALIGN) -f 4 $@.unaligned $@
199 rm -f $@.unaligned 202# Signing must happen after alignment!
203 $(APKSIGNER) $(SIGN_EMACS_V2) $@
204 rm -f $@.unaligned *.idsig
200 205
201clean: 206clean:
202 rm -f *.apk emacs.apk-in *.dex *.unaligned *.class 207 rm -f *.apk emacs.apk-in *.dex *.unaligned *.class *.idsig
203 rm -rf install-temp 208 rm -rf install-temp
204 find . -name '*.class' -delete 209 find . -name '*.class' -delete
205 210