Software for Minix 2.0
A port of the lcc compiler.
Minix is designed to be small enough to be understood by a student. It comes with a book that explains the source code line by line. On the other hand, the programming environment provided with Minix uses a proprietary set of tools (The Amsterdam Compiler Kit - ACK) without readily available source code for study. LCC is an open source compiler that is designed to be small enough to be understood by a student. It comes with a book that explains the source code line by line. (C. Fraser and D. Hansen, A Retargetable C Compiler: Design and Implementation, Addison-Wesley, Menlo Park, 1995.) A marriage between Minix and LCC seems made in heaven.
LCC is only a compiler and preprocesser, so the package also includes ports of the GNU assembler, the GNU linker, and the GNU archiver. Since the Minix object file format differs from the a.out format used by the GNU tools, it was also necessary to include a port of Minix's libc.
The entire package can be built initially using ACK and then, after installation, it can rebuild itself. Rebuilding a second time produces a set of tools that are, arguably, "ACK free." Consult the README in the main directory of the package for details.
All the following software contains prebuilt executables and source code patched to compile on Minix 2.0 systems using the ACK compiler. See the README for more information. What about 16-bit software? Unfortunately, 16-bit programs under Minix are limited to 128K -- 64K for the code segment, and 64K for the data segment. 32-bit programs are also limited to two segments, but the segments can be arbitrarily large (up to the limitation imposed by available memory.) Very few of the programs below could be built in any reasonable configuration with size 128K or less.