[Toybox] Fwd: scripts/llvm-buildall.sh? try2

Rob Landley rob at landley.net
Fri Aug 6 04:12:56 PDT 2021


Huh, forgot to click "send" on this window...

On 8/3/21 6:53 PM, scsijon wrote:
>> And, um... huh. Well, clang-rt is part of llvm-project so...
>>
>>     https://android.googlesource.com/toolchain/llvm-project/+/refs/heads/master
>>
>> Last updated in 2019?
>>
>> Am I looking in the wrong place?
> 
> do you mean
> 
> https://compiler-rt.llvm.org/

No, I read that when I was looking for how to build JUST the builtins dir
without the 8 gazillion electric fence variants.

> and
> 
> https://github.com/llvm/llvm-project/releases/tag/llvmorg-12.0.1

https://lists.nongnu.org/archive/html/qemu-devel/2021-07/msg04610.html

> ?
> or do you need to look under
> 
>   https://android.googlesource.com/toolchain/llvm-project/+/refs/heads/main
> 
> and not master

Cool, thanks. Hmmm...

https://android.googlesource.com/platform/external/toybox/+/refs/heads/main

Not a consistent policy, it seems?

So where's the build invocation? What is the command line that invokes cmake
and/or ninja on this package when building the NDK? That directory has
CONTRIBUTING, a README, and some dotfiles. The compiler-rt directory has a
CMakeLists.txt but that's like having a Makefile or an autoconf "configure"
file: it doesn't say how a given build invokes it. (I was spoiled by
https://android.googlesource.com/platform/external/toybox/+/refs/heads/master/Android.bp
and assumed most AOSP packages work something like that: apparently not.)

I just read
https://src.fedoraproject.org/fork/tstellar/rpms/clang/c/dea2413c6822cc7aa7a08ebe73d10abf8216259f?branch=clang-minimal
to try to figure out how Trilby is building llvm, and the trick in that
particular link is -DCLANG_LINK_CLANG_DYLIB:BOOL=OFF helps get a properly
host-static toolchain. (Toolchain builds are hard to google for because there's
input/output confusion. I want the compiler binary itself to be statically
linked so I can tar it up and extract it on an arbitrary system and have it
work, but to have shared libraries in its lib dir so it can create dynamic
linked binaries if necessary. The NDK has sort of managed that, but if you
google for quite a number of variants of "ndk build" it says how to build things
WITH the NDK, not how the NDK itself got created...)

I got linked TO that because the kernel guys were recently arguing about how
llvm/clang is built/packaged terribly by various distros:

http://lkml.iu.edu/hypermail/linux/kernel/2105.0/00127.html

I'm sure Debian has an llvm build invocation somewhere too, but given that even
AFTER I updated Devuan from Arsenic to Beryllium the repo still only has llvm 7
(released in 2018) and the one I built for hexagon is a git snapshot of pre-13,
that's not high on my todo list...

Rob



More information about the Toybox mailing list