I still have to manually install my own symlinks to use this as an actual toolchain, because:
$ CROSS_COMPILE=~/android/android-ndk-r21/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android- CC=clang make distclean defconfig toybox doesn't work because the name "x86_64-linux-android21-clang" can't be assembled from the CROSS_COMPILE and CC components. If CC=android21-clang I get x86_64-linux-android-android21-clang but if I leave the - off the end of CROSS_COMPILE it can't find any of the _other_ tools. This toolchain really goes out of its _way_ to break conventional cross compiling... Rob On 10/17/19 1:55 PM, enh wrote: > r21beta1 is out now, if you're looking for new things to break :-) > > https://android-developers.googleblog.com/2019/10/introducing-ndk-r21-our-first-long-term.html > > On Wed, Oct 9, 2019 at 9:27 AM enh <[email protected]> wrote: >> >> On Wed, Oct 9, 2019 at 9:08 AM Rob Landley <[email protected]> wrote: >>> >>> On 10/7/19 3:54 PM, enh wrote: >>>> d'oh. that seems to be a real bug... __ANDROID_NDK__ went missing >>>> between r19 and r20. congratulations on being the first person to >>>> notice! >>> >>> Most people aren't building as part of AOSP _and_ with the NDK. :) >> >> well, depends what you mean by "with the NDK". the tricky part in the >> platform is whether building for the platform but with a lower target >> API level should count as "NDK" or not. that's why the plan is to put >> __ANDROID_NDK__ (which really just means "built in a context where it >> was targeting a published API level") back even though we also have >> __NDK_MAJOR__ and friends which tell you exactly what version of the >> NDK you're being built with (or aren't defined at all if you're being >> built with the platform). similar to how there's __ANDROID__ versus >> __BIONIC__ versus __linux__ depending on exactly what you're trying to >> say. >> >>>> it looks like the removal was my fault, though i can't understand why >>>> i did it now (because there wasn't nearly enough detail in my commit >>>> message). >>>> >>>> https://android-review.googlesource.com/c/platform/bionic/+/1135146 >>>> reverts the change that broke this. >>> >>> Sigh, should I add that to the compile time probes to work with the exiting >>> NDK, >>> or is there a new release soon? >> >> well, r21beta1 was supposed to be tomorrow, but we're having Windows >> issues. but, yeah, pretty soon. >> >> if you want a quick hack, and don't care about _old_ versions of the >> NDK (which you don't, because they can't build toybox anyway), you >> could replace __ANDROID_NDK__ with __NDK_MAJOR__. that should fix r20 >> and also work for r19 and r21 (and the OS, because it won't be set >> there, which is intended in this case). >> >>> Rob > _______________________________________________ Toybox mailing list [email protected] http://lists.landley.net/listinfo.cgi/toybox-landley.net
