summaryrefslogtreecommitdiff
path: root/docs/ct-ng.1.in
blob: 65a0b0e648841aa0bd1d69878c903c6497b538bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
." crosstool-NG man page
." Copyright 2007 Yann E. MORIN
." Licensed under the Creative Commons BY-SA, v2.5
."
." Beautifying URLs
.mso www.tmac
."
.TH crosstool-NG 1 "@@CT_DATE@@" "version @@CT_VERSION@@" "User Commands"
."
."
.SH NAME
@@CT_PROG_NAME@@, crosstool-NG \- Build cross-toolchains
."
."
.SH SYNOPSIS
.B @@CT_PROG_NAME@@ ACTION
."
."
.SH DESCRIPTION
Building a cross-toolchain can be a real pain.
.PP
.B crosstool-NG
makes it easy to build cross-toolchains, and allows you to take all the juice
out of your target by configuring the different components of the toolchain
according to the targeted processor.
."
."
.SH ACTIONS
Here are the most commonly used actions. For other actions, please see
.I "@@CT_DOCDIR@@/0 - Table of content.txt"
.TP
.B help
Prints a little help text.
."
.TP
.B menuconfig
Configures
.B crosstool-NG
using a configurator menu very similar to that of the Linux kernel.
."
.TP
.B oldconfig
Apply options found in an existing
.I .config
file, and ask for newer options if there are any.
."
.TP
.B saveconfig
Save the current
.B crosstool-NG
configuration, and associated components' config files, into a sample. Samples
are saved in their own sub-directory, named after the target's tuple, in the
.I samples
sub-directory of the current directory.
If that was not clear:
.I `pwd`/samples/${CT_TARGET}/

Samples can be later recalled by calling
.B @@CT_PROG_NAME@@
with the target tuple they represent.
."
.TP
.B savedefconfig
Save the current configuration to a mini-defconfig file, that contains only
the strictly required symbols to reproduce the configuration. defconfig files
are much smaller than a complete .config, so it is easy to send by mail. As
only non-default symbols are present in a defconfig, it easy to spot the
meaningful values. Also, it is easy to use defconfig files with newer
versions of
.BR crosstool-NG .
By default the mini-defconfig is saved to a file named
.IR defconfig ,
unless the variable
.B $DEFCONFIG
is set, in which case the mini-defconfig will be saved to the file referenced
by
.BR $DEFCONFIG .

Note: only the
.I .config
file for
.B crosstool-NG
is saved. Config files for the components are
.B not
saved. Use
.B saveconfig
for that
."
.TP
.B defconfig
Configure
.B crosstool-NG
using a mini-defconfig file (previously saved with
.B savedefconfig
or manually edited). The default mini-defconfig is read from the file
.IR defconfig ,
unless the variable
.B $DEFCONFIG
is set, in which case the mini-defconfig will be read from the file referenced
by
.B $DEFCONFIG
."
.TP
.B build
Builds the configured toolchain.
."
.TP
.B clean
Remove files generated by
.B crosstool-NG
for itself (these are mostly the configurators' binaries).
."
.TP
.B distclean
Same as
.B clean
, but also removes the toolchain build directory, the downloaded files and the
.I .config
configuration file. The generated toolchain is left untouched, as well as
samples which are not removed.
."
.TP
.B regtest
Calls the
.B crosstool-NG
regression test suite. All samples are build, and the regression test suite is
run against every one of them.
."
.TP
.B updatetools
Updates the
.I config.guess
and
.I config.sub
scripts. These scripts are used by
.B crosstool-NG
to canonicalise the machines' name (host, build and target machines).
."
.SH ENVIRONMENT
.TP
.B STOP, RESTART
Respectively stops and restarts the build just before this step. To restart a
step, a previous build should have run at least to that step, or further.

The list of steps is viewable with the action
.BR list-steps .
."
.SH EXIT VALUE
The
.B @@CT_PROG_NAME@@
frontend is in fact a
.BR make (1)
script. See the man page for
.BR make (1)
to have the meaning of the exit values.
."
.SH BUGS
As of today (@@CT_DATE@@), building tarballs is broken. It is difficult to
foresee how all parts of
.B crosstool-NG
are going to be installed. Each part is needed to build a tarball, as it
contains all that is needed to rebuild the toolchain from scratch: toolchain
components' sources,
.B crosstool-NG
configuration, but also all
.B crosstool-NG
scripts.
."
.SH SECURITY
.B Don't run as root!
Great care has been taken to avoid mistakes, but bug-free programs don't
exist. During normal operation,
.B crosstool-NG
removes entire directories. If you run as root, and there is a bug or you
mis-configured
.BR crosstool-NG ,
entire important directories could be removed (eg.
.IR /usr ),
although
.B crosstool-NG
will refuse to install toolchains in some well known critical directories.
."
.SH AUTHORS
Please consult the file
.I @@CT_DOCDIR@@/A - Credits.txt
for a list of contributors.
."
.SH SEE ALSO
You can find more in-depth documentation in
.IR "@@CT_DOCDIR@@/0 - Table of content.txt" .

Please have a look at the
.URL "http://www.kegel.com/crosstool" "original crosstool" " by Daniel KEGEL"