aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorPo Lu2024-06-07 20:38:56 +0800
committerPo Lu2024-06-07 20:39:46 +0800
commit7052654515d4131ffa4b478c302a152a2602c1d8 (patch)
tree46ae042add432ab5bec0859d7a77cbde7f98cc5f /java
parent57c0549c4f99703589279f426a50ae8acab17905 (diff)
downloademacs-7052654515d4131ffa4b478c302a152a2602c1d8.tar.gz
emacs-7052654515d4131ffa4b478c302a152a2602c1d8.zip
Document compilation of librsvg on Android
* java/INSTALL (LIBRSVG): New section. (BUILDING WITH OLD NDK VERSIONS): Update recommended invocation of configure in the case of a combined toolchain.
Diffstat (limited to 'java')
-rw-r--r--java/INSTALL58
1 files changed, 45 insertions, 13 deletions
diff --git a/java/INSTALL b/java/INSTALL
index a4cc97e7710..21b61270c7f 100644
--- a/java/INSTALL
+++ b/java/INSTALL
@@ -139,10 +139,10 @@ compiler. For example:
139 139
140 ./configure [...] \ 140 ./configure [...] \
141 ANDROID_CC="i686-linux-android-gcc \ 141 ANDROID_CC="i686-linux-android-gcc \
142 --sysroot=/path/to/ndk/platforms/android-14/arch-x86/" 142 --sysroot=/path/to/ndk/platforms/android-14/arch-x86/
143 ANDROID_CFLAGS="-isystem /path/to/ndk/sysroot/usr/include \ 143 -isystem /path/to/ndk/sysroot/usr/include \
144 -isystem /path/to/ndk/sysroot/usr/include/i686-linux-android \ 144 -isystem /path/to/ndk/sysroot/usr/include/i686-linux-android \
145 -D__ANDROID_API__=14" 145 -D__ANDROID_API__=14"
146 146
147Where __ANDROID_API__ and the version identifier in 147Where __ANDROID_API__ and the version identifier in
148"platforms/android-14" defines the version of Android you are building 148"platforms/android-14" defines the version of Android you are building
@@ -391,7 +391,7 @@ provided as:
391 giflib-5.2.1-emacs.tar.gz 391 giflib-5.2.1-emacs.tar.gz
392 libjpeg-turbo-3.0.2-emacs.tar.gz 392 libjpeg-turbo-3.0.2-emacs.tar.gz
393 libpng-1.6.41-emacs.tar.gz 393 libpng-1.6.41-emacs.tar.gz
394 tiff-4.5.0-emacs.tar.gz 394 tiff-4.5.1-emacs.tar.gz
395 395
396Of which all but libjpeg-turbo-3.0.2-emacs.tar.gz should compile on 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 397every supported Android system and toolchain; where the latter does not
@@ -400,14 +400,46 @@ substitute.
400 400
401Of the three remaining image-related dependencies, libwebp provides 401Of the three remaining image-related dependencies, libwebp provides
402upstream support for ndk-build, ImageMagick has been ported by 402upstream support for ndk-build, ImageMagick has been ported by
403interested third-party developers, while librsvg2, with its numerous and 403interested third-party developers, and librsvg is addressed below.
404unnavigable web of dependencies and toolchains for non-C languages, 404
405would be such a great undertaking to port that we do not anticipate its 405
406ever becoming available. 406LIBRSVG
407 407
408We are actively searching for alternatives to librsvg2 that are feasible 408Librsvg 2.40.21, the final release of the librsvg 2.40.x series, the
409to port, or better yet, natively support Android. Please send 409last to be implemented in C, is provided as:
410suggestions or patches to emacs-devel@gnu.org. 410
411 librsvg-2.40.21-emacs.tar.gz
412
413and has been lightly edited for compatibility with environments where
414Pango cannot provide fonts, with the obvious caveat that text cannot be
415displayed with the resulting librsvg binary. Among numerous
416dependencies are PCRE, and:
417
418 libiconv-1.17-emacs.tar.gz
419 libffi-3.4.5-emacs.tar.gz
420 pango-1.38.1-emacs.tar.gz
421 glib-2.33.14-emacs.tar.gz
422 libcroco-0.6.13-emacs.tar.gz
423 pixman-0.38.4-emacs.tar.gz
424 libxml2-2.12.4-emacs.tar.gz
425 gdk-pixbuf-2.22.1-emacs.tar.gz
426 giflib-5.2.1-emacs.tar.gz
427 libjpeg-turbo-3.0.2-emacs.tar.gz
428 libpng-1.6.41-emacs.tar.gz
429 tiff-4.5.1-emacs.tar.gz
430 cairo-1.16.0-emacs.tar.gz
431
432which must be individually unpacked and their contents provided on the
433command line, as with other dependencies. They will introduce
434approximately 8 MiB's worth of shared libraries into the finished
435application package. It is unlikely that later releases of librsvg will
436ever be ported, as they have migrated to a different implementation
437language.
438
439No effort has been expended on providing the latest and greatest of
440these dependencies either; rather, the versions chosen are often the
441earliest versions required by their dependents, these being the smaller
442of all available versions, and generally more straightforward to port.
411 443
412 444
413SELINUX 445SELINUX