OSDN Git Service

Update the README a bit
[uclinux-h8/uclibc-ng.git] / README
1
2   uClibc - a Small C Library for Linux
3   Erik Andersen <andersen@codepoet.org>
4
5 uClibc (aka µClibc/pronounced yew-see-lib-see) is a C library for
6 developing embedded Linux systems. It is much smaller then the
7 GNU C Library, but nearly all applications supported by glibc
8 also work perfectly with uClibc. Porting applications from glibc
9 to uClibc typically involves just recompiling the source code.
10 uClibc even supports shared libraries and threading. It currently
11 runs on standard Linux and MMU-less (also known as µClinux)
12 systems with support for alpha, ARM, i386, i960, h8300, m68k,
13 mips/mipsel, PowerPC, SH, SPARC, and v850 processors.
14
15 If you are building an embedded Linux system and you find that
16 glibc is eating up too much space, you should consider using
17 uClibc. If you are building a huge fileserver with 12 Terabytes
18 of storage, then using glibc may be a better choice...
19
20 uClibc is maintained by Erik Andersen and is licensed under the
21 GNU LIBRARY GENERAL PUBLIC LICENSE . This license allows you to
22 make closed source commercial applications using uClibc (Please
23 consider sharing some of the money you make ;-). You do not need
24 to give away all your source code just because you use uClibc
25 and/or run on Linux. 
26
27
28 For installation instructions, see the file INSTALL.
29
30 This distribution contains a wrapper for gcc and ld that allows you
31 to use existing toolchains that were targetted for glibc.  See
32 extra/gcc-uClibc/ for information.
33
34 uClibc strives to be standards compliant, which means that most
35 documentation written for functions in glibc also apply to uClibc
36 functions.  However, many GNU extensions are not supported because
37 they have not been ported, or more importantly, would increase the
38 size of uClibc disproportional to the added functionality.
39
40 Additional information (recent releases, FAQ, mailing list, bugs,
41 etc.) can be found at http://www.uclibc.org/.
42
43 uClibc may be freely modified distributed under the terms of the
44 GNU Library General Public License, which can be found in the
45 file COPYING.LIB.
46
47 Please Note:
48
49         There is an unwholesomely huge amount of code out there
50         that depends on the presence of GNU libc header files.
51         We have GNU libc header files.  So we have committed a
52         horrible sin in uClibc.  We _lie_ and claim to be GNU
53         libc in order to force these applications to work as their
54         developers intended.  This is IMHO, pardonable, since
55         these defines are not really intended to check for the
56         presence of a particular library, but rather are used to
57         define an _interface_.  Some programs (such as GNU
58         binutils) are especially chummy with glibc, and need this
59         behavior disabled by adding CFLAGS+=__FORCE_NOGLIBC
60