12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- * Configuration:
- cp ./extra/Configs/Config.<target 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
|