Various README fixes

- fix a couple of typos
- flex 2.6.4 clarity
- add colons to part numbers
- textwrap to 80
This commit is contained in:
fosslinux 2021-02-06 10:12:42 +11:00
parent 88f3b52c35
commit 209c60e092
1 changed files with 37 additions and 27 deletions

View File

@ -235,15 +235,19 @@ preferred where we can use it, and makes source code sizes smaller.
#### Part 17: coreutils 5.0.0 #### Part 17: coreutils 5.0.0
GNU Coreutils is a collection of widely used utilities such as `cat`, `chmod`, `chown`, GNU Coreutils is a collection of widely used utilities such as `cat`, `chmod`,
`cp`, `install`, `ln`, `ls`, `mkdir`, `mknod`, `mv`, `rm`, `rmdir`, `tee`, `test`, `true`, and many others. `chown`, `cp`, `install`, `ln`, `ls`, `mkdir`, `mknod`, `mv`, `rm`, `rmdir`,
`tee`, `test`, `true`, and many others.
A few of the utilities cannot be easily compiled with Mes C library, so we skip them. A few of the utilities cannot be easily compiled with Mes C library, so we skip
them.
#### Part 18: heirloom devtools #### Part 18: heirloom devtools
`lex` and `yacc` from the Heirloom project. The Heirloom project is a collection `lex` and `yacc` from the Heirloom project. The Heirloom project is a collection
of standard UNIX utilities derived from code by Caldera and Sun. Differently from of standard UNIX utilities derived from code by Caldera and Sun. Differently
the analogous utilities from the GNU project, they can be compiled with a simple `Makefile`. from the analogous utilities from the GNU project, they can be compiled with a
simple `Makefile`.
#### Part 19: bash 2.05b #### Part 19: bash 2.05b
@ -257,40 +261,46 @@ cope here.
#### Part 20: m4 1.4.4 #### Part 20: m4 1.4.4
`m4` is the first piece of software we need in the autotools suite and flex 2.6.4. `m4` is the first piece of software we need in the autotools suite and flex
It allows macros to be defined and files to be generated from those macros. 2.6.4. It allows macros to be defined and files to be generated from those
macros.
#### Part 21: flex 2.5.11 #### Part 21: flex 2.5.11
`flex` is a tool for generating lexers or scanners: programs that recognize lexical patters. `flex` is a tool for generating lexers or scanners: programs that recognize
lexical patters.
Unfortunately `flex` also depends on itself for compiling its own scanner, so Unfortunately `flex` also depends on itself for compiling its own scanner, so
first flex 2.5.11 is compiled, with its scanner definition manually modified so that first flex 2.5.11 is compiled, with its scanner definition manually modified so
it can be processed by lex for the Heirloom project (the required modifications that it can be processed by lex for the Heirloom project (the required
are mostly syntactical, plus a few workarounds to avoid some flex advanced features). modifications are mostly syntactical, plus a few workarounds to avoid some flex
advanced features).
#### Part 22 musl 1.1.24 #### Part 22: musl 1.1.24
`musl` is a C standard library that is lightweight, fast, simple, free, and strives to be correct `musl` is a C standard library that is lightweight, fast, simple, free, and
in the sense of standards-conformance and safety. `musl` is used by some distributions of GNU/Linux strives to be correct in the sense of standards-conformance and safety. `musl`
as their C library. Our previous Mes C library was incomplete which prevented us from building many is used by some distributions of GNU/Linux as their C library. Our previous Mes
newer or more complex programs. C library was incomplete which prevented us from building many newer or more
complex programs.
`tcc` has slight problems when building and linking `musl`, so we apply a few patches. In particular, `tcc` has slight problems when building and linking `musl`, so we apply a few
we replace all weak symbols with strong symbols and will patch `tcc` in the next step to ignore duplicate patches. In particular, we replace all weak symbols with strong symbols and will
symbols. patch `tcc` in the next step to ignore duplicate symbols.
#### Part 23 tcc 0.9.27 (musl) #### Part 23: tcc 0.9.27 (musl)
We recompile `tcc` against musl. This is a two stage process. First we build tcc-0.9.27 that itself We recompile `tcc` against musl. This is a two stage process. First we build
links to Mes C library but produces binaries linked to musl. Then we recompile newly produced tcc tcc-0.9.27 that itself links to Mes C library but produces binaries linked to
with itself. Interestingly, tcc-0.9.27 linked against musl is self hosting. musl. Then we recompile newly produced tcc with itself. Interestingly,
tcc-0.9.27 linked against musl is self hosting.
#### Part 24 flex 2.6.14 #### Part 24: flex 2.6.14
We recompile unpatched GNU `flex` using older flex 2.5.11. This is again two stage process, We recompile unpatched GNU `flex` using older flex 2.5.11. This is again a two
first compile flex using scanner generated by old flex, then recompile scan.l using the new version stage process, first compiling flex using `scan.c` (from `scan.l`) created by
of flex to remove any buggy artificats from the old flex. old flex, then recompile `scan.c` using the new version of flex to remove any
buggy artifacts from the old flex.
#### Part 25: grep 2.4 #### Part 25: grep 2.4