OSDN Git Service

arm: move check for BX to its own header
[uclinux-h8/uClibc.git] / README
diff --git a/README b/README
index e28173a..f8467fb 100644 (file)
--- a/README
+++ b/README
@@ -3,58 +3,71 @@
   Erik Andersen <andersen@codepoet.org>
 
 uClibc (aka µClibc/pronounced yew-see-lib-see) is a C library for
-developing embedded Linux systems. It is much smaller than the
+developing embedded Linux systems.  It is much smaller than the
 GNU C Library, but nearly all applications supported by glibc
-also work perfectly with uClibc. Porting applications from glibc
+also work perfectly with uClibc.  Porting applications from glibc
 to uClibc typically involves just recompiling the source code.
-uClibc even supports shared libraries and threading. It currently
+uClibc even supports shared libraries and threading.  It currently
 runs on standard Linux and MMU-less (also known as µClinux)
-systems with support for alpha, ARM, i386, i960, h8300, m68k,
-mips/mipsel, PowerPC, SH, SPARC, and v850 processors.
+systems with support for alpha, ARM, cris, e1, h8300, i386, i960,
+m68k, microblaze, mips/mipsel, PowerPC, SH, SPARC, and v850
+processors.
 
 If you are building an embedded Linux system and you find that
 glibc is eating up too much space, you should consider using
-uClibc. If you are building a huge fileserver with 12 Terabytes
-of storage, than using glibc may be a better choice...
+uClibc.  If you are building a huge fileserver with 12 Terabytes
+of storage, then using glibc may make more sense.  Unless, for
+example, that 12 Terabytes will be Network Attached Storage and
+you plan to burn Linux into the system's firmware...
 
 uClibc is maintained by Erik Andersen and is licensed under the
-GNU LIBRARY GENERAL PUBLIC LICENSE . This license allows you to
-make closed source commercial applications using uClibc (Please
-consider sharing some of the money you make ;-). You do not need
-to give away all your source code just because you use uClibc
-and/or run on Linux. 
+GNU LESSER GENERAL PUBLIC LICENSE.  This license allows you to
+make closed source commercial applications using an unmodified
+version of uClibc (Please consider sharing some of the money you
+make ;-).  You do not need to give away all your source code just
+because you use uClibc and/or run on Linux.  You should, however,
+carefuly review the license and make certain you understand and
+abide by it strictly.
 
 
 For installation instructions, see the file INSTALL.
 
-This distribution contains a wrapper for gcc and ld that allows you
-to use existing toolchains that were targetted for glibc.  See
-extra/gcc-uClibc/ for information.
-
 uClibc strives to be standards compliant, which means that most
-documentation written for functions in glibc also apply to uClibc
-functions.  However, many GNU extensions are not supported because
-they have not been ported, or more importantly, would increase the
-size of uClibc disproportional to the added functionality.
+documentation written for SuSv3, or for glibc also applies to
+uClibc functions.  However, many GNU extensions are not supported
+because they have not been ported, or more importantly, would
+increase the size of uClibc disproportional to the added
+functionality.  There is some discussion of these differences
+in the "docs" directory.
 
 Additional information (recent releases, FAQ, mailing list, bugs,
 etc.) can be found at http://www.uclibc.org/.
 
-uClibc may be freely modified distributed under the terms of the
-GNU Library General Public License, which can be found in the
+uClibc may be freely modified and distributed under the terms of
+the GNU Lesser General Public License, which can be found in the
 file COPYING.LIB.
 
 Please Note:
 
        There is an unwholesomely huge amount of code out there
        that depends on the presence of GNU libc header files.
-       We have GNU libc header files.  So we have committed a
-       horrible sin in uClibc.  We _lie_ and claim to be GNU
-       libc in order to force these applications to work as their
-       developers intended.  This is IMHO, pardonable, since
-       these defines are not really intended to check for the
-       presence of a particular library, but rather are used to
-       define an _interface_.  Some programs (such as GNU
-       binutils) are especially chummy with glibc, and need this
-       behavior disabled by adding CFLAGS+=__FORCE_NOGLIBC
+       We have GNU libc compatible header files.  So we have
+       committed a horrible sin in uClibc.  We _lie_ and claim
+       to be GNU libc in order to force these applications to
+       work as their developers intended.  This is IMHO,
+       pardonable, since these defines are not really intended
+       to check for the presence of a particular library, but
+       rather are used to define an _interface_.  Some programs
+       are especially chummy with glibc, and may need this
+       behavior disabled by adding CFLAGS+=-D__FORCE_NOGLIBC
+
+       If you want to make special exceptions in your code which are
+       specifically for uClibc, you can make certain to include features.h,
+       and then have your code check for uClibc as follows:
+
+           #ifdef __UCLIBC__
+                   do_something_special();
+           #endif
 
+And most of all, be sure to have some fun! :-)
+ -Erik