In overview.txt, document the two ways of using crosstool-NG: install and --local.
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jul 24 21:51:24 2007 +0000 (2007-07-24)
changeset 2947947c33280e8
parent 293 ee6cb0ac10c7
child 295 ac33f59abd46
In overview.txt, document the two ways of using crosstool-NG: install and --local.
Fix some typos in overview.txt.
Document populate's options, still in overview.txt.
Credit the buildroot people for the patches I vampirise from time to time.
docs/CREDITS
docs/overview.txt
     1.1 --- a/docs/CREDITS	Tue Jul 24 21:45:46 2007 +0000
     1.2 +++ b/docs/CREDITS	Tue Jul 24 21:51:24 2007 +0000
     1.3 @@ -21,4 +21,7 @@
     1.4      - 'sanitised' patches for binutils-2.17
     1.5      - patches for glibc-2.5
     1.6  
     1.7 +Special dedication to the buildroot people for maintaining a set of patches I
     1.8 +happily and shamelessly vampirise from time to time... :-)
     1.9 +
    1.10  More to come as they help.
     2.1 --- a/docs/overview.txt	Tue Jul 24 21:45:46 2007 +0000
     2.2 +++ b/docs/overview.txt	Tue Jul 24 21:51:24 2007 +0000
     2.3 @@ -85,6 +85,58 @@
     2.4  Next Generation, as many other comunity projects do, and as a wink at the TV
     2.5  series "Star Trek: The Next Generation". ;-)
     2.6  
     2.7 +
     2.8 +___________________________
     2.9 +                          /
    2.10 +Installing crosstool-NG  /
    2.11 +________________________/
    2.12 +
    2.13 +There are two ways you can use crosstool-NG:
    2.14 + - build and install it, then get rid of the sources like you'd do for most
    2.15 +   programs,
    2.16 + - or only build it and run from the source directory.
    2.17 +
    2.18 +The former should be used if you got crosstool-NG from a packaged tarball, see
    2.19 +"Install method", below, while the latter is most usefull for developpers that
    2.20 +checked the code out from SVN, and want to submit patches, see "The Hacker's
    2.21 +way", below.
    2.22 +
    2.23 +Install method |
    2.24 +---------------+
    2.25 +
    2.26 +If you go for the install, then you just follow the classical, but yet easy
    2.27 +./configure way:
    2.28 +  ./configure --prefix=/some/place
    2.29 +  make
    2.30 +  make install
    2.31 +  export PATH="${PATH}:/some/place/bin"
    2.32 +
    2.33 +You can then get rid of crosstool-NG source. Next create a directory to serve
    2.34 +as a working place, cd in there and run:
    2.35 +  ct-ng help
    2.36 +
    2.37 +See below for complete usage.
    2.38 +
    2.39 +The Hacker's way |
    2.40 +-----------------+
    2.41 +
    2.42 +If you go the hacker's way, then the usage is a bit different, although very
    2.43 +simple:
    2.44 +  ./configure --local
    2.45 +  make
    2.46 +
    2.47 +Now, *do not* remove crosstool-NG sources. They are needed to run crosstool-NG!
    2.48 +Stay in the directory holding the sources, and run:
    2.49 +  ./ct-ng help
    2.50 +
    2.51 +See below for complete usage.
    2.52 +
    2.53 +Now, provided you checked-out the code, you can send me your interesting changes
    2.54 +by running:
    2.55 +  svn diff
    2.56 +
    2.57 +and mailing me the result! :-P
    2.58 +
    2.59  ____________________________
    2.60                             /
    2.61  Configuring crosstool-NG  /
    2.62 @@ -106,7 +158,7 @@
    2.63  
    2.64  String and number options can refer to environment variables. In such a case,
    2.65  you must use the shell syntax: ${VAR}. You shall neither single- nor double-
    2.66 -quote the string options.
    2.67 +quote the string/number options.
    2.68  
    2.69  There are three environment variables that are computed by crosstool-NG, and
    2.70  that you can use:
    2.71 @@ -159,7 +211,7 @@
    2.72    Show obsolete versions or tools. Most of the time, you don't want to base
    2.73    your toolchain on too old a version (of gcc, for example). But at times, it
    2.74    can come handy to use such an old version for regression tests. Those old
    2.75 -  versions are hidden behind CT_BSOLETE.
    2.76 +  versions are hidden behind CT_OBSOLETE.
    2.77  
    2.78  CT_EXPERIMENTAL:
    2.79    Show experimental versions or tools. Again, you might not want to base your
    2.80 @@ -171,7 +223,7 @@
    2.81    Show broken versions or tools. Some usefull tools are currently broken: they
    2.82    won't compile, run, or worse, cause defects when running. But if you are
    2.83    brave enough, you can try and debug them. They are hidden behind CT_BROKEN,
    2.84 -  which itself is hiddent behind EXPERIMENTAL.
    2.85 +  which itself is hidden behind EXPERIMENTAL.
    2.86  
    2.87  Re-building an existing toolchain |
    2.88  ----------------------------------+
    2.89 @@ -257,9 +309,11 @@
    2.90  and then using the target triplet to tell the build systems to use your
    2.91  toolchain:
    2.92    ./configure --target=your-target-triplet
    2.93 +or
    2.94    make CC=your-target-triplet-gcc
    2.95 +or
    2.96    make CROSS_COMPILE=your-target-triplet-
    2.97 -  and so on...
    2.98 +and so on...
    2.99  
   2.100  When your root directory is ready, it is still missing some important bits: the
   2.101  toolchain's libraries. To populate your root directory with those libs, just
   2.102 @@ -274,6 +328,24 @@
   2.103  You can then use /your/root-populated to build up your file system image, a
   2.104  tarball, or to NFS-mount it from your target, or whatever you need.
   2.105  
   2.106 +populate accepts the following options:
   2.107 +
   2.108 + -s [src_dir]
   2.109 +    Use 'src_dir' as the 'source', un-populated root directory
   2.110 +
   2.111 + -d [dst_dir]
   2.112 +    Put the 'destination', populated root directory in 'dst_dir'
   2.113 +
   2.114 + -f
   2.115 +    Remove 'dst_dir' if it previously existed
   2.116 +
   2.117 + -v
   2.118 +    Be verbose, and tell what's going on (you can see exactly where libs are
   2.119 +    coming from).
   2.120 +
   2.121 + -h
   2.122 +    Print the help
   2.123 +
   2.124  ___________________
   2.125                    /
   2.126  Toolchain types  /
   2.127 @@ -350,6 +422,7 @@
   2.128  script with an action will act exactly as if the Makefile was in the current
   2.129  working directory and make was called with the action as rule. Thus:
   2.130    ct-ng menuconfig
   2.131 +
   2.132  is equivalent to having the Makefile in CWD, and calling:
   2.133    make menuconfig
   2.134  
   2.135 @@ -362,13 +435,16 @@
   2.136  ct-ng also search for config files, sub-tools, samples, scripts and patches in
   2.137  that library directory.
   2.138  
   2.139 +Because of a stupid make behavior/bug I was unable to track down, implicit make
   2.140 +rules are disabled: installing with --local would triger those rules, and mconf
   2.141 +was unbuildable.
   2.142 +
   2.143  Kconfig parser |
   2.144  ---------------*
   2.145  
   2.146  The kconfig language is a hacked version, vampirised from the toybox project
   2.147  by Rob LANDLEY (http://www.landley.net/code/toybox/), itself coming from the
   2.148 -Linux kernel (http://www.linux.org/ http://www.kernel.org/), and (heavily)
   2.149 -adapted to my needs.
   2.150 +Linux kernel (http://www.kernel.org/), and (heavily) adapted to my needs.
   2.151  
   2.152  The kconfig parsers (conf and mconf) are not installed pre-built, but as
   2.153  source files. Thus you can have the directory where crosstool-NG is installed,