|
24 | 24 | need to know the prefix to extend your PATH, in order to invoke
|
25 | 25 | $(CROSS_COMPILE)clang [*gcc on NDK 19 and lower] and company. (Configure
|
26 | 26 | 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 |
28 | 28 | NDK directory. If you're using a side-by-side NDK the path will look
|
29 | 29 | something like /some/where/android-sdk/ndk/<ver>, and for a standalone
|
30 | 30 | NDK the path will be something like /some/where/android-ndk-<ver>.
|
|
35 | 35 | with N being the numerical value of the target platform version. For example,
|
36 | 36 | to compile for Android 10 arm64 with a side-by-side NDK r20.0.5594570
|
37 | 37 |
|
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 |
40 | 40 | ./Configure android-arm64 -D__ANDROID_API__=29
|
41 | 41 | make
|
42 | 42 |
|
43 | 43 | Older versions of the NDK have GCC under their common prebuilt tools directory, so the bin path
|
44 | 44 | will be slightly different. EG: to compile for ICS on ARM with NDK 10d:
|
45 | 45 |
|
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 |
48 | 48 | ./Configure android-arm -D__ANDROID_API__=14
|
49 | 49 | make
|
50 | 50 |
|
51 | 51 | 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 |
53 | 53 | appoint headers-n-libraries' location. It's still recognized in order
|
54 | 54 | to facilitate migration from older projects. However, since API level
|
55 | 55 | appears in CROSS_SYSROOT value, passing -D__ANDROID_API__=N can be in
|
|
64 | 64 |
|
65 | 65 | Another option is to create so called "standalone toolchain" tailored
|
66 | 66 | 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 |
68 | 68 | 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. |
70 | 70 |
|
71 | 71 | Running tests (on Linux)
|
72 | 72 | ------------------------
|
|
0 commit comments