]>
Commit | Line | Data |
---|---|---|
81c61f37 | 1 | |
ffc7bb39 | 2 | * Configuration: |
68822fc7 | 3 | |
e696b81b | 4 | cp ./extra/Configs/Config.<target arch> ./Config |
68822fc7 | 5 | |
96277cfc EA |
6 | Then edit ./Config for your setup. In particular, modify CROSS and |
7 | KERNEL_SOURCE as necessary. You may also want to modify | |
8 | SHARED_LIB_LOADER_PATH, DEVEL_PREFIX, and SYSTEM_DEVEL_PREFIX depending | |
9 | on where you want to install the development environment. By default, | |
10 | the development environment is installed into /usr/<arch>-linux-uclibc/. | |
ffc7bb39 EA |
11 | |
12 | ||
13 | * Building: | |
14 | ||
15 | make | |
16 | ||
17 | ||
18 | * Installing the development environment: | |
19 | ||
20 | (As root, if necessary,) | |
21 | ||
22 | make install | |
23 | ||
24 | This will install the header files, libraries, and the gcc | |
25 | wrapper into the directories defined in Config. | |
26 | ||
ffc7bb39 EA |
27 | |
28 | * Installing the target runtime environment: | |
29 | ||
30 | (As root, if necessary,) | |
31 | ||
96277cfc | 32 | make PREFIX=<temporary path> install_target |
ffc7bb39 EA |
33 | |
34 | This installs only the files that are necessary to run binaries | |
96277cfc EA |
35 | compiled against uClibc. Hint: You probably do not want to install |
36 | the target runtime environment on your host machine. | |
ffc7bb39 EA |
37 | |
38 | ||
39 | * Using uClibc: | |
81c61f37 | 40 | |
b261aef5 MNI |
41 | To compile programs with uClibc, |
42 | ||
ffc7bb39 | 43 | export PATH={uClibc DEVEL_PREFIX}/bin:$PATH |
b261aef5 MNI |
44 | |
45 | and then just ./configure and make as usual. | |
dd4d42c2 | 46 | |
ee185898 EA |
47 | Note: |
48 | ||
49 | You may also want to look at extra/gcc-uclibc/gcc-uclibc.c for | |
50 | additional information concerning what options and environment | |
51 | variables the gcc wrapper handles. | |
52 | ||
53 | Note2: | |
54 | ||
55 | There is an unwholesomely huge amount of code out there that | |
56 | depends on the presence of GNU libc header files. We have GNU | |
57 | libc header files. So we have committed a horrible sin in | |
58 | uClibc. We _lie_ and claim to be GNU libc in order to force | |
59 | many applications to work as their developers intended. This | |
60 | is IMHO, pardonable, since these defines are not really | |
61 | intended to check for the presence of a particular library, but | |
62 | rather are used to define an _interface_. Some programs (such | |
63 | as GNU binutils) are especially chummy with glibc, and need | |
64 | this behavior disabled by adding CFLAGS+=-D__FORCE_NOGLIBC |