2 |
7u83 |
1 |
.\" Crown Copyright (c) 1997
|
|
|
2 |
.\"
|
|
|
3 |
.\" This TenDRA(r) Manual Page is subject to Copyright
|
|
|
4 |
.\" owned by the United Kingdom Secretary of State for Defence
|
|
|
5 |
.\" acting through the Defence Evaluation and Research Agency
|
|
|
6 |
.\" (DERA). It is made available to Recipients with a
|
|
|
7 |
.\" royalty-free licence for its use, reproduction, transfer
|
|
|
8 |
.\" to other parties and amendment for any purpose not excluding
|
|
|
9 |
.\" product development provided that any such use et cetera
|
|
|
10 |
.\" shall be deemed to be acceptance of the following conditions:-
|
|
|
11 |
.\"
|
|
|
12 |
.\" (1) Its Recipients shall ensure that this Notice is
|
|
|
13 |
.\" reproduced upon any copies or amended versions of it;
|
|
|
14 |
.\"
|
|
|
15 |
.\" (2) Any amended version of it shall be clearly marked to
|
|
|
16 |
.\" show both the nature of and the organisation responsible
|
|
|
17 |
.\" for the relevant amendment or amendments;
|
|
|
18 |
.\"
|
|
|
19 |
.\" (3) Its onward transfer from a recipient to another
|
|
|
20 |
.\" party shall be deemed to be that party's acceptance of
|
|
|
21 |
.\" these conditions;
|
|
|
22 |
.\"
|
|
|
23 |
.\" (4) DERA gives no warranty or assurance as to its
|
|
|
24 |
.\" quality or suitability for any purpose and DERA accepts
|
|
|
25 |
.\" no liability whatsoever in relation to any use to which
|
|
|
26 |
.\" it may be put.
|
|
|
27 |
.\"
|
|
|
28 |
.TH tcc 1
|
|
|
29 |
.SH NAME
|
|
|
30 |
tcc \- User interface to the TDF system
|
|
|
31 |
.SH SYNOPSIS
|
|
|
32 |
\fBtcc\fR [ \fIoptions\fR ] \fIfiles\fR
|
|
|
33 |
.\" ----------------------------------------------------------------------
|
|
|
34 |
.SH DESCRIPTION
|
|
|
35 |
\fBtcc\fR is the user interface to the TDF system. It is more fully
|
|
|
36 |
documented in the \fItcc User's Guide\fR.
|
|
|
37 |
.\" ----------------------------------------------------------------------
|
|
|
38 |
.PP
|
|
|
39 |
\fBtcc\fR accepts several types of arguments as \fIfiles\fR:
|
|
|
40 |
.IP -
|
|
|
41 |
Arguments whose names end in \fB.c\fR are understood to be C source files.
|
|
|
42 |
.IP -
|
|
|
43 |
Arguments whose names end in \fB.i\fR are understood to be preprocessed
|
|
|
44 |
C source files.
|
|
|
45 |
.IP -
|
|
|
46 |
Arguments whose names end in \fB.C\fR are understood to be C++ source
|
|
|
47 |
files (only if \fB-Yc++\fR is specified).
|
|
|
48 |
.IP -
|
|
|
49 |
Arguments whose names end in \fB.I\fR are understood to be preprocessed
|
|
|
50 |
C++ source files (only if \fB-Yc++\fR is specified).
|
|
|
51 |
.IP -
|
|
|
52 |
Arguments whose names end in \fB.j\fR are understood to be target
|
|
|
53 |
independent TDF capsules.
|
|
|
54 |
.IP -
|
|
|
55 |
Arguments whose names end in \fB.ta\fR are understood to be archives of
|
|
|
56 |
target independent TDF capsules.
|
|
|
57 |
.IP -
|
|
|
58 |
Arguments whose names end in \fB.t\fR are understood to be target
|
|
|
59 |
dependent TDF capsules.
|
|
|
60 |
.IP -
|
|
|
61 |
Arguments whose names end in \fB.s\fR are understood to be assembly
|
|
|
62 |
source files.
|
|
|
63 |
.IP -
|
|
|
64 |
Arguments whose names end in \fB.d\fR are understood to be TenDRA dump
|
|
|
65 |
files.
|
|
|
66 |
.IP -
|
|
|
67 |
Arguments whose names end in \fB.K\fR are understood to be C++ spec files
|
|
|
68 |
(only if \fB-Yc++\fR is specified).
|
|
|
69 |
.IP -
|
|
|
70 |
Arguments whose names end in \fB.p\fR are understood to be TDF notation
|
|
|
71 |
source files (only if \fB-Ytnc\fR is specified).
|
|
|
72 |
.IP -
|
|
|
73 |
Arguments whose names end in \fB.pl\fR are understood to be PL_TDF source
|
|
|
74 |
files (only if \fB-Ypl_tdf\fR is specified).
|
|
|
75 |
.IP -
|
|
|
76 |
All other arguments (but particularly those whose names end in \fB.o\fR
|
|
|
77 |
and \fB.a\fR) are understood to be binary object files.
|
|
|
78 |
.\" ----------------------------------------------------------------------
|
|
|
79 |
.PP
|
|
|
80 |
The compilation process is as follows. Depending on the options given,
|
|
|
81 |
it may halt at any stage:
|
|
|
82 |
.IP 1.
|
|
|
83 |
TDF archives are split into their constituent target independent capsules.
|
|
|
84 |
.IP 2.
|
|
|
85 |
C source files (including preprocessed C) are compiled into target
|
7 |
7u83 |
86 |
independent TDF capsules using \fItdfc2\fR(1). (\fItcpplus\fR(1)
|
2 |
7u83 |
87 |
does the same for C++ source files when \fB-Yc++\fR is specified.)
|
|
|
88 |
.IP 3.
|
|
|
89 |
Target independent TDF capsules are linked, using \fItld\fR(1), with
|
|
|
90 |
the TDF libraries to produce target dependent TDF capsules.
|
|
|
91 |
.IP 4.
|
|
|
92 |
Target dependent TDF capsules are translated into assembly source files
|
|
|
93 |
using one of \fImipstrans\fR(1) (q.v. - things are not quite so simple
|
|
|
94 |
in this case), \fItrans386\fR(1) etc.
|
|
|
95 |
.IP 5.
|
|
|
96 |
Assembly source files are compiled into binary object files
|
|
|
97 |
using \fIas\fR(1).
|
|
|
98 |
.IP 6.
|
|
|
99 |
Binary object files are linked with the precompiled libraries, using
|
|
|
100 |
\fIld\fR(1), to produce a final executable.
|
|
|
101 |
.PP
|
|
|
102 |
With the exception of binary object files, intermediate files are not
|
|
|
103 |
preserved unless explicitly instructed.
|
|
|
104 |
.\" ----------------------------------------------------------------------
|
|
|
105 |
.PP
|
|
|
106 |
The standard file suffixes \fBc\fR, \fBi\fR, \fBC\fR, \fBI\fR, \fBj\fR,
|
|
|
107 |
\fBt\fR, \fBs\fR, \fBo\fR, \fBd\fR, \fBk\fR, and \fBK\fR, together with
|
|
|
108 |
\fBp\fR (pretty-printed TDF capsule) and \fBpl\fR (PL_TDF source file),
|
|
|
109 |
are used to indicate file types in some options. Also the various
|
|
|
110 |
compilation phases are identified by letters in some options.
|
|
|
111 |
These are:
|
|
|
112 |
.IP \fBc\fR
|
|
|
113 |
C to TDF producer
|
|
|
114 |
.IP \fBp\fR
|
|
|
115 |
C preprocessor
|
|
|
116 |
.IP \fBx\fR
|
|
|
117 |
C++ to TDF producer (only if \fB-Yc++\fR is specified)
|
|
|
118 |
.IP \fBg\fR
|
|
|
119 |
C++ preprocessor (only if \fB-Yc++\fR is specified)
|
|
|
120 |
.IP \fBL\fR
|
|
|
121 |
TDF linker (or builder)
|
|
|
122 |
.IP \fBt\fR
|
|
|
123 |
TDF translator
|
|
|
124 |
.IP \fBa\fR
|
|
|
125 |
System assembler
|
|
|
126 |
.IP \fBl\fR
|
|
|
127 |
System linker
|
|
|
128 |
.IP \fBS\fR
|
|
|
129 |
C++ spec linker
|
|
|
130 |
.IP \fBe\fR
|
|
|
131 |
Compact-output error reporter (only if \fB-Ycompact\fR is specified)
|
|
|
132 |
.IP \fBu\fR
|
|
|
133 |
TenDRA dump file linker
|
|
|
134 |
.IP \fBd\fR
|
|
|
135 |
TDF pretty-printer
|
|
|
136 |
.\" ----------------------------------------------------------------------
|
|
|
137 |
.SH OPTIONS
|
|
|
138 |
The following options are supported by \fBtcc\fR. All options are scanned
|
|
|
139 |
before input files are dealt with. The system variable \fBTCCOPTS\fR
|
|
|
140 |
may be used to specify a list of options which are processed before the
|
|
|
141 |
first command-line option.
|
|
|
142 |
.\" ----------------------------------------------------------------------
|
|
|
143 |
.IP \fB-A\fIstring\fR
|
|
|
144 |
Asserts the predicate \fIstring\fR.
|
|
|
145 |
.\" ----------------------------------------------------------------------
|
|
|
146 |
.IP \fB-B\fIstring\fR
|
|
|
147 |
Passed to the system linker. The valid values of \fIstring\fR are target
|
|
|
148 |
dependent.
|
|
|
149 |
.\" ----------------------------------------------------------------------
|
|
|
150 |
.IP \fB-C\fR
|
|
|
151 |
Not implemented and provided for \fIcc\fR(1) compatibility only. It is
|
|
|
152 |
meant to preserve comments when preprocessing.
|
|
|
153 |
.\" ----------------------------------------------------------------------
|
|
|
154 |
.IP \fB-D\fIstring\fR
|
|
|
155 |
Where \fIstring\fR is of the form \fImacro\fR or \fImacro=defn\fR, is
|
|
|
156 |
equivalent to inserting the preprocessor directives "#define \fImacro\fR 1"
|
|
|
157 |
or "#define \fImacro defn\fR" at the start of each C source file. This
|
|
|
158 |
is implemented by \fBtcc\fR writing this directive into a start-up file.
|
|
|
159 |
.\" ----------------------------------------------------------------------
|
|
|
160 |
.IP \fB-E\fR
|
|
|
161 |
Invokes the C preprocessor only, putting the result into a file with
|
|
|
162 |
a \fB.i\fR suffix if other options indicate that preprocessed C files
|
|
|
163 |
are to be preserved, or onto the standard output otherwise. Similarly,
|
|
|
164 |
C++ source files are preprocessed and put into files with \fB.I\fR suffixes.
|
|
|
165 |
.\" ----------------------------------------------------------------------
|
|
|
166 |
.IP \fB-E\fIletter\fB:\fIfile\fR
|
|
|
167 |
Causes \fIfile\fR to be invoked as the executable for the compilation
|
|
|
168 |
stage given by \fIletter\fR.
|
|
|
169 |
.\" ----------------------------------------------------------------------
|
|
|
170 |
.IP \fB-F\fIletter\fB\fR
|
|
|
171 |
Tells \fBtcc\fR to stop after producing the files indicated by \fIletter\fR,
|
|
|
172 |
and to preserve these files. \fIletter\fR is a single character corresponding
|
|
|
173 |
to the suffix of the files to be preserved.
|
|
|
174 |
.\" ----------------------------------------------------------------------
|
|
|
175 |
.IP \fB-G\fR
|
|
|
176 |
Provided for \fIcc\fR compatibility.
|
|
|
177 |
.\" ----------------------------------------------------------------------
|
|
|
178 |
.IP \fB-H\fR
|
|
|
179 |
Causes the names of files included by a '#include' directive to be printed.
|
|
|
180 |
.\" ----------------------------------------------------------------------
|
|
|
181 |
.IP \fB-I\fIstring\fR
|
|
|
182 |
Tells the producers and preprocessors to search the directory \fIstring\fR
|
|
|
183 |
for included files. The directories are searched in the order given,
|
|
|
184 |
followed by the system default directories.
|
|
|
185 |
.\" ----------------------------------------------------------------------
|
|
|
186 |
.IP \fB-J\fIstring\fR
|
|
|
187 |
Tells the TDF linker to search the directory \fIstring\fR for TDF libraries.
|
|
|
188 |
The linker searches the directories in the order given, followed by the
|
|
|
189 |
system default directories.
|
|
|
190 |
.\" ----------------------------------------------------------------------
|
|
|
191 |
.IP \fB-K\fIstring\fB,...\fR
|
|
|
192 |
Provided for \fIcc\fR compatibility. Specifies various installer options.
|
|
|
193 |
.\" ----------------------------------------------------------------------
|
|
|
194 |
.IP \fB-L\fIstring\fR
|
|
|
195 |
Tells the system linker to search the directory \fIstring\fR for libraries.
|
|
|
196 |
It searches the directories in the order given, followed by the system
|
|
|
197 |
default directories.
|
|
|
198 |
.\" ----------------------------------------------------------------------
|
|
|
199 |
.IP \fB-M\fR
|
|
|
200 |
Specifies that the TDF linker should link all the given target
|
|
|
201 |
independent TDF capsules into one. This is done between stages 2
|
|
|
202 |
and 3 above. The default name for the produced capsule is \fBa.j\fR.
|
|
|
203 |
.\" ----------------------------------------------------------------------
|
|
|
204 |
.IP \fB-MA\fR
|
|
|
205 |
Specifies that the TDF linker should link all the given target
|
|
|
206 |
independent TDF capsules into one and also hide all the defined
|
|
|
207 |
tag and token names from the resultant TDF (except the tag "main").
|
|
|
208 |
This should only be used to compile complete programs. The default
|
|
|
209 |
name for the resulting capsule is \fBa.j\fR.
|
|
|
210 |
.\" ----------------------------------------------------------------------
|
|
|
211 |
.IP \fB-N\fIidentifier\fR:\fIstring\fR
|
|
|
212 |
As \fB-I\fIstring\fR except that the identifier \fIidentifier\fR is
|
|
|
213 |
associated with the directory \fIstring\fR in the producer.
|
|
|
214 |
.\" ----------------------------------------------------------------------
|
|
|
215 |
.IP \fB-O\fIstring\fR
|
|
|
216 |
This flag has no effect other than to cancel any previous diagnostics
|
|
|
217 |
flag and is included only for compatibility with other compilers. All
|
|
|
218 |
TDF optimisations are on by default. All optimisations are believed to
|
|
|
219 |
be correct, any bug which occurs in the fully-optimised state is a
|
|
|
220 |
genuine bug.
|
|
|
221 |
.\" ----------------------------------------------------------------------
|
|
|
222 |
.IP \fB-P\fR
|
|
|
223 |
Invokes the C preprocessor only, putting the result into a file with
|
|
|
224 |
a \fB.i\fR suffix. The C++ preprocessor is similarly invoked for C++
|
|
|
225 |
source files, putting the result into a file with a \fB.I\fR suffix.
|
|
|
226 |
.\" ----------------------------------------------------------------------
|
|
|
227 |
.IP \fB-P\fIletter\fR...
|
|
|
228 |
Tells \fBtcc\fR to preserve those files indicated by \fIletter\fR. Each
|
|
|
229 |
\fIletter\fR is a single character corresponding to the suffix of the files
|
|
|
230 |
to be preserved. The \fBtcc\fR startup-file can be preserved as
|
|
|
231 |
\fBtcc_startup.h\fR using \fB-Ph\fR. All intermediate files can be
|
|
|
232 |
preserved using \fB-Pa\fR.
|
|
|
233 |
.\" ----------------------------------------------------------------------
|
|
|
234 |
.IP \fB-S\fR
|
|
|
235 |
Tells \fBtcc\fR to stop after producing an assembly source file. This
|
|
|
236 |
is equivalent to \fB-Fs\fR.
|
|
|
237 |
.\" ----------------------------------------------------------------------
|
|
|
238 |
.IP \fB-S\fIletter\fB,\fIstring\fB,\fR...
|
|
|
239 |
The specifies that the list of input files \fIstring\fR all have type
|
|
|
240 |
\fIletter\fR, where \fIletter\fR is a single character giving the normal
|
|
|
241 |
suffix of the file type. This gives an alternative method of passing input
|
|
|
242 |
files to \fBtcc\fR, one which does not depend on it having to recognise
|
|
|
243 |
suffixes to find the type of a file.
|
|
|
244 |
.\" ----------------------------------------------------------------------
|
|
|
245 |
.IP \fB-S\fIletter\fB:\fIstring\fR
|
|
|
246 |
Similar to the option above, but specifies a single input file,
|
|
|
247 |
\fIstring\fR (which may contain a comma).
|
|
|
248 |
.\" ----------------------------------------------------------------------
|
|
|
249 |
.IP \fB-U\fIstring\fR
|
|
|
250 |
Is equivalent to inserting the preprocessor directive "#undef \fIstring\fR"
|
|
|
251 |
at the start of each C source file. This is implemented by \fBtcc\fR writing
|
|
|
252 |
this directive into a start-up file. The only macros built into the C to
|
|
|
253 |
TDF producer are __LINE__ , __FILE__ , __DATE__ , __TIME__ , __STDC__ ,
|
|
|
254 |
__ANDF__ and __TenDRA__ .
|
|
|
255 |
.\" ----------------------------------------------------------------------
|
|
|
256 |
.IP \fB-V\fR
|
|
|
257 |
Causes all tools invoked by \fBtcc\fR to print their version numbers.
|
|
|
258 |
.\" ----------------------------------------------------------------------
|
|
|
259 |
.IP \fB-W\fIletter\fB,\fIstring\fB,\fR...
|
|
|
260 |
This passes the list of options \fIstring\fR to the compilation phase
|
|
|
261 |
indicated by \fIletter\fR.
|
|
|
262 |
.\" ----------------------------------------------------------------------
|
|
|
263 |
.IP \fB-W\fIletter\fB:\fIstring\fR
|
|
|
264 |
Similar to the option above, but specifies a single option \fIstring\fR
|
|
|
265 |
(which may contain a comma).
|
|
|
266 |
.\" ----------------------------------------------------------------------
|
|
|
267 |
.IP \fB-X\fIstring\fR
|
|
|
268 |
Specifies a compilation mode. \fIstring\fR can be \fBa\fR for "lenient
|
|
|
269 |
ANSI", \fBc\fR for "strict ANSI" (this is default), \fBp\fR for "strict
|
|
|
270 |
ANSI with some extra checks", \fBs\fR for "strict ANSI with many extra
|
|
|
271 |
checks" or \fBt\fR for "traditional".
|
|
|
272 |
.\" ----------------------------------------------------------------------
|
|
|
273 |
.IP \fB-X:\fIstring\fR
|
|
|
274 |
Specifies an individual compilation option. See the \fItcc User's Guide\fR
|
|
|
275 |
for details.
|
|
|
276 |
.\" ----------------------------------------------------------------------
|
|
|
277 |
.IP \fB-Y\fIfile\fR
|
|
|
278 |
Specifies the environment to use. An environment is a file telling
|
|
|
279 |
\fBtcc\fR to modify its defaults. If the full pathname of \fIenv\fR is
|
|
|
280 |
not given, the file is searched for along the \fBtcc\fR environments path
|
|
|
281 |
which is a list of directories separated by colons. This search path can
|
|
|
282 |
be printed using \fB-show_env\fR. There are certain standard environments,
|
|
|
283 |
for example, \fBansi\fR, representing the ANSI API (this is the default
|
|
|
284 |
API environment), \fBposix\fR represents the POSIX API, \fBxpg3\fR the
|
|
|
285 |
XPG3 API, and so on. The \fBsystem\fR environment allows \fBtcc\fR to
|
|
|
286 |
behave like \fIcc\fR(1), using the system header files etc. See the
|
|
|
287 |
\fItcc User's Guide\fR and \fBtccenv\fR(5) manual page for more details
|
|
|
288 |
about environments.
|
|
|
289 |
.\" ----------------------------------------------------------------------
|
|
|
290 |
.IP \fB-Z\fIstring\fR
|
|
|
291 |
Provided for \fIcc\fR(1) compatibility. Specifies various installer
|
|
|
292 |
options.
|
|
|
293 |
.\" ----------------------------------------------------------------------
|
|
|
294 |
.IP \fB-api_check\fR
|
|
|
295 |
Causes \fBtchk\fR to create an API usage analysis file, with default name
|
|
|
296 |
\fBa.api\fR.
|
|
|
297 |
.\" ----------------------------------------------------------------------
|
|
|
298 |
.IP \fB-api_check_out\ \fIstring\fR
|
|
|
299 |
If an API usage analysis file is produced, call it \fIstring\fR.
|
|
|
300 |
.\" ----------------------------------------------------------------------
|
|
|
301 |
.IP \fB-b\fR
|
|
|
302 |
Stops the library \fBlibc.a\fR being used by the linker by default.
|
|
|
303 |
.\" ----------------------------------------------------------------------
|
|
|
304 |
.IP \fB-c\fR
|
|
|
305 |
Tells \fBtcc\fR to stop after producing the binary object files. This is
|
|
|
306 |
equivalent to \fB-Fo\fR.
|
|
|
307 |
.\" ----------------------------------------------------------------------
|
|
|
308 |
.IP \fB-cc\fR
|
|
|
309 |
Causes \fBtcc\fR to invoke \fIcc\fR(1) for its code production, using the
|
|
|
310 |
C to TDF producer as a checking front-end to \fIcc\fR. This allows the
|
|
|
311 |
checking capabilities of the front-end of the TDF compiler to be exploited
|
|
|
312 |
on machines where no TDF back-end is available.
|
|
|
313 |
.\" ----------------------------------------------------------------------
|
|
|
314 |
.IP \fB-cc_only\fR
|
|
|
315 |
Causes \fBtcc\fR to invoke \fIcc\fR(1) only.
|
|
|
316 |
.\" ----------------------------------------------------------------------
|
|
|
317 |
.IP \fB-ch\fR
|
|
|
318 |
Causes \fBtcc\fR to emulate the stand-alone static checker,
|
|
|
319 |
\fItchk\fR(1). Intermodular checks are enabled in this mode.
|
|
|
320 |
.\" ----------------------------------------------------------------------
|
|
|
321 |
.IP \fB-d\fR
|
|
|
322 |
Halts the compilation after the creation of the dump files. This is
|
|
|
323 |
equivalent to \fB-Fd\fR.
|
|
|
324 |
.\" ----------------------------------------------------------------------
|
|
|
325 |
.IP \fB-disp\fR
|
|
|
326 |
Runs the TDF pretty-printer on all files at stage 2 or 3 and then
|
|
|
327 |
terminates. The results are put into files with \fB.p\fR suffixes.
|
|
|
328 |
.\" ----------------------------------------------------------------------
|
|
|
329 |
.IP \fB-disp_t\fR
|
|
|
330 |
Runs the pretty-printer on all files at stage 3 and then terminates.
|
|
|
331 |
This differs from the previous option in that it displays the TDF
|
|
|
332 |
after linking with the target-dependent TDF libraries rather than
|
|
|
333 |
before. The output is put into a file with a \fB.p\fR suffix.
|
|
|
334 |
.\" ----------------------------------------------------------------------
|
|
|
335 |
.IP \fB-dn\fR\ or\ \fB-dy\fR
|
|
|
336 |
Passed to the system linker.
|
|
|
337 |
.\" ----------------------------------------------------------------------
|
|
|
338 |
.IP \fB-do\fIletter\fR\ \fIstring\fR
|
|
|
339 |
Sets the name of the default output file of type \fIletter\fR to
|
|
|
340 |
\fIstring\fR. For example, \fB-doh\fR can be used to set the name of
|
|
|
341 |
the preserved start-up file.
|
|
|
342 |
.\" ----------------------------------------------------------------------
|
|
|
343 |
.IP \fB-dry\fR
|
|
|
344 |
Makes \fBtcc\fR print information on what system commands it would execute
|
|
|
345 |
with the given files and options (as in verbose mode) but not actually
|
|
|
346 |
perform them.
|
|
|
347 |
.\" ----------------------------------------------------------------------
|
|
|
348 |
.IP \fB-dump\fR
|
|
|
349 |
Causes \fBtcc\fR to dump its current status. This option is only used
|
|
|
350 |
during the actual compilation of \fBtcc\fR.
|
|
|
351 |
.\" ----------------------------------------------------------------------
|
|
|
352 |
.IP \fB-e\fIstring\fR
|
|
|
353 |
Is equivalent to inserting the preprocessor directive
|
|
|
354 |
"#include "\fIstring\fR"" at the end of each C source file.
|
|
|
355 |
.\" ----------------------------------------------------------------------
|
|
|
356 |
.IP \fB-f\fIstring\fR
|
|
|
357 |
Is equivalent to inserting the preprocessor directive
|
|
|
358 |
"#include "\fIstring\fR"" at the start of each C source file.
|
|
|
359 |
.\" ----------------------------------------------------------------------
|
|
|
360 |
.IP \fB-g\fR
|
|
|
361 |
Tells \fBtcc\fR to produce diagnostic information compatible with the
|
|
|
362 |
system debugger.
|
|
|
363 |
.\" ----------------------------------------------------------------------
|
|
|
364 |
.IP \fB-h\fIstring\fR
|
|
|
365 |
Passed to the system linker.
|
|
|
366 |
.\" ----------------------------------------------------------------------
|
|
|
367 |
.IP \fB-i\fR
|
|
|
368 |
Tells \fBtcc\fR to stop after producing the target independent TDF capsules.
|
|
|
369 |
This is equivalent to \fB-Fj\fR.
|
|
|
370 |
.\" ----------------------------------------------------------------------
|
|
|
371 |
.IP \fB-im\fR
|
|
|
372 |
Enables intermodular checks.
|
|
|
373 |
.\" ----------------------------------------------------------------------
|
|
|
374 |
.IP \fB-im0\fR
|
|
|
375 |
Disables intermodular checks.
|
|
|
376 |
.\" ----------------------------------------------------------------------
|
|
|
377 |
.IP \fB-info\fR
|
|
|
378 |
Causes \fBtcc\fR to print information on the current API.
|
|
|
379 |
.\" ----------------------------------------------------------------------
|
|
|
380 |
.IP \fB-j\fIstring\fR
|
|
|
381 |
Tells the TDF linker to use the TDF library \fIstring\fR\fB.tl\fR.
|
|
|
382 |
.\" ----------------------------------------------------------------------
|
|
|
383 |
.IP \fB-k\fR
|
|
|
384 |
In intermodular checking mode, halts the compilation after the creation
|
|
|
385 |
of the C++ spec files. This is equivalent to \fB-FK\fR.
|
|
|
386 |
.\" ----------------------------------------------------------------------
|
|
|
387 |
.IP \fB-keep_errors\fR
|
|
|
388 |
By default, if an error occurs during the production of a file, \fBtcc\fR
|
|
|
389 |
will remove it. This option will preserve such files.
|
|
|
390 |
.\" ----------------------------------------------------------------------
|
|
|
391 |
.IP \fB-l\fIstring\fR
|
|
|
392 |
Tells the system linker to use the library \fBlib\fR\fIstring\fR\fB.a\fR.
|
|
|
393 |
.\" ----------------------------------------------------------------------
|
|
|
394 |
.IP \fB-make_up_names\fR
|
|
|
395 |
Causes \fBtcc\fR to make up names for all intermediate files rather than
|
|
|
396 |
forming them from the basenames of the input files.
|
|
|
397 |
.\" ----------------------------------------------------------------------
|
|
|
398 |
.IP \fB-message\ \fIstring\fR
|
|
|
399 |
Causes \fBtcc\fR to print the message \fIstring\fR.
|
|
|
400 |
.\" ----------------------------------------------------------------------
|
|
|
401 |
.IP \fB-nepc\fR
|
|
|
402 |
Tells the C to TDF producer to allow certain non-portable constructs
|
|
|
403 |
through.
|
|
|
404 |
.\" ----------------------------------------------------------------------
|
|
|
405 |
.IP \fB-not_ansi\fR
|
|
|
406 |
Tells the C to TDF producer to allow certain non-ANSI features through.
|
|
|
407 |
.\" ----------------------------------------------------------------------
|
|
|
408 |
.IP \fB-no_startup_options\fR
|
|
|
409 |
Ensures that no start-up or end-up options are passed to the C to TDF
|
|
|
410 |
producer (unlikely to be useful).
|
|
|
411 |
.\" ----------------------------------------------------------------------
|
|
|
412 |
.IP \fB-o\ \fIstring\fR
|
|
|
413 |
If a final executable is produced, call it \fIstring\fR (the default is
|
|
|
414 |
\fBa.out\fR). Otherwise, if only one file is preserved, call it \fIstring\fR.
|
|
|
415 |
.\" ----------------------------------------------------------------------
|
|
|
416 |
.IP \fB-p\fR
|
|
|
417 |
Produces profiling data for use with \fIprof\fR(1) on those machines for
|
|
|
418 |
which this command is available.
|
|
|
419 |
.\" ----------------------------------------------------------------------
|
|
|
420 |
.IP \fB-prod\fR
|
|
|
421 |
Specifies that \fBtcc\fR should stop after producing the target independent
|
|
|
422 |
TDF capsules and combine them into a TDF archive. The default archive
|
|
|
423 |
name is \fBa.ta\fR.
|
|
|
424 |
.\" ----------------------------------------------------------------------
|
|
|
425 |
.IP \fB-q\fR\ or\ \fB-quiet\fR
|
|
|
426 |
Specifies that \fBtcc\fR should work silently. This is the default.
|
|
|
427 |
.\" ----------------------------------------------------------------------
|
|
|
428 |
.IP \fB-query\fR
|
|
|
429 |
Causes \fBtcc\fR to print a list of all the options it recognises,
|
|
|
430 |
together with a brief description of each. Since this list is
|
|
|
431 |
automatically generated it is likely to be more accurate than this
|
|
|
432 |
manual page.
|
|
|
433 |
.\" ----------------------------------------------------------------------
|
|
|
434 |
.IP \fB-s\fR
|
|
|
435 |
Passed to the system linker.
|
|
|
436 |
.\" ----------------------------------------------------------------------
|
|
|
437 |
.IP \fB-s\fIletter\fB:\fIsuffix\fR\fR
|
|
|
438 |
Specifies that files with suffix \fIsuffix\fR are interpreted as having
|
|
|
439 |
type indicated by \fIletter\fR.
|
|
|
440 |
.\" ----------------------------------------------------------------------
|
|
|
441 |
.IP \fB-show_env\fR
|
|
|
442 |
Prints the \fBtcc\fR environments path. This is a list of directories
|
|
|
443 |
separated by colons. The first element of the list is always the system
|
|
|
444 |
default environments directory and the last element is always the current
|
|
|
445 |
working directory. The other elements may be specified by the user by
|
|
|
446 |
means of the \fBTCCENV\fR system variable.
|
|
|
447 |
.\" ----------------------------------------------------------------------
|
|
|
448 |
.IP \fB-show_errors\fR
|
|
|
449 |
Makes \fBtcc\fR report on the command it was executing when an error
|
|
|
450 |
occurred.
|
|
|
451 |
.\" ----------------------------------------------------------------------
|
|
|
452 |
.IP \fB-special\ \fIstring\fR
|
|
|
453 |
Allows various internal options to be specified.
|
|
|
454 |
.\" ----------------------------------------------------------------------
|
|
|
455 |
.IP \fB-startup\ \fIstring\fR
|
|
|
456 |
Causes \fIstring\fR to be printed to the \fBtcc\fR built-in start-up file.
|
|
|
457 |
.\" ----------------------------------------------------------------------
|
|
|
458 |
.IP \fB-sym\fR
|
|
|
459 |
Enables dump-linking.
|
|
|
460 |
.\" ----------------------------------------------------------------------
|
|
|
461 |
.IP \fB-sym:\ \fIstring\\fR
|
|
|
462 |
Enables dump-linking (with mode specified by options in \fIstring\fR).
|
|
|
463 |
.\" ----------------------------------------------------------------------
|
|
|
464 |
.IP \fB-target\ \fIstring\fR
|
|
|
465 |
No effect (allowed for compatibility with \fIcc\fR(1) on some systems).
|
|
|
466 |
.\" ----------------------------------------------------------------------
|
|
|
467 |
.IP \fB-temp\ \fIdir\fR
|
|
|
468 |
Specifies that \fBtcc\fR should use \fIdir\fR as its temporary directory.
|
|
|
469 |
.\" ----------------------------------------------------------------------
|
|
|
470 |
.IP \fB-tidy\fR
|
|
|
471 |
Causes \fBtcc\fR to remove its intermediate files when they are no longer
|
|
|
472 |
required rather than waiting to the end of the compilation.
|
|
|
473 |
.\" ----------------------------------------------------------------------
|
|
|
474 |
.IP \fB-time\fR
|
|
|
475 |
Makes \fBtcc\fR print information on what system commands it is executing
|
|
|
476 |
(as with verbose mode) followed by the time taken for each.
|
|
|
477 |
.\" ----------------------------------------------------------------------
|
|
|
478 |
.IP \fB-u\fIstring\fR
|
|
|
479 |
Passed to the system linker.
|
|
|
480 |
.\" ----------------------------------------------------------------------
|
|
|
481 |
.IP \fB-v\fR\ or\ \fB-verbose\fR
|
|
|
482 |
Specifies that \fBtcc\fR should work in verbose mode, sending information
|
|
|
483 |
on what system commands it is executing to the standard output.
|
|
|
484 |
.\" ----------------------------------------------------------------------
|
|
|
485 |
.IP \fB-vb\fR
|
|
|
486 |
Causes the name of each input file to be printed as it is processed.
|
|
|
487 |
.\" ----------------------------------------------------------------------
|
7 |
7u83 |
488 |
.IP \fB-vd\fR
|
|
|
489 |
Causes a dump of the environment information tcc got hold of.
|
|
|
490 |
.\" ----------------------------------------------------------------------
|
|
|
491 |
.IP \fB-ve\fR
|
|
|
492 |
Causes verbose information about tool chain environment to be printed.
|
|
|
493 |
.\" ----------------------------------------------------------------------
|
|
|
494 |
.IP \fB-vt\fR
|
|
|
495 |
Causes verbose information about tool chain invocation to be printed.
|
|
|
496 |
.\" ----------------------------------------------------------------------
|
2 |
7u83 |
497 |
.IP \fB-version\fR
|
|
|
498 |
Makes \fBtcc\fR report its version number.
|
|
|
499 |
.\" ----------------------------------------------------------------------
|
|
|
500 |
.IP \fB-w\fR
|
|
|
501 |
Suppresses all \fBtcc\fR warning messages.
|
|
|
502 |
.\" ----------------------------------------------------------------------
|
|
|
503 |
.IP \fB-work\ \fIstring\fR
|
|
|
504 |
Specifies that all preserved intermediate files are placed in the
|
|
|
505 |
directory \fIstring\fR rather than where they are placed by default,
|
|
|
506 |
in the current working directory.
|
|
|
507 |
.\" ----------------------------------------------------------------------
|
|
|
508 |
.IP \fB-wsl\fR
|
|
|
509 |
Tells the TDF translator to make all string literals writable.
|
|
|
510 |
.\" ----------------------------------------------------------------------
|
|
|
511 |
.IP \fB-z\fIstring\fR
|
|
|
512 |
Passed to the system linker.
|
|
|
513 |
.\" ----------------------------------------------------------------------
|
|
|
514 |
.SH FILES
|
|
|
515 |
.IP file.c
|
|
|
516 |
C source file
|
|
|
517 |
.IP file.i
|
|
|
518 |
Preprocessed C source file
|
|
|
519 |
.IP file.C
|
|
|
520 |
C++ source file (only if \fB-Yc++\fR is specified)
|
|
|
521 |
.IP file.I
|
|
|
522 |
Preprocessed C++ source file (only if \fB-Yc++\fR is specified)
|
|
|
523 |
.IP file.j
|
|
|
524 |
Target independent TDF capsule
|
|
|
525 |
.IP file.t
|
|
|
526 |
Target dependent TDF capsule
|
|
|
527 |
.IP file.s
|
|
|
528 |
Assembly source file
|
|
|
529 |
.IP file.o
|
|
|
530 |
Binary object file
|
|
|
531 |
.IP file.d
|
|
|
532 |
TenDRA dump file
|
|
|
533 |
.IP file.K
|
|
|
534 |
C++ spec file (only if \fB-Yc++\fR is specified)
|
|
|
535 |
.IP file.p
|
|
|
536 |
Pretty-printed TDF capsule
|
|
|
537 |
.IP file.pl
|
|
|
538 |
PL_TDF source file (only if \fB-Ypl_tdf\fR is specified)
|
|
|
539 |
.IP file.ta
|
|
|
540 |
TDF archive
|
|
|
541 |
.IP file.G
|
|
|
542 |
Binasm source file (Mips and Alpha only)
|
|
|
543 |
.IP file.T
|
|
|
544 |
Assembler symbol table (Mips and Alpha only)
|
|
|
545 |
.IP a.out
|
|
|
546 |
Default executable name
|
|
|
547 |
.IP a.ta
|
|
|
548 |
Default TDF archive name
|
|
|
549 |
.IP a.d
|
|
|
550 |
Default dump file name
|
|
|
551 |
.IP a.api
|
|
|
552 |
Default API usage analysis file name
|
|
|
553 |
.IP a.j
|
|
|
554 |
Default output file for merge-TDF-capsules option
|
|
|
555 |
.IP tcc_startup.h
|
|
|
556 |
Name of preserved \fBtcc\fR start-up file
|
|
|
557 |
.IP /tmp/tcc*
|
|
|
558 |
Temporary directory (this may be changed using the \fBTMPDIR\fR
|
|
|
559 |
system variable, see \fItempnam\fR(3)).
|
|
|
560 |
.\" ----------------------------------------------------------------------
|
|
|
561 |
.SH SEE ALSO
|
|
|
562 |
\fIas\fR(1), \fIcc\fR(1), \fIdisp\fR(1), \fIld\fR(1), \fIprof\fR(1),
|
7 |
7u83 |
563 |
\fItchk\fR(1), \fItdfc2\fR(1), \fItcpplus\fR(1), \fItot_o\fR(1),
|
2 |
7u83 |
564 |
\fItld\fR(1), \fItrans386\fR(1), \fIalphatrans\fR(1), \fIhppatrans\fR(1),
|
|
|
565 |
\fImipstrans\fR(1), \fIsparctrans\fR(1), \fItccenv\fR(5).
|
|
|
566 |
.\" ----------------------------------------------------------------------
|