diff options
author | Andy Polyakov <appro@openssl.org> | 2018-03-16 12:14:28 +0100 |
---|---|---|
committer | Andy Polyakov <appro@openssl.org> | 2018-03-19 14:31:30 +0100 |
commit | f39276fdff6ccc1c71bdb30a8050fa1c0bf6e20a (patch) | |
tree | ea6c67b6627d94d554d5cde4e1417d884993934c /Configurations/15-android.conf | |
parent | 87ba25ee3fd152d807496609e821a9f5fc950d02 (diff) |
Add NOTES.ANDROID.
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/5613)
Diffstat (limited to 'Configurations/15-android.conf')
-rw-r--r-- | Configurations/15-android.conf | 33 |
1 files changed, 7 insertions, 26 deletions
diff --git a/Configurations/15-android.conf b/Configurations/15-android.conf index 36daf3179b..0a2a9e7bba 100644 --- a/Configurations/15-android.conf +++ b/Configurations/15-android.conf @@ -1,27 +1,7 @@ #### Android... # -# It takes *one* prior-set environment variable to make it work: -# -# ANDROID_NDK=/some/where/android-ndk-<ver> -# -# As well as PATH *adjusted* to cover ${CROSS_COMPILE}gcc and company. -# -# Note that it's different from original instructions that required to -# set CROSS_SYSROOT [to $ANDROID_NDK/platforms/android-<api>/arch-<arch>] -# and CROSS_COMPILE. CROSS_SYSROOT is still recognized [and even required -# for some legacy targets], but if not set, it's detected and set to the -# latest Android platform available with appointed NDK automatically. If -# you need to target older platform, pass additional -D__ANDROID_API__=N -# to Configure. For example, to compile for ICS on ARM with NDK 10d: -# -# ANDROID_NDK=/some/where/android-ndk-10d -# PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuild/linux-x86_64/bin:$PATH -# [..]./Configure android-arm -D__ANDROID_API__=14 -# -# One can engage clang by passing CC=clang to Configure. In such case -# PATH needs even more adjustments to cover NDK's clang itself, as well -# as unprefixed, yet target-specific ar and ranlib [or not, if you use -# binutils-multiarch]. +# See NOTES.ANDROID for details. But don't miss platform-specific +# comments below... { my $android_ndk = {}; @@ -53,7 +33,7 @@ } } - # list available platforms [numerically] + # list available platforms (numerically) my @platforms = sort { $a =~ m/-([0-9]+)$/; my $aa = $1; $b =~ m/-([0-9]+)$/; $aa <=> $1; } glob("$ndk/platforms/android-$api"); @@ -141,7 +121,7 @@ my %targets = ( # ability to engage NEON is not constrained by ABI choice, nor # is your ability to call OpenSSL from your application code # compiled with floating-point ABI other than default 'soft'. - # [Latter thanks to __attribute__((pcs("aapcs"))) declaration.] + # (Latter thanks to __attribute__((pcs("aapcs"))) declaration.) # This means that choice of ARM libraries you provide in .apk # is driven by application needs. For example if application # itself benefits from NEON or is floating-point intensive, then @@ -154,10 +134,11 @@ my %targets = ( # in order to build "universal" binary and allow OpenSSL take # advantage of NEON when it's available. # - # Keep in mind that [just like with linux-armv4] we rely on + # Keep in mind that (just like with linux-armv4) we rely on # compiler defaults, which is not necessarily what you had # in mind, in which case you would have to pass additional # -march and/or -mfloat-abi flags. NDK defaults to armv5te. + # Some NDK versions reportedly require additional -latomic. # inherit_from => [ "android", asm("armv4_asm") ], bn_ops => add("RC4_CHAR"), @@ -201,7 +182,7 @@ my %targets = ( }, #################################################################### - # Backward compatible targets, [might] requre $CROSS_SYSROOT + # Backward compatible targets, (might) requre $CROSS_SYSROOT # "android-armeabi" => { inherit_from => [ "android-arm" ], |