Files
strongswan-ext/src/frontends/android/README.ndk
T

30 lines
1.5 KiB
Plaintext

To build this within the NDK the following things have to be done:
- By default, the strongSwan sources of the current Git tree are used. They
have to be prepared first (see HACKING for a list of required tools):
./autogen.sh && ./configure && make && make distclean
It's also possible to use the sources from a different directory (e.g. an
extracted tarball) by setting strongswan_DIR in app/src/main/jni/Android.mk.
- The libstrongswan library depends on an Android module called libcrypto_static
that provides OpenSSL's libcrypto and header files. To simplify this, the
build.sh script in the openssl directory can be used to statically build
libcrypto for all ABIs. The results are placed in app/src/main/jni/openssl.
The script expects the path to the Android NDK in ANDROID_NDK_ROOT, which is
something like /path/to/android-ndk-<ver> for standalone NDKs, and something
like /path/to/android-sdk/ndk/<ver> for side-by-side NDKs. The path to the
OpenSSL sources is expected in OPENSSL_SRC (work with OpenSSL 1.1.1 or 3).
For instance, it may be invoked like this:
ANDROID_NDK_ROOT=~/android-ndk-<ver> \
OPENSSL_SRC=~/openssl-<ver> \
src/frontends/android/openssl/build.sh
By default, the script uses Docker to compile the library. However, if the
necessary build dependencies (jq, make, perl) are installed on the host, this
can be disabled by defining the NO_DOCKER. The dependency on jq may be
avoided by passing a space-separated list of target ABIs via ABIS variable.