Skip to content

Commit 99ffd5a

Browse files
committed
Andoid cross compile: change ANDROID_NDK_HOME to ANDROID_NDK_ROOT
According to forum discussions with NDK developers, ANDROID_NDK_HOME is used for something else. Fixes openssl#11205 Reviewed-by: Matt Caswell <[email protected]> (Merged from openssl#11206)
1 parent 3cd14e5 commit 99ffd5a

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

Configurations/15-android.conf

+3-3
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@
2424

2525
my $ndk_var;
2626
my $ndk;
27-
foreach (qw(ANDROID_NDK_HOME ANDROID_NDK)) {
27+
foreach (qw(ANDROID_NDK_ROOT ANDROID_NDK)) {
2828
$ndk_var = $_;
2929
$ndk = $ENV{$ndk_var};
3030
last if defined $ndk;
3131
}
32-
die "\$ANDROID_NDK_HOME is not defined" if (!$ndk);
32+
die "\$ANDROID_NDK_ROOT is not defined" if (!$ndk);
3333
if (!-d "$ndk/platforms" && !-f "$ndk/AndroidVersion.txt") {
3434
# $ndk/platforms is traditional "all-inclusive" NDK, while
3535
# $ndk/AndroidVersion.txt is so-called standalone toolchain
3636
# tailored for specific target down to API level.
37-
die "\$ANDROID_NDK_HOME=$ndk is invalid";
37+
die "\$ANDROID_NDK_ROOT=$ndk is invalid";
3838
}
3939
$ndk = canonpath($ndk);
4040

NOTES.ANDROID

+8-8
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
need to know the prefix to extend your PATH, in order to invoke
2525
$(CROSS_COMPILE)clang [*gcc on NDK 19 and lower] and company. (Configure
2626
will fail and give you a hint if you get it wrong.) Apart from PATH
27-
adjustment you need to set ANDROID_NDK_HOME environment to point at the
27+
adjustment you need to set ANDROID_NDK_ROOT environment to point at the
2828
NDK directory. If you're using a side-by-side NDK the path will look
2929
something like /some/where/android-sdk/ndk/<ver>, and for a standalone
3030
NDK the path will be something like /some/where/android-ndk-<ver>.
@@ -35,21 +35,21 @@
3535
with N being the numerical value of the target platform version. For example,
3636
to compile for Android 10 arm64 with a side-by-side NDK r20.0.5594570
3737

38-
export ANDROID_NDK_HOME=/home/whoever/Android/android-sdk/ndk/20.0.5594570
39-
PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$PATH
38+
export ANDROID_NDK_ROOT=/home/whoever/Android/android-sdk/ndk/20.0.5594570
39+
PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$PATH
4040
./Configure android-arm64 -D__ANDROID_API__=29
4141
make
4242

4343
Older versions of the NDK have GCC under their common prebuilt tools directory, so the bin path
4444
will be slightly different. EG: to compile for ICS on ARM with NDK 10d:
4545

46-
export ANDROID_NDK_HOME=/some/where/android-ndk-10d
47-
PATH=$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin:$PATH
46+
export ANDROID_NDK_ROOT=/some/where/android-ndk-10d
47+
PATH=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin:$PATH
4848
./Configure android-arm -D__ANDROID_API__=14
4949
make
5050

5151
Caveat lector! Earlier OpenSSL versions relied on additional CROSS_SYSROOT
52-
variable set to $ANDROID_NDK_HOME/platforms/android-<api>/arch-<arch> to
52+
variable set to $ANDROID_NDK_ROOT/platforms/android-<api>/arch-<arch> to
5353
appoint headers-n-libraries' location. It's still recognized in order
5454
to facilitate migration from older projects. However, since API level
5555
appears in CROSS_SYSROOT value, passing -D__ANDROID_API__=N can be in
@@ -64,9 +64,9 @@
6464

6565
Another option is to create so called "standalone toolchain" tailored
6666
for single specific platform including Android API level, and assign its
67-
location to ANDROID_NDK_HOME. In such case you have to pass matching
67+
location to ANDROID_NDK_ROOT. In such case you have to pass matching
6868
target name to Configure and shouldn't use -D__ANDROID_API__=N. PATH
69-
adjustment becomes simpler, $ANDROID_NDK_HOME/bin:$PATH suffices.
69+
adjustment becomes simpler, $ANDROID_NDK_ROOT/bin:$PATH suffices.
7070

7171
Running tests (on Linux)
7272
------------------------

0 commit comments

Comments
 (0)