diff options
-rw-r--r--[-rwxr-xr-x] | www/design.html | 31 | ||||
-rwxr-xr-x | www/roadmap.html | 8 |
2 files changed, 31 insertions, 8 deletions
diff --git a/www/design.html b/www/design.html index b358d440..993a7f78 100755..100644 --- a/www/design.html +++ b/www/design.html @@ -289,12 +289,13 @@ older kernels or other implementations (ala BSD), but we don't police their corner cases.</p> <b><h3>32/64 bit</h3></b> -<p>Toybox should work on both 32 bit and 64 bit systems. By the end of 2008 -64 bit hardware will be the new desktop standard, but 32 bit hardware will -continue to be important in embedded devices for years to come.</p> +<p>Toybox should work on both 32 bit and 64 bit systems. 64 bit desktop +hardware went mainstream in 2005 and was essentially ubiquitous +by the end of the decade, but 32 bit hardware will continue to be important +in embedded devices for several more years.</p> <p>Toybox relies on the fact that on any Unix-like platform, pointer and long -are always the same size (on both 32 and 64 bit). Pointer and int are _not_ +are always the same size (on both 32 and 64 bit). Pointer and int are _not_ the same size on 64 bit systems, but pointer and long are.</p> <p>This is guaranteed by the LP64 memory model, a Unix standard (which Linux @@ -352,6 +353,28 @@ of it.)</p> <p>Locale support isn't currently a goal; that's a presentation layer issue (I.E. a GUI problem).</p> +<p><h3>Shared Libraries</h3></p> + +<p>Toybox's policy on shared libraries is that they should never be +required, but can optionally be used to improve performance.</p> + +<p>Toybox should provide the command line utilities for +<a href=roadmap.html#dev_env>self-hosting development evirionments</a>, +and an easy way to set up "hermetic builds" (I.E. builds which provide +their own dependencies, isolating the build logic from host command version +skew with a simple known build environment). In both cases, external +dependencies defeat the purpose.</p> + +<p>This means toybox should provide full functionality without relying +on any external dependencies (other than libc). But toybox may optionally use +libraries such as zlib and openssl to improve performance for things like +deflate and sha1sum, which lets the corresponding built-in implementations +be simple (and thus slow). But the built-in implementations need to exist and +work.</p> + +<p>(This is why we use an external https wrapper program, because depending on +openssl or similar to be linked in would change the behavior of toybox.)</p> + <a name="codestyle" /> <h2>Coding style</h2> diff --git a/www/roadmap.html b/www/roadmap.html index 9dff8b2a..4cdafb0d 100755 --- a/www/roadmap.html +++ b/www/roadmap.html @@ -96,7 +96,7 @@ source.)</p> alias bg cd command fc fg getopts hash jobs kill read type ulimit umask unalias wait exit if while for case export set unset trap exec function source </span> -<b></blockquote> +</b></blockquote> <p>A few other commands are judgement calls, providing command-line internationalization support (iconv locale localedef), System V inter-process @@ -193,9 +193,9 @@ su sync tar umount useradd userdel usermod zcat <a name="dev_env"> <h2><a href="#dev_env">Use case: provide a self-hosting development environment</a></h2> -<p>The following commands are enough to build the Aboriginal Linux development -environment, boot it to a shell prompt, and build Linux From Scratch 6.8 under -it. (Aboriginal Linux currently uses BusyBox for this, thus provides a +<p>The following commands are enough to build the <a href=http://landley.net/aboriginal/about.html>Aboriginal Linux</a> development +environment, boot it to a shell prompt, and build <a href=http://www.linuxfromscratch.org/lfs/view/6.8/>Linux From Scratch 6.8</a> under +it. (Aboriginal Linux <a href=http://landley.net/aboriginal/history.html>currently uses</a> BusyBox for this, thus providing a drop-in test environment for toybox. We install both implementations side by side, redirecting the symlinks a command at a time until the older package is no longer used, and can be removed.)</p> |