diff options
| author | Po Lu | 2024-04-19 17:38:58 +0800 |
|---|---|---|
| committer | Po Lu | 2024-04-19 17:39:29 +0800 |
| commit | 2675c2824f77f46476831e637e4bc0fec692a0f1 (patch) | |
| tree | 8f42e1537cfb64b6dd52b2ba71a8e5374ab358d4 /java | |
| parent | c833892140fbf4be45161bf85d4c1253c5503949 (diff) | |
| download | emacs-2675c2824f77f46476831e637e4bc0fec692a0f1.tar.gz emacs-2675c2824f77f46476831e637e4bc0fec692a0f1.zip | |
* java/INSTALL: Update instructions.
Diffstat (limited to 'java')
| -rw-r--r-- | java/INSTALL | 92 |
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 | |||
| 268 | the Netwide Assembler, usually installed under ``nasm'', to be present | 268 | the Netwide Assembler, usually installed under ``nasm'', to be present |
| 269 | on the system that is building Emacs. | 269 | on the system that is building Emacs. |
| 270 | 270 | ||
| 271 | Google, Inc. has adapted many common Emacs dependencies to use the | 271 | Google 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 | 272 | system, many of which require patches to function under an Emacs |
| 273 | work, along with what has to be patched to make them work: | 273 | environment. As such, it is generally the wiser choice to use our ports |
| 274 | in their place, but the following list and patches are still provided | ||
| 275 | for 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 | |||
| 307 | However, the old ``Android.mk'' Makefiles are still present in older | 306 | However, the old ``Android.mk'' Makefiles are still present in older |
| 308 | branches, and can be easily adapted to newer versions. | 307 | branches, and can be easily adapted to newer versions. |
| 309 | 308 | ||
| 309 | In addition, some Emacs dependencies provide `ndk-build' support | ||
| 310 | themselves: | ||
| 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 | |||
| 310 | Emacs developers have ported the following dependencies to ARM Android | 316 | Emacs developers have ported the following dependencies to ARM Android |
| 311 | systems: | 317 | systems: |
| 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 | ||
| 322 | And other developers have ported the following dependencies to Android | 337 | And other developers have ported the following dependencies to Android |
| 323 | systems: | 338 | systems: |
| @@ -345,14 +360,67 @@ To build Emacs with GnuTLS, you must unpack each of the following tar | |||
| 345 | archives in that site: | 360 | archives 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 | ||
| 353 | and add the resulting folders to ``--with-ndk-path''. Note that you | 369 | and add the resulting folders to ``--with-ndk-path''. Do not attempt to |
| 354 | should not try to build these packages separately using any | 370 | build these packages separately by means of `configure' scripts or |
| 355 | `configure' script or Makefiles inside. | 371 | Makefiles inside. |
| 372 | |||
| 373 | |||
| 374 | LIBXML2 | ||
| 375 | |||
| 376 | A copy of libxml2 adapted for the same build system is provided under | ||
| 377 | the name: | ||
| 378 | |||
| 379 | libxml2-2.12.4-emacs.tar.gz | ||
| 380 | |||
| 381 | In contrast to the version distributed by Google, internationalization | ||
| 382 | is disabled, which eliminates the dependency on icu4c (and by extension | ||
| 383 | a C++ compiler). | ||
| 384 | |||
| 385 | |||
| 386 | IMAGE LIBRARIES | ||
| 387 | |||
| 388 | ndk-build enabled versions of image libraries required by Emacs are also | ||
| 389 | provided 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 | |||
| 396 | Of which all but libjpeg-turbo-3.0.2-emacs.tar.gz should compile on | ||
| 397 | every supported Android system and toolchain; where the latter does not | ||
| 398 | compile, i.e. old armeabi toolchains, Google's version is a suitable | ||
| 399 | substitute. | ||
| 400 | |||
| 401 | Of the three remaining image-related dependencies, libwebp provides | ||
| 402 | upstream support for ndk-build, ImageMagick has been ported by | ||
| 403 | interested third-party developers, while librsvg2, with its numerous and | ||
| 404 | unnavigable web of dependencies and toolchains for non-C languages, | ||
| 405 | would be such a great undertaking to port that we do not anticipate its | ||
| 406 | ever becoming available. | ||
| 407 | |||
| 408 | We are actively searching for alternatives to librsvg2 that are feasible | ||
| 409 | to port, or better yet, natively support Android. Please send | ||
| 410 | suggestions or patches to emacs-devel@gnu.org. | ||
| 411 | |||
| 412 | |||
| 413 | SELINUX | ||
| 414 | |||
| 415 | The upstream version of libselinux is available as: | ||
| 416 | |||
| 417 | libselinux-3.6-emacs.tar.gz | ||
| 418 | |||
| 419 | and compiles on toolchains configured for Android 4.3 and later, which | ||
| 420 | are the earliest Android releases to support SELinux. Its principal | ||
| 421 | advantage over Google's edition is the absence of Android-specific | ||
| 422 | modifications that create dependencies on libpackagelistparser and | ||
| 423 | libcrypto; Google's pcre remains a requirement. | ||
| 356 | 424 | ||
| 357 | 425 | ||
| 358 | TREE-SITTER | 426 | TREE-SITTER |
| @@ -372,7 +440,9 @@ A copy of HarfBuzz modified to build with the ndk-build system can | |||
| 372 | also be found at that URL. To build Emacs with HarfBuzz, you must | 440 | also be found at that URL. To build Emacs with HarfBuzz, you must |
| 373 | unpack the following tar archive in that site: | 441 | unpack 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 | ||
| 377 | and add the resulting folder to ``--with-ndk-build''. | 447 | and add the resulting folder to ``--with-ndk-build''. |
| 378 | 448 | ||