docs/ct-ng.1.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 27 16:35:37 2008 +0000 (2008-07-27)
changeset 740 d26d8cc7c460
parent 335 f0d84f1d4c93
child 2227 5158aa602e58
permissions -rw-r--r--
Fix building x86_64 on x86_64 (and hopefully all other *64 archs on the same *64):
- symlink all lib64/ dirs to the corresponding lib/ dir
Also, prevent gcc from installing some of its target libs outside of the sys-root, in the first place.
Thanks to Laurent DUFRECHOU for reporting the bug and testing the fix.

/trunk/scripts/build/cc_gcc.sh | 26 0 26 0 --------------------------
/trunk/scripts/crosstool.sh | 14 14 0 0 ++++++++++++++
2 files changed, 14 insertions(+), 26 deletions(-)
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"