docs/ct-ng.1.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Aug 31 16:20:03 2007 +0000 (2007-08-31)
changeset 348 9fcb5046b4b5
parent 306 1984d7bcea28
child 620 af527ad27444
permissions -rw-r--r--
Trying to guess how we were called does not work. Don't try to be smart, and take the full path, even if we are in PATH.
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"