30 lines
1.5 KiB
Plaintext
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.
|