ARC: introduce explicit support for atomics
[uclibc-ng.git] / INSTALL
blobae88aaf4bfdcafe786e0ddb57e71b2ae65958d61
1 SOFTWARE REQUIREMENTS
3    Compiling uClibc-ng requires Linux kernel header files. uClibc-ng will
4    be compiled to match the interfaces available in the provided
5    version of the Linux kernel headers. Linux kernel version 3.x is
6    supported.
7    Its also helpful to have a working version of GNU binutils, and 
8    GNU gcc -- using excessively old versions of these packages can 
9    cause very strange errors that are difficult to find and fix.
12 CONFIGURING uClibc-ng:
14  - Users must have a valid configuration file to compile uClibc-ng.  Do not
15     skip this step.  New configuration options are added in each
16     release, and odd configuration options are sometimes removed.
17     To configure uClibc-ng, you can run:
19             make menuconfig
20     or
21             make config
23     If you have an existing .config file, you can update this file
24     using the
26             make oldconfig
28     command, which will only ask you about new configuration options.
30     Available configuration commands are:
31         "make config"       Text based configuration, no menus or colors.
32         "make menuconfig"   Text based color menus, radiolists & dialogs.
33         "make oldconfig"    Default all questions based on the contents of
34                             your existing ./.config file.
35         "make defconfig"    Use defaults for all options.
36         "make randconfig"   Use random values for all options.
37         "make allyesconfig" Set all values to "yes" for all options.
38         "make allnoconfig"  Set all values to "no" for all options.
41 COMPILING uClibc-ng:
43  - uClibc-ng does not have proper dependancy checking so if you
44     change your uClibc-ng configuration, you must current rebuild the
45     entire library, by first running 
47             make clean
49  - Once you have a valid configuration file, just run
51             make
53     to compile uClibc-ng.  or if you are cross compiling, you would
54     instead run something like:
56             make CROSS_COMPILE=arm-linux-
59 INSTALLING the uClibc-ng development environment:
61  - As root, if necessary, run something like:
63         make PREFIX=<some path> install
65     This will install the uClibc-ng runtime and development system (i.e.
66     all the header files, libraries, etc) into the directories defined
67     within your .config file.
70 USING uClibc-ng:
72  - To compile programs with uClibc-ng you will need a complete toolchain
73     (i.e. binutils, gcc and uClibc-ng) that was built expressly for use
74     with uClibc-ng.
76  - You have following choices at the moment:
77    - Use OpenADK from http://www.openadk.org
78    - Use Buildroot from http://www.buildroot.org
79    - Use OpenWrt from http://www.openwrt.org
80    - Use Crosstool-NG from http://crosstool-ng.org
81    - Use your own build scripts or environment