Embedded C library http://uclibc-ng.org

Eric Andersen ffc7bb39cc This commit merges David Schleef's updates to the build system, which a %!s(int64=23) %!d(string=hai) anos
debian ca240d0eec Make shared library installation conditional %!s(int64=23) %!d(string=hai) anos
extra ffc7bb39cc This commit merges David Schleef's updates to the build system, which a %!s(int64=23) %!d(string=hai) anos
include dd5db8b9f5 Add missing in_addr_t %!s(int64=23) %!d(string=hai) anos
ldso ffc7bb39cc This commit merges David Schleef's updates to the build system, which a %!s(int64=23) %!d(string=hai) anos
libc ce8ee8d9b4 %!s(int64=23) %!d(string=hai) anos
libcrypt 094983cd14 Force our child libs to link vs libc %!s(int64=23) %!d(string=hai) anos
libm 094983cd14 Force our child libs to link vs libc %!s(int64=23) %!d(string=hai) anos
libresolv 094983cd14 Force our child libs to link vs libc %!s(int64=23) %!d(string=hai) anos
libutil 562d9dc331 forkpty.c uses fork(), and so must be disabled when HAS_MMU=false %!s(int64=23) %!d(string=hai) anos
test d6e6ee0202 Use uClibc's ldd, not the system one which is probably broken %!s(int64=23) %!d(string=hai) anos
.cvsignore dd4d42c2b9 Removed INSTALL_DIR and replaced it with DEVEL_PREFIX, ROOT_DIR, and %!s(int64=23) %!d(string=hai) anos
COPYING.LIB 64bc641218 Initial revision %!s(int64=24) %!d(string=hai) anos
Makefile ffc7bb39cc This commit merges David Schleef's updates to the build system, which a %!s(int64=23) %!d(string=hai) anos
README ffc7bb39cc This commit merges David Schleef's updates to the build system, which a %!s(int64=23) %!d(string=hai) anos
Rules.mak ffc7bb39cc This commit merges David Schleef's updates to the build system, which a %!s(int64=23) %!d(string=hai) anos
TODO ba8a597c04 ldd rewrite is done %!s(int64=23) %!d(string=hai) anos

README


* Configuration:

cp ./extra/Configs/Config. .Config

Then edit ./Config for your setup. In particular, modify
CROSS and KERNEL_SOURCE as necessary. You may also want
to modify PREFIX if you want to install the development
environment to /usr/local/ or elsewhere. By default, the
development environment is installed into /usr and
/usr/-linux-uclibc/.


* Building:

make


* Installing the development environment:

(As root, if necessary,)

make install

This will install the header files, libraries, and the gcc
wrapper into the directories defined in Config.

If you are targetting the same architecture as the host machine,
you may want to add a link from /lib/ld-uclibc.0 to the location
where ld-uclibc.0 was installed. This allows you to run binaries
compiled against uClibc without contaminating /lib too much.


* Installing the target runtime environment:

(As root, if necessary,)

make TARGET_PREFIX=`pwd`/_install install_target

This installs only the files that are necessary to run binaries
compiled against uClibc. Hint: You really don't want to install
the target runtime environment on the host machine.


* Using uClibc:

To compile programs with uClibc,

export PATH={uClibc DEVEL_PREFIX}/bin:$PATH

and then just ./configure and make as usual.

Note: You may also want to look at extra/gcc-uclibc/gcc-uclibc.c for
additional information concerning what options and environment
variables the gcc wrapper handles.