From a52f04319843de7c88476a78d6f6f48ef4e02e12 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Wed, 25 Nov 2020 16:17:07 -0600 Subject: Minor tweaks. --- www/faq.html | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/www/faq.html b/www/faq.html index 6704cc5d..803d7b56 100755 --- a/www/faq.html +++ b/www/faq.html @@ -56,15 +56,15 @@ to make Android self-hosting using toybox. This helped it to Android's attention, and they merged it into Android M.

-

The answer to the second question is "licensing". BusyBox predates Android -by almost a decade but Android still doesn't ship with it because GPLv3 came +

The unfixable problem with busybox was licensing: BusyBox predates Android +by almost a decade, but Android still doesn't ship with it because GPLv3 came out around the same time Android did and caused many people to throw out the GPLv2 baby with the GPLv3 bathwater. Android explicitly discourages use of GPL and LGPL licenses in its products, and has gradually -reimplemented historical GPL components such as its bluetooth stack under the -Apache license. Apple's even -more pronounced response was to freeze xcode at the last GPLv2 releases +reimplemented historical GPL components (such as its bluetooth stack) under the +Apache license. Apple's +less subtle response was to freeze xcode at the last GPLv2 releases (GCC 4.2.1 with binutils 2.17) for over 5 years while sponsoring the development of new projects (clang/llvm/lld) to replace them, implementing a @@ -530,7 +530,8 @@ nm and objdump.)

Toybox is tested against two compilers (llvm, gcc) and three C libraries (bionic, musl, glibc) in the following combinations:

-

1) gcc+glibc = host toolchain

+ +

1) gcc+glibc = host toolchain

Most Linux distros come with that as a host compiler, which is used by default when you build normally @@ -555,7 +556,8 @@ by a committee instead of a single maintainer, if that's an improvement. (As with Windows and Cobol, most people deal with it and get on with their lives.)

-

2) gcc+musl = musl-cross-make

+ +

2) gcc+musl = musl-cross-make

The cross compilers I test this with are built from the musl-libc maintainer's @@ -598,7 +600,8 @@ the shared libraries out of the toolchain, but I haven't bothered implementing that in mkroot yet because a static linked musl hello world is 10k on x86 (5k if stripped).

-

3) llvm+bionic = Android NDK

+ +

3) llvm+bionic = Android NDK

The Android Native Development Kit provides an llvm toolchain with the bionic -- cgit v1.2.3