From 0e995d06a8df4660a4eca63673087d2df63bf8b0 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sat, 4 Mar 2023 11:19:25 +0800 Subject: Improve support for building Android C++ dependencies * configure.ac: Call ndk_LATE after gl_EARLY. * cross/ndk-build/Makefile.in (NDK_BUILD_CXX): New variable. * cross/ndk-build/ndk-build-shared-library.mk: * cross/ndk-build/ndk-build-static-library.mk: Use it. * java/INSTALL: Describe how to build C++ dependencies. * m4/ndk-build.m4 (ndk_LATE): New macro. (ndk_INIT): Try to find a suitable C++ compiler. (ndk_CHECK_MODULES): Make sure the C++ compiler works before allowing C++ dependencies. --- java/INSTALL | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'java') diff --git a/java/INSTALL b/java/INSTALL index bc5f4a70cd0..b331d09d9ff 100644 --- a/java/INSTALL +++ b/java/INSTALL @@ -112,6 +112,24 @@ result, the Emacs package will be approximately 100 megabytes larger than a compressed package for a newer version of Android. +BUILDING C++ DEPENDENCIES + +With a new version of the NDK, dependencies containing C++ code should +build without any futher configuration. However, older versions +require that you use the ``make_standalone_toolchain.py'' script in +the NDK distribution to create a ``standalone toolchain'', and use +that instead, in order for C++ headers to be found. + +See https://developer.android.com/ndk/guides/standalone_toolchain for +more details; when a ``standalone toolchain'' is specified, the +configure script will try to determine the location of the C++ +compiler based on the C compiler specified. If that automatic +detection does not work, you can specify a C++ compiler yourself, like +so: + + ./configure --with-ndk-cxx=/path/to/toolchain/bin/i686-linux-android-g++ + + DEBUG AND RELEASE BUILDS Android makes a distinction between ``debug'' and ``release'' builds -- cgit v1.2.1