aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorPo Lu2024-04-19 17:38:58 +0800
committerPo Lu2024-04-19 17:39:29 +0800
commit2675c2824f77f46476831e637e4bc0fec692a0f1 (patch)
tree8f42e1537cfb64b6dd52b2ba71a8e5374ab358d4 /java
parentc833892140fbf4be45161bf85d4c1253c5503949 (diff)
downloademacs-2675c2824f77f46476831e637e4bc0fec692a0f1.tar.gz
emacs-2675c2824f77f46476831e637e4bc0fec692a0f1.zip
* java/INSTALL: Update instructions.
Diffstat (limited to 'java')
-rw-r--r--java/INSTALL92
1 files changed, 81 insertions, 11 deletions
diff --git a/java/INSTALL b/java/INSTALL
index 6daef59084e..94bf0b01a96 100644
--- a/java/INSTALL
+++ b/java/INSTALL
@@ -268,14 +268,13 @@ When building for Intel systems, some ``ndk-build'' modules require
268the Netwide Assembler, usually installed under ``nasm'', to be present 268the Netwide Assembler, usually installed under ``nasm'', to be present
269on the system that is building Emacs. 269on the system that is building Emacs.
270 270
271Google, Inc. has adapted many common Emacs dependencies to use the 271Google has adapted several Emacs dependencies to use the `ndk-build'
272`ndk-build' system. Here is a non-exhaustive list of what is known to 272system, many of which require patches to function under an Emacs
273work, along with what has to be patched to make them work: 273environment. As such, it is generally the wiser choice to use our ports
274in their place, but the following list and patches are still provided
275for reference.
274 276
275 libpng - https://android.googlesource.com/platform/external/libpng 277 libpng - https://android.googlesource.com/platform/external/libpng
276 libwebp - https://android.googlesource.com/platform/external/webp
277 (You must apply the patch at the end of this file for the resulting
278 binary to work on armv7 devices.)
279 giflib - https://android.googlesource.com/platform/external/giflib 278 giflib - https://android.googlesource.com/platform/external/giflib
280 (You must add LOCAL_EXPORT_CFLAGS := -I$(LOCAL_PATH) before 279 (You must add LOCAL_EXPORT_CFLAGS := -I$(LOCAL_PATH) before
281 its Android.mk includes $(BUILD_STATIC_LIBRARY)) 280 its Android.mk includes $(BUILD_STATIC_LIBRARY))
@@ -307,6 +306,13 @@ Many of these dependencies have been migrated over to the
307However, the old ``Android.mk'' Makefiles are still present in older 306However, the old ``Android.mk'' Makefiles are still present in older
308branches, and can be easily adapted to newer versions. 307branches, and can be easily adapted to newer versions.
309 308
309In addition, some Emacs dependencies provide `ndk-build' support
310themselves:
311
312 libwebp - https://android.googlesource.com/platform/external/webp
313 (You must apply the patch at the end of this file for the resulting
314 binary to work on armv7 devices.)
315
310Emacs developers have ported the following dependencies to ARM Android 316Emacs developers have ported the following dependencies to ARM Android
311systems: 317systems:
312 318
@@ -318,6 +324,15 @@ systems:
318 (Please see the section TREE-SITTER near the end of this file.) 324 (Please see the section TREE-SITTER near the end of this file.)
319 harfbuzz - https://sourceforge.net/projects/android-ports-for-gnu-emacs 325 harfbuzz - https://sourceforge.net/projects/android-ports-for-gnu-emacs
320 (Please see the section HARFBUZZ near the end of this file.) 326 (Please see the section HARFBUZZ near the end of this file.)
327 libxml2 - https://sourceforge.net/projects/android-ports-for-gnu-emacs
328 (Please see the section LIBXML2 near the end of this file.)
329 libjpeg-turbo - https://sourceforge.net/projects/android-ports-for-gnu-emacs
330 giflib - https://sourceforge.net/projects/android-ports-for-gnu-emacs
331 libtiff - https://sourceforge.net/projects/android-ports-for-gnu-emacs
332 libpng - https://sourceforge.net/projects/android-ports-for-gnu-emacs
333 (Please see the section IMAGE LIBRARIES near the end of this file.)
334 libselinux - https://sourceforge.net/projects/android-ports-for-gnu-emacs
335 (Please see the section SELINUX near the end of this file.)
321 336
322And other developers have ported the following dependencies to Android 337And other developers have ported the following dependencies to Android
323systems: 338systems:
@@ -345,14 +360,67 @@ To build Emacs with GnuTLS, you must unpack each of the following tar
345archives in that site: 360archives in that site:
346 361
347 gmp-6.2.1-emacs.tgz 362 gmp-6.2.1-emacs.tgz
348 gnutls-3.7.8-emacs.tar.gz 363 gnutls-3.8.5-emacs.tar.gz
364 (or gnutls-3.8.5-emacs-armv7a.tar.gz on 32-bit systems)
349 libtasn1-4.19.0-emacs.tar.gz 365 libtasn1-4.19.0-emacs.tar.gz
350 p11-kit-0.24.1-emacs.tar.gz 366 p11-kit-0.24.1-emacs.tar.gz
351 nettle-3.8-emacs.tar.gz 367 nettle-3.8-emacs.tar.gz
352 368
353and add the resulting folders to ``--with-ndk-path''. Note that you 369and add the resulting folders to ``--with-ndk-path''. Do not attempt to
354should not try to build these packages separately using any 370build these packages separately by means of `configure' scripts or
355`configure' script or Makefiles inside. 371Makefiles inside.
372
373
374LIBXML2
375
376A copy of libxml2 adapted for the same build system is provided under
377the name:
378
379 libxml2-2.12.4-emacs.tar.gz
380
381In contrast to the version distributed by Google, internationalization
382is disabled, which eliminates the dependency on icu4c (and by extension
383a C++ compiler).
384
385
386IMAGE LIBRARIES
387
388ndk-build enabled versions of image libraries required by Emacs are also
389provided as:
390
391 giflib-5.2.1-emacs.tar.gz
392 libjpeg-turbo-3.0.2-emacs.tar.gz
393 libpng-1.6.41-emacs.tar.gz
394 tiff-4.5.0-emacs.tar.gz
395
396Of which all but libjpeg-turbo-3.0.2-emacs.tar.gz should compile on
397every supported Android system and toolchain; where the latter does not
398compile, i.e. old armeabi toolchains, Google's version is a suitable
399substitute.
400
401Of the three remaining image-related dependencies, libwebp provides
402upstream support for ndk-build, ImageMagick has been ported by
403interested third-party developers, while librsvg2, with its numerous and
404unnavigable web of dependencies and toolchains for non-C languages,
405would be such a great undertaking to port that we do not anticipate its
406ever becoming available.
407
408We are actively searching for alternatives to librsvg2 that are feasible
409to port, or better yet, natively support Android. Please send
410suggestions or patches to emacs-devel@gnu.org.
411
412
413SELINUX
414
415The upstream version of libselinux is available as:
416
417 libselinux-3.6-emacs.tar.gz
418
419and compiles on toolchains configured for Android 4.3 and later, which
420are the earliest Android releases to support SELinux. Its principal
421advantage over Google's edition is the absence of Android-specific
422modifications that create dependencies on libpackagelistparser and
423libcrypto; Google's pcre remains a requirement.
356 424
357 425
358TREE-SITTER 426TREE-SITTER
@@ -372,7 +440,9 @@ A copy of HarfBuzz modified to build with the ndk-build system can
372also be found at that URL. To build Emacs with HarfBuzz, you must 440also be found at that URL. To build Emacs with HarfBuzz, you must
373unpack the following tar archive in that site: 441unpack the following tar archive in that site:
374 442
375 harfbuzz-7.1.0-emacs.tar.gz 443 harfbuzz-7.1.0-emacs.tar.gz (when building for Android >4.3
444 with 21.0.x or later of the NDK)
445 harfbuzz-1.7.7.tar.gz (earlier NDK or platform releases)
376 446
377and add the resulting folder to ``--with-ndk-build''. 447and add the resulting folder to ``--with-ndk-build''.
378 448