1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-21 06:55:39 +00:00

Minor enhancements to the Android build system

* build-aux/ndk-build-helper-1.mk:

* build-aux/ndk-build-helper-2.mk:

* cross/ndk-build/ndk-build-shared-library.mk:

* cross/ndk-build/ndk-build-static-library.mk:

* cross/ndk-build/ndk-resolve.mk
(NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)):
(NDK_LOCAL_SO_NAMES_$(LOCAL_MODULE)):
(NDK_LOCAL_A_NAMES_$(LOCAL_MODULE)): Reinforce tests for string
prefixes.

* m4/ndk-build.m4 (ndk_INIT): Guarantee that a module's
dependencies are recorded.

* configure.ac (XCONFIGURE): Prepare for building librsvg.
This commit is contained in:
Po Lu 2024-06-06 20:55:40 +08:00
parent c86995d07e
commit a48f062e36
7 changed files with 18 additions and 13 deletions

View File

@ -37,7 +37,7 @@ $(info Building $(build_kind))
$(info $(LOCAL_MODULE))
$(info $(addprefix $(LOCAL_PATH)/,$(LOCAL_SRC_FILES) $(LOCAL_SRC_FILES$(EMACS_ABI))))
ifeq ($(findstring lib,$(LOCAL_MODULE)),lib)
ifeq ($(filter-out lib%,$(LOCAL_MODULE)),)
NDK_SO_NAMES = $(LOCAL_MODULE)_emacs.so
else
NDK_SO_NAMES = lib$(LOCAL_MODULE)_emacs.so
@ -50,7 +50,7 @@ $$(foreach module,$$(filter-out $$(SYSTEM_LIBRARIES), $$(NDK_$(1)_STATIC_LIBRARI
endef
define add-so-name
ifeq ($(findstring lib,$(1)),lib)
ifeq ($(filter-out lib%,$(1)),)
NDK_SO_NAME = $(1)_emacs.so
else
NDK_SO_NAME = lib$(1)_emacs.so

View File

@ -31,14 +31,14 @@ $(info Building $(build_kind))
$(info $(LOCAL_MODULE))
$(info $(addprefix $(LOCAL_PATH)/,$(LOCAL_SRC_FILES) $(LOCAL_SRC_FILES$(EMACS_ABI))))
ifeq ($(findstring lib,$(LOCAL_MODULE)),lib)
ifeq ($(filter-out lib%,$(LOCAL_MODULE)),)
NDK_A_NAMES = $(LOCAL_MODULE).a
else
NDK_A_NAMES = lib$(LOCAL_MODULE).a
endif
define add-a-name
ifeq ($(findstring lib,$(1)),lib)
ifeq ($(filter-out lib%,$(1)),)
NDK_A_NAME = $(1).a
else
NDK_A_NAME = lib$(1).a
@ -58,7 +58,7 @@ endif
endef
define add-so-name
ifeq ($(findstring lib,$(1)),lib)
ifeq ($(filter-out lib%,$(1)),)
NDK_SO_NAME = $(1)_emacs.so
else
NDK_SO_NAME = lib$(1)_emacs.so

View File

@ -1251,6 +1251,7 @@ package will likely install on older systems but crash on startup.])
passthrough="$passthrough --with-pop=$with_pop"
passthrough="$passthrough --with-harfbuzz=$with_harfbuzz"
passthrough="$passthrough --with-threads=$with_threads"
passthrough="$passthrough --with-rsvg=$with_rsvg"
# Now pass through some checking-related options.
emacs_val="--enable-check-lisp-object-type=$enable_check_lisp_object_type"
@ -1341,9 +1342,9 @@ if test "$ANDROID" = "yes"; then
with_harfbuzz=no
with_native_compilation=no
with_threads=no
with_rsvg=no
fi
with_rsvg=no
with_libsystemd=no
with_cairo=no
with_xft=no
@ -3559,10 +3560,13 @@ fi
HAVE_RSVG=no
if test "${HAVE_X11}" = "yes" || test "${HAVE_NS}" = "yes" \
|| test "${opsys}" = "mingw32" || test "${HAVE_BE_APP}" = "yes" \
|| test "${window_system}" = "pgtk"; then
|| test "${window_system}" = "pgtk" \
|| test "${REALLY_ANDROID}" = "yes"; then
if test "${with_rsvg}" != "no"; then
RSVG_REQUIRED=2.14.0
RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
AS_IF([test "${REALLY_ANDROID}" = "yes"],
[RSVG_MODULE="librsvg"],
[RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"])
EMACS_CHECK_MODULES([RSVG], [$RSVG_MODULE])
AC_SUBST([RSVG_CFLAGS])

View File

@ -125,7 +125,7 @@ NDK_CFLAGS ::= -mthumb
endif
endif
ifeq ($(findstring lib,$(LOCAL_MODULE)),lib)
ifeq ($(filter-out lib%,$(LOCAL_MODULE)),)
LOCAL_MODULE_FILENAME := $(LOCAL_MODULE)_emacs
else
LOCAL_MODULE_FILENAME := lib$(LOCAL_MODULE)_emacs

View File

@ -110,7 +110,7 @@ NDK_CFLAGS ::= -mthumb
endif
endif
ifeq ($(findstring lib,$(LOCAL_MODULE)),lib)
ifeq ($(filter-out lib%,$(LOCAL_MODULE)),)
LOCAL_MODULE_FILENAME := $(LOCAL_MODULE)
else
LOCAL_MODULE_FILENAME := lib$(LOCAL_MODULE)

View File

@ -140,7 +140,7 @@ NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE) += -landroid
endif
ifeq ($(findstring $(1),$(NDK_SYSTEM_LIBRARIES))$(2)$(3),)
ifneq ($(findstring lib,$(1)),)
ifeq ($(filter-out lib%,$(1)),)
NDK_LOCAL_SO_NAMES_$(LOCAL_MODULE) += $(1)_emacs.so
else
NDK_LOCAL_SO_NAMES_$(LOCAL_MODULE) += lib$(1)_emacs.so
@ -148,7 +148,7 @@ endif
endif
ifneq ($(2),)
ifneq ($(findstring lib,$(1)),)
ifeq ($(filter-out lib%,$(1)),)
NDK_LOCAL_A_NAMES_$(LOCAL_MODULE) += $(1).a
else
NDK_LOCAL_A_NAMES_$(LOCAL_MODULE) += lib$(1).a
@ -156,7 +156,7 @@ endif
endif
ifneq ($(3),)
ifneq ($(findstring lib,$(1)),)
ifeq ($(filter-out lib%,$(1)),)
NDK_WHOLE_A_NAMES_$(LOCAL_MODULE) += $(1).a
else
NDK_WHOLE_A_NAMES_$(LOCAL_MODULE) += lib$(1).a

View File

@ -178,6 +178,7 @@ but a working C++ compiler was not found.])])
AC_MSG_RESULT([yes])
# Make sure the module is prepended.
ndk_MODULES="$ndk_MODULES $module_target"
ndk_MAKEFILES="$ndk_android_mk $ndk_MAKEFILES"
ndk_import_includes="$module_includes $ndk_import_includes"