[Toybox] [landley/toybox] Any plans to support extra utilities... (#35)
Rob Landley
rob at landley.net
Sun Jul 10 10:51:07 PDT 2016
People keep using github to try to communicate. This is
https://github.com/landley/toybox/issues/35 which I'm replying to on the
mailing list...
> ...like Git, Ruby, or Python?
git yes eventually (although starting with a read-only version capable
of driving a repo checkout of the AOSP source for a build), but that's
probably post-1.0.
Ruby and Python: no. They're way out of scope.
> I'd love to use Android as a real programming device someday.
I just gave a talk about that at txlf, which was (as seems traditional
for my txlf talks) far less coherent than I wanted it to be because my
machine with the carefully loaded set of web pages I wanted to walk
people through (some with sections mouse-highlighted, which is
apparently preserved when you change tabs in chrome) couldn't talk to
the darn projector (the magic resolution I didn't guess was 1280x1024,
dunno why ubuntu 12.04 could autodetect this but 14.04 can't), and
showing up early didn't help because the keynote before mine ran long so
my talk started several minutes late anyway, and then fiddling with the
monitor vs screen export stuff I accidentally hit function-f7 which
disables the touchpad (there's a thing to do that?) and couldn't figure
out how to switch it off again quickly, so I just borrowed a windows
laptop with a web browser and improvised, pulling web pages up on the
fly... meaning my talk wound up a bit like this paragraph, which I
intentionally didn't edit to give an example of my main communications
failure mode. :)
> Sure, it may seem nonsensical to some, but I think making quick Git
> commits or Ruby code on-the-go would be fantastic.
Ruby is out of scope. Python is out of scope.
Python isn't even one language anymore, they have one of those flag day
changes from 2.0->3.0 the same way gtk breaks its API every few years
and loses half its' developers each time. This time the retention
failure is so bad python developers are blogging comparing the 2->3
transition to the kubler-ross stages of grief. And no, I didn't make
that up:
https://lwn.net/Articles/669768/
> Side note: nobody on Earth seems to care about cross-compiling
> utilities to iOS/Android.
I don't know what you mean by that, but my goal is to make native
compling of arbitrary code on android work fine, possibly in some kind
of posix container/chroot.
> The process is rather difficult though, and Stack Overflow is of no
> help. Perhaps someone on this repository has a better understanding
> of GCC/Clang than I do?
I'm told Android is already using the llvm backend to convert java
bytecode to native code (that's the "optimizing your apps 1/xxx" thing
that pops up when you uprade), so adding the clang frontend to that
isn't a huge step. The toolchain's already halfway there.
But it isn't _useful_ until i get a lot more toybox stuff in.
My http://landley.net/aboriginal/about.html project was a proof of
concept about what's the smallest/simplest build environment that can
not only rebuild itself from soruce code, but build linux from scratch
under the result.
I'm currently grinding through the "what's next" section of that page:
http://landley.net/aboriginal/about.html#next
That boils down to cleaning out the GPL code by replacing
uclibc/busybox/glibc with llvm/toybox/musl (or a sufficiently upgraded
bionic), and fixing the problem that distro builds always expect a very
specific build environment and are full of assumptions. (I was poking at
debian and fedora, but now I'm focusing on AOSP.)
If I can get AOSP to build in an aboriginal chroot based on llvm,
toybox, and musl (mostly by building its prerequisite packages first and
setting up the environment it expects, but there will probably be some
patches to AOSP itself), then getting AOSP to build under android is
just a question of reproducing that known environment in the new context.
Python and Ruby aren't involved in this. Git is, due to AOSP's
integration with repo.
Rob
More information about the Toybox
mailing list