summaryrefslogtreecommitdiff
path: root/m4
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2023-02-22 21:20:30 +0800
committerPo Lu <luangruo@yahoo.com>2023-02-22 21:20:30 +0800
commit767da53fa3a15ed448c14aa4dc468f187a6e2df9 (patch)
tree2fc5be35e15985a9f62ed68431199c87d920b21f /m4
parentf3b6cbb6755a1c1587b8a6c3165732c5f0187397 (diff)
downloademacs-767da53fa3a15ed448c14aa4dc468f187a6e2df9.tar.gz
Update Android port
ImageMagick now builds but does not link yet some of the time. * INSTALL.android: Document ImageMagick and caveats. * build-aux/ndk-build-helper-1.mk (NDK_SO_NAMES): * build-aux/ndk-build-helper-2.mk (NDK_A_NAMES): * build-aux/ndk-build-helper.mk (TARGET_ARCH_ABI): Define architecture and don't respect explicitly specified library names. * configure.ac: Enable ImageMagick and lcms2 on Android. * cross/ndk-build/ndk-build-shared-library.mk (objname)::($(call objname,$(LOCAL_MODULE),$(basename $(1))))::(ALL_OBJECT_FILES$(LOCAL_MODULE)): * cross/ndk-build/ndk-build-static-library.mk (objname)::($(call objname,$(LOCAL_MODULE),$(basename $(1)))): (NDK_CFLAGS, ALL_SOURCE_FILES): Handle sources files which start with $(LOCAL_PATH). * cross/ndk-build/ndk-clear-vars.mk: Don't undefine; clear variables instead. * m4/ndk-build.m4 (ndk_SEARCH_MODULE): Redirect make stderr to config.log.xf64
Diffstat (limited to 'm4')
-rw-r--r--m4/ndk-build.m424
1 files changed, 14 insertions, 10 deletions
diff --git a/m4/ndk-build.m4 b/m4/ndk-build.m4
index e1e4115ffca..7b5c45997b1 100644
--- a/m4/ndk-build.m4
+++ b/m4/ndk-build.m4
@@ -82,6 +82,7 @@ esac
ndk_package_map="libwebpdemux:webpdemux libxml-2.0:libxml2 jansson:libjansson"
ndk_package_map="$ndk_package_map sqlite3:libsqlite_static_minimal"
+ndk_package_map="$ndk_package_map MagickWand:libmagickwand-7 lcms2:liblcms2"
# Replace ndk_module with the appropriate Android module name if it is
# found in ndk_package_map.
@@ -111,7 +112,8 @@ ndk_parse_pkg_config_string () {
ndk_input="$(printf "$ndk_input" | cut -s -f2- -d' ')"
if test "$ndk_str" = ">=" || test "$ndk_str" = "<=" \
- || test "$ndk_str" = ">" || test "$ndk_str" = "<"; then
+ || test "$ndk_str" = ">" || test "$ndk_str" = "<" \
+ || test "$ndk_str" = "!="; then
ndk_input="$(printf "$ndk_input" | cut -s -f2- -d' ')"
else
ndk_modules="$ndk_modules$ndk_str "
@@ -135,11 +137,12 @@ ndk_resolve_import_module () {
# Read this Android.mk file. Set NDK_ROOT to /tmp: the Android in
# tree build system sets it to a meaning value, but build files
# just use it to test whether or not the NDK is being used.
- ndk_commands=$($MAKE -s -f build-aux/ndk-build-helper.mk EMACS_SRCDIR=. \
- EMACS_ABI=$ndk_ABI ANDROID_MAKEFILE="$ndk_android_mk" \
- ANDROID_MODULE_DIRECTORY=$(dirname "$ndk_android_mk") \
- NDK_BUILD_DIR="$ndk_DIR" NDK_ROOT="/tmp" \
- | awk -f build-aux/ndk-module-extract.awk \
+ ndk_commands=$(($MAKE -s -f build-aux/ndk-build-helper.mk EMACS_SRCDIR=. \
+ EMACS_ABI=$ndk_ABI ANDROID_MAKEFILE="$ndk_android_mk" \
+ ANDROID_MODULE_DIRECTORY=$(dirname "$ndk_android_mk") \
+ NDK_BUILD_DIR="$ndk_DIR" NDK_ROOT="/tmp" \
+ 2>&AS_MESSAGE_LOG_FD) \
+ | awk -f build-aux/ndk-module-extract.awk \
MODULE="$ndk_module")
AS_IF([test -n "${ndk_commands//\n }"], [eval "$ndk_commands"])
@@ -298,10 +301,11 @@ for ndk_android_mk in $ndk_module_files; do
# Read this Android.mk file. Set NDK_ROOT to /tmp: the Android in
# tree build system sets it to a meaning value, but build files just
# use it to test whether or not the NDK is being used.
- ndk_commands=$($MAKE -s -f build-aux/ndk-build-helper.mk EMACS_SRCDIR=. \
- EMACS_ABI=$ndk_ABI ANDROID_MAKEFILE="$ndk_android_mk" \
- ANDROID_MODULE_DIRECTORY=$(dirname "$ndk_android_mk") \
- NDK_BUILD_DIR="$ndk_DIR" NDK_ROOT="/tmp" \
+ ndk_commands=$(($MAKE -s -f build-aux/ndk-build-helper.mk EMACS_SRCDIR=. \
+ EMACS_ABI=$ndk_ABI ANDROID_MAKEFILE="$ndk_android_mk" \
+ ANDROID_MODULE_DIRECTORY=$(dirname "$ndk_android_mk") \
+ NDK_BUILD_DIR="$ndk_DIR" NDK_ROOT="/tmp" \
+ 2>&AS_MESSAGE_LOG_FD) \
| awk -f build-aux/ndk-module-extract.awk \
MODULE="$ndk_module")