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:
parent
88f3b52c35
commit
209c60e092
64
README.md
64
README.md
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue