summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/README
blob: ce9838832c9729ef35d7c471d899c1495696d51d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
diet libc to statically link programs that don't need all the bloat
from glibc.

malloc, printf and scanf contributed from Olaf Dreesen.

To compile:

	$ make

make should compile the diet libc itself without warnings.  In addition
to the diet libc, the default make target includes t, which is a test
program and probably contains code which produces warnings.  You can
safely ignore them.

When make is done, it will have created dietlibc.a in bin-i386 (or
bin-ppc, bin-alpha, bin-sparc, bin-ppc or bin-arm, depending on your
architecture).  In that directory you will also find a program called
"diet", which you need to copy in a directory in your $PATH:

	# install bin-i386/diet /usr/local/bin

Then you can compile programs by prepending diet to the command line,
i.e.

	$ diet gcc -s -Os -pipe -o t t.c

diet is cross-compiler friendly and can also be used like this:

	$ diet sparc-linux-gcc -o t t.c

diet will then link against dietlibc.a from bin-sparc, of course.
diet comes with a man page (diet.1), which you can copy to an
appropriate location, too:

	# cp diet.1 /usr/local/man/man1

After you compiled the diet libc successfully, I invite you to check out
the embedded utils (http://www.fefe.de/embutils/) and the diet libc
binary repository (ftp://foobar.math.fu-berlin.de/pub/dietlibc/), too.
The embedded utils are small replacements for common utilities like mv,
chown, ls, and even a small tar that can extract tar files.  The binary
repository contains a few utilities I linked against the diet libc, for
example gzip, bzip2 and fdisk.