docs/ct-ng.1.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:08:06 2008 +0000 (2008-02-17)
changeset 431 8bde4c6ea47a
parent 306 1984d7bcea28
child 620 af527ad27444
permissions -rw-r--r--
Robert P. J. DAY says:

apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
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 liststeps
yann@182
    68
Lists all build steps available (see 
yann@182
    69
.BR ENVIRONMENT,
yann@182
    70
below).
yann@182
    71
."
yann@182
    72
.TP
yann@182
    73
.B clean
yann@182
    74
Remove files generated by
yann@197
    75
.B crosstool-NG
yann@182
    76
for itself (these are mostly the configurators' binaries).
yann@182
    77
."
yann@182
    78
.TP
yann@182
    79
.B distclean
yann@182
    80
Same as
yann@182
    81
.B clean
yann@182
    82
, but also removes the toolchain build directory, the downloaded files and the
yann@182
    83
.I .config
yann@182
    84
configuration file. The generated toolchain is left untouched, as well as
yann@182
    85
samples which are not removed.
yann@182
    86
."
yann@182
    87
.TP
yann@182
    88
.B regtest
yann@182
    89
Calls the
yann@197
    90
.B crosstool-NG
yann@182
    91
regression test suite. All samples are build, and the regression test suite is
yann@182
    92
run against every one of them.
yann@182
    93
."
yann@182
    94
.TP
yann@182
    95
.B updatetools
yann@182
    96
Updates the
yann@182
    97
.I config.guess
yann@182
    98
and
yann@182
    99
.I config.sub
yann@182
   100
scripts. These scripts are used by
yann@197
   101
.B crosstool-NG
yann@182
   102
to canonicalise the machines' name (host, build and target machines).
yann@182
   103
.TP
yann@182
   104
.B tarball
yann@182
   105
Builds a tarball of the generated toolchain, also saving the scripts from
yann@197
   106
.B crosstool-NG
yann@182
   107
that are needed to rebuild the target, and also saving the tarballs of the
yann@182
   108
componnents that were used.
yann@182
   109
."
yann@182
   110
.SH ENVIRONMENT
yann@182
   111
.TP
yann@182
   112
.B STOP, START
yann@182
   113
Respectively stops and restarts the build just before this step. To restart a
yann@182
   114
step, a previous build should have run at least to that step, or further.
yann@182
   115
yann@182
   116
The list of steps is vailable with the action
yann@182
   117
.BR liststeps .
yann@182
   118
."
yann@182
   119
.SH EXIT VALUE
yann@182
   120
The
yann@182
   121
.B ct-ng
yann@182
   122
frontend is in fact a
yann@182
   123
.BR make (1)
yann@182
   124
script. See the man page for
yann@182
   125
.BR make (1)
yann@182
   126
to have the meaning of the exit values.
yann@182
   127
."
yann@182
   128
.SH BUGS
yann@182
   129
As of today (@@CT_DATE@@), building tarballs is broken. It is difficult to
yann@182
   130
foresee how every parts of
yann@197
   131
.B crosstool-NG
yann@182
   132
are going to be installed. Each parts is needed to build a tarball, as it
yann@182
   133
contains all that is needed to rebuild the toolchain from scratch: toolchain
yann@182
   134
components' sources,
yann@197
   135
.B crosstool-NG
yann@182
   136
configuration, but also all
yann@197
   137
.B crosstool-NG
yann@182
   138
scripts.
yann@182
   139
."
yann@182
   140
.SH SECURITY
yann@182
   141
.B Don't run as root!
yann@182
   142
Great care has been taken to avoid mistakes, but bug-free programs don't
yann@182
   143
exist. During normal operation,
yann@197
   144
.B crosstool-NG
yann@182
   145
removes entire directories. If you run as root, and there is a bug or you
yann@182
   146
mis-configured
yann@197
   147
.BR crosstool-NG ,
yann@182
   148
entire important directories could be removed (eg.
yann@182
   149
.IR /usr ),
yann@182
   150
although
yann@197
   151
.B crosstool-NG
yann@335
   152
will refuse to install toolchains in some well known critical directories.
yann@182
   153
."
yann@182
   154
.SH AUTHORS
yann@182
   155
.MTO "yann.morin.1998@anciens.enib.fr" "Yann E. MORIN" ""
yann@182
   156
.URL "http://ymorin.is-a-geek.org" "" ""
yann@182
   157
reordered
yann@182
   158
.B crosstool
yann@182
   159
(see section titled
yann@182
   160
.BR "SEE ALSO" )
yann@182
   161
scripts to be more easily maintainable, added the Kconfig configurator, some
yann@227
   162
patches, support for linux headers installation, and support for uClibc-based
yann@227
   163
toolchains.
yann@182
   164
yann@182
   165
Please consult the file
yann@182
   166
.I @@CT_DOCDIR@@/CREDITS
yann@182
   167
for a list of contributors.
yann@182
   168
."
yann@182
   169
.SH SEE ALSO
yann@227
   170
You can find more in-depth documentation in
yann@227
   171
.IR @@CT_DOCDIR@@/overview.txt .
yann@227
   172
yann@182
   173
Please have a look at the
yann@182
   174
.URL "http://www.kegel.com/crosstool" "original crosstool" " by Daniel KEGEL"