diff options
Diffstat (limited to 'xcomp/erl-xcomp-arm64-android.conf')
-rw-r--r-- | xcomp/erl-xcomp-arm64-android.conf | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/xcomp/erl-xcomp-arm64-android.conf b/xcomp/erl-xcomp-arm64-android.conf index 6efd89a4fc..665dad1d5f 100644 --- a/xcomp/erl-xcomp-arm64-android.conf +++ b/xcomp/erl-xcomp-arm64-android.conf @@ -2,7 +2,7 @@ ## ## %CopyrightBegin% ## -## Copyright Ericsson AB 2019-2021. All Rights Reserved. +## Copyright Ericsson AB 2019-2022. All Rights Reserved. ## ## Licensed under the Apache License, Version 2.0 (the "License"); ## you may not use this file except in compliance with the License. @@ -46,23 +46,23 @@ # `--build=$erl_xcomp_build' argument to the `configure' script. It does # not have to be a full `CPU-VENDOR-OS' triplet, but can be. The full # `CPU-VENDOR-OS' triplet will be created by -# `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_build'. If set to `guess', +# `$ERL_TOP/make/autoconf/config.sub $erl_xcomp_build'. If set to `guess', # the build system will be guessed using -# `$ERL_TOP/erts/autoconf/config.guess'. +# `$ERL_TOP/make/autoconf/config.guess'. erl_xcomp_build=guess # * `erl_xcomp_host' - Cross host/target system to build for. This value will # be passed as `--host=$erl_xcomp_host' argument to the `configure' script. # It does not have to be a full `CPU-VENDOR-OS' triplet, but can be. The # full `CPU-VENDOR-OS' triplet will be created by -# `$ERL_TOP/erts/autoconf/config.sub $erl_xcomp_host'. +# `$ERL_TOP/make/autoconf/config.sub $erl_xcomp_host'. erl_xcomp_host=aarch64-linux-android # * `erl_xcomp_configure_flags' - Extra configure flags to pass to the # `configure' script. # Set --enable-builtin-zlib to avoid a inflateGetDictionary missing symbol erl_xcomp_configure_flags="--without-termcap --without-wx \ - --enable-builtin-zlib" + --enable-builtin-zlib --enable-deterministic-build" ## -- Cross Compiler and Other Tools ------------------------------------------- @@ -72,9 +72,13 @@ erl_xcomp_configure_flags="--without-termcap --without-wx \ # Previously with older Android NDK versions before NDK r14, each Android # API level had a different set of headers, each in its own directory. #NDK_SYSROOT=$NDK_ROOT/platforms/$NDK_PLAT/arch-arm -# Starting with Android NDK r14, a single set of headers (called Unified Headers) -# is provided in one location for every Android API level. -NDK_SYSROOT=$NDK_ROOT/sysroot +# Starting with Android NDK r14, a single set of headers (called Unified +# Headers) is provided in one location for every Android API level. +#NDK_SYSROOT=$NDK_ROOT/sysroot +# Starting with Android NDK r19, the actual sysroot path is not needed +# anymore as the NDK toolchain handles it implicitly. +# For reference: https://github.com/android/ndk/issues/1407 +#NDK_SYSROOT=$NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/sysroot ## If the cross compilation tools are prefixed by `<HOST>-' you probably do ## not need to set these variables (where `<HOST>' is what has been passed as @@ -123,7 +127,9 @@ CXX="aarch64-linux-$NDK_ABI_PLAT-clang++" LD="aarch64-linux-android-ld" # * `LDFLAGS' - Linker flags. -#LDFLAGS= +# Use the static version of libc++ provided by the Android NDK +# when compiling the JIT flavor of the beam.smp executable. +LDFLAGS="-static-libstdc++" # * `LIBS' - Libraries. #LIBS= @@ -177,7 +183,13 @@ LD="aarch64-linux-android-ld" # skipped if the system root has not been set. The system root might be # needed for other things too. If this is the case and the system root # has not been set, `configure' will fail and request you to set it. -erl_xcomp_sysroot="$NDK_SYSROOT" +# +# Previously for older Android NDK versions before NDK r19. +#erl_xcomp_sysroot="$NDK_SYSROOT" +# Starting with Android NDK r19, this path does not matter anymore +# as the NDK toolchain handles the sysroot directory implicitly. +# Set a value anyway to enable all applications as described above. +erl_xcomp_sysroot=/sysroot/path/handled/by/the/Android/NDK # * `erl_xcomp_isysroot' - The absolute path to the system root for includes |