docs/2 - Installing crosstool-NG.txt
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:28:10 2011 +0200 (2011-08-02)
changeset 2590 b64cfb67944e
parent 2563 e17f35b05539
child 2834 0a0410dd0cb0
child 2912 6467c949c91c
permissions -rw-r--r--
scripts/functions: svn retrieval first tries the mirror for tarballs

The svn download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via svn.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard svn retrieval will kick in.

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
     1 File.........: 2 - Installing crosstool-NG.txt
     2 Copyright....: (C) 2010 Yann E. MORIN <yann.morin.1998@anciens.enib.fr>
     3 License......: Creative Commons Attribution Share Alike (CC-by-sa), v2.5
     4 
     5 
     6 Installing crosstool-NG  /
     7 ________________________/
     8 
     9 
    10 There are two ways you can use crosstool-NG:
    11  - build and install it, then get rid of the sources like you'd do for most
    12    programs,
    13  - or only build it and run from the source directory.
    14 
    15 The former should be used if you got crosstool-NG from a packaged tarball, see
    16 "Install method", below, while the latter is most useful for developers that
    17 use a clone of the repository, and want to submit patches, see "The Hacker's
    18 way", below.
    19 
    20 
    21 Install method |
    22 ---------------+
    23 
    24 If you go for the install, then you just follow the classical, but yet easy
    25 ./configure way:
    26   ./configure --prefix=/some/place
    27   make
    28   make install
    29   export PATH="${PATH}:/some/place/bin"
    30 
    31 You can then get rid of crosstool-NG source. Next create a directory to serve
    32 as a working place, cd in there and run:
    33   ct-ng help
    34 
    35 See below for complete usage.
    36 
    37 
    38 The Hacker's way |
    39 -----------------+
    40 
    41 If you go the hacker's way, then the usage is a bit different, although very
    42 simple:
    43   ./configure --local
    44   make
    45 
    46 Now, *do not* remove crosstool-NG sources. They are needed to run crosstool-NG!
    47 Stay in the directory holding the sources, and run:
    48   ./ct-ng help
    49 
    50 See below for complete usage.
    51 
    52 Now, provided you used a clone of the repository, you can send me your changes.
    53 See the section titled CONTRIBUTING, below, for how to submit changes.
    54 
    55 
    56 Preparing for packaging |
    57 ------------------------+
    58 
    59 If you plan on packaging crosstool-NG, you surely don't want to install it
    60 in your root file system. The install procedure of crosstool-NG honors the
    61 DESTDIR variable:
    62 
    63   ./configure --prefix=/usr
    64   make
    65   make DESTDIR=/packaging/place install
    66 
    67 
    68 Shell completion |
    69 -----------------+
    70 
    71 crosstool-NG comes with a shell script fragment that defines bash-compatible
    72 completion. That shell fragment is currently not installed automatically, but
    73 this is planned.
    74 
    75 To install the shell script fragment, you have two options:
    76  - install system-wide, most probably by copying ct-ng.comp into
    77    /etc/bash_completion.d/
    78  - install for a single user, by copying ct-ng.comp into ${HOME}/ and
    79    sourcing this file from your ${HOME}/.bashrc
    80 
    81 
    82 Contributed code |
    83 -----------------+
    84 
    85 Some people contributed code that couldn't get merged for various reasons. This
    86 code is available as lzma-compressed patches, in the contrib/ sub-directory.
    87 These patches are to be applied to the source of crosstool-NG, prior to
    88 installing, using something like the following:
    89   lzcat contrib/foobar.patch.lzma |patch -p1
    90 
    91 There is no guarantee that a particular contribution applies to the current
    92 version of crosstool-ng, or that it will work at all. Use contributions at
    93 your own risk.