diff options
Diffstat (limited to 'INSTALL')
-rw-r--r-- | INSTALL | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL new file mode 100644 index 000000000..fd882fc44 --- /dev/null +++ b/INSTALL @@ -0,0 +1,64 @@ + +* Configuration: + + ln -s ./extra/Configs/Config.<arch> ./Config + +Then edit ./Config for your setup. In particular, modify CROSS and +KERNEL_SOURCE as necessary. You may also want to modify +SHARED_LIB_LOADER_PATH, DEVEL_PREFIX, and SYSTEM_DEVEL_PREFIX depending +on where you want to install the development environment. By default, +the development environment is installed into /usr/<arch>-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. + + +* Installing the target runtime environment: + +(As root, if necessary,) + + make PREFIX=<temporary path> install_target + +This installs only the files that are necessary to run binaries +compiled against uClibc. Hint: You probably do not want to install +the target runtime environment on your 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. + +Note2: + + 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 + many 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+=-D__FORCE_NOGLIBC |