docs/ct-ng.1.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 17 23:06:02 2010 +0100 (2010-01-17)
changeset 1740 c57458bb354d
parent 335 f0d84f1d4c93
child 2227 5158aa602e58
permissions -rw-r--r--
configure: do not require hg when configuring in an hg clone

When configuring in an hg clone, we need hg to compute the version string.
It can happen that users do not have Mercurial (eg. if they got a snapshot
rather that they did a full clone). In this case, we can still run, of
course, so simply fill the version string with a sufficiently explicit
value, that does not require hg. The date is a good candidate.
yann@197
     1
." crosstool-NG man page
yann@182
     2
." Copyright 2007 Yann E. MORIN
yann@182
     3
." Licensed under the Creative Commons BY-SA, v2.5
yann@182
     4
."
yann@182
     5
." Beautifying URLs
yann@182
     6
.mso www.tmac
yann@182
     7
."
yann@197
     8
.TH crosstool-NG 1 "@@CT_DATE@@" "version @@CT_VERSION@@" "User Commands"
yann@182
     9
."
yann@182
    10
."
yann@182
    11
.SH NAME
yann@197
    12
ct-ng, crosstool-NG \- Build cross-toolchains
yann@182
    13
."
yann@182
    14
."
yann@182
    15
.SH SYNOPSIS
yann@182
    16
.B ct-ng ACTION
yann@182
    17
."
yann@182
    18
."
yann@182
    19
.SH DESCRIPTION
yann@182
    20
Building a cross-toolchain can be a real pain.
yann@182
    21
.PP
yann@197
    22
.B crosstool-NG
yann@182
    23
makes it easy to build cross-toolchains, and allows you to take all the juice
yann@306
    24
out of your target by configuring the different components of the toolchain
yann@182
    25
accordingly to the targeted processor.
yann@182
    26
."
yann@182
    27
."
yann@182
    28
.SH ACTIONS
yann@182
    29
Here are the most commonly used actions. For other actions, please see
yann@182
    30
.I @@CT_DOCDIR@@/overview.txt
yann@182
    31
.TP
yann@182
    32
.B help
yann@182
    33
Prints a little help text.
yann@182
    34
."
yann@182
    35
.TP
yann@182
    36
.B menuconfig
yann@182
    37
Configures
yann@197
    38
.B crosstool-NG
yann@182
    39
using a configurator menu very similar to that of the Linux kernel.
yann@182
    40
."
yann@182
    41
.TP
yann@182
    42
.B oldconfig
yann@182
    43
Apply options found in an existing
yann@182
    44
.I .config
yann@182
    45
file, and ask for newer options if there are any.
yann@182
    46
."
yann@182
    47
.TP
yann@182
    48
.B saveconfig
yann@182
    49
Save the current
yann@197
    50
.B crosstool-NG
yann@182
    51
configuration, and associated components' config files, into a sample. Samples
yann@335
    52
are saved in their own sub-directory, named after the target's tuple, in the
yann@182
    53
.I samples
yann@182
    54
sub-directory of the current directory.
yann@182
    55
If that was not clear:
yann@182
    56
.I `pwd`/samples/${CT_TARGET}/
yann@182
    57
yann@182
    58
Samples can be later recalled by calling
yann@182
    59
.B ct-ng
yann@335
    60
with the target tuple they represent.
yann@182
    61
."
yann@182
    62
.TP
yann@182
    63
.B build
yann@197
    64
Builds the configured toolchain.
yann@182
    65
."
yann@182
    66
.TP
yann@182
    67
.B clean
yann@182
    68
Remove files generated by
yann@197
    69
.B crosstool-NG
yann@182
    70
for itself (these are mostly the configurators' binaries).
yann@182
    71
."
yann@182
    72
.TP
yann@182
    73
.B distclean
yann@182
    74
Same as
yann@182
    75
.B clean
yann@182
    76
, but also removes the toolchain build directory, the downloaded files and the
yann@182
    77
.I .config
yann@182
    78
configuration file. The generated toolchain is left untouched, as well as
yann@182
    79
samples which are not removed.
yann@182
    80
."
yann@182
    81
.TP
yann@182
    82
.B regtest
yann@182
    83
Calls the
yann@197
    84
.B crosstool-NG
yann@182
    85
regression test suite. All samples are build, and the regression test suite is
yann@182
    86
run against every one of them.
yann@182
    87
."
yann@182
    88
.TP
yann@182
    89
.B updatetools
yann@182
    90
Updates the
yann@182
    91
.I config.guess
yann@182
    92
and
yann@182
    93
.I config.sub
yann@182
    94
scripts. These scripts are used by
yann@197
    95
.B crosstool-NG
yann@182
    96
to canonicalise the machines' name (host, build and target machines).
yann@182
    97
.TP
yann@182
    98
.B tarball
yann@182
    99
Builds a tarball of the generated toolchain, also saving the scripts from
yann@197
   100
.B crosstool-NG
yann@182
   101
that are needed to rebuild the target, and also saving the tarballs of the
yann@182
   102
componnents that were used.
yann@182
   103
."
yann@182
   104
.SH ENVIRONMENT
yann@182
   105
.TP
yann@182
   106
.B STOP, START
yann@182
   107
Respectively stops and restarts the build just before this step. To restart a
yann@182
   108
step, a previous build should have run at least to that step, or further.
yann@182
   109
yann@182
   110
The list of steps is vailable with the action
yann@620
   111
.BR list-steps .
yann@182
   112
."
yann@182
   113
.SH EXIT VALUE
yann@182
   114
The
yann@182
   115
.B ct-ng
yann@182
   116
frontend is in fact a
yann@182
   117
.BR make (1)
yann@182
   118
script. See the man page for
yann@182
   119
.BR make (1)
yann@182
   120
to have the meaning of the exit values.
yann@182
   121
."
yann@182
   122
.SH BUGS
yann@182
   123
As of today (@@CT_DATE@@), building tarballs is broken. It is difficult to
yann@182
   124
foresee how every parts of
yann@197
   125
.B crosstool-NG
yann@182
   126
are going to be installed. Each parts is needed to build a tarball, as it
yann@182
   127
contains all that is needed to rebuild the toolchain from scratch: toolchain
yann@182
   128
components' sources,
yann@197
   129
.B crosstool-NG
yann@182
   130
configuration, but also all
yann@197
   131
.B crosstool-NG
yann@182
   132
scripts.
yann@182
   133
."
yann@182
   134
.SH SECURITY
yann@182
   135
.B Don't run as root!
yann@182
   136
Great care has been taken to avoid mistakes, but bug-free programs don't
yann@182
   137
exist. During normal operation,
yann@197
   138
.B crosstool-NG
yann@182
   139
removes entire directories. If you run as root, and there is a bug or you
yann@182
   140
mis-configured
yann@197
   141
.BR crosstool-NG ,
yann@182
   142
entire important directories could be removed (eg.
yann@182
   143
.IR /usr ),
yann@182
   144
although
yann@197
   145
.B crosstool-NG
yann@335
   146
will refuse to install toolchains in some well known critical directories.
yann@182
   147
."
yann@182
   148
.SH AUTHORS
yann@182
   149
Please consult the file
yann@182
   150
.I @@CT_DOCDIR@@/CREDITS
yann@182
   151
for a list of contributors.
yann@182
   152
."
yann@182
   153
.SH SEE ALSO
yann@227
   154
You can find more in-depth documentation in
yann@227
   155
.IR @@CT_DOCDIR@@/overview.txt .
yann@227
   156
yann@182
   157
Please have a look at the
yann@182
   158
.URL "http://www.kegel.com/crosstool" "original crosstool" " by Daniel KEGEL"