converted to texinfo - added developper's guide
[tinycc.git] / tcc.1
blobceee70b86d93e5038accc20dba9557779ff3ba83
1 .TH TCC 1 "2002 Feb 6" TCC
2 .SH NAME
3 tcc \- tiny C compiler - the smallest ANSI C compiler
4 .SH SYNOPSIS
5 .B tcc
6 [-\fBI\fP\fIdir\fP]
7 [-\fBD\fP\fImacro\fP[=\fIdefn\fP]]
8 [-\fBU\fP\fIsym\fP]
9 [-\fBl\fP\fIlib\fP]
10 [-\fBg\fP]
11 [-\fBb\fP]
12 [-\fBi\fP\fI<file>\fP]
13 <file>
14 [infile_args...]
15 .SH DESCRIPTION
17 \fItcc\fP (tiny C compiler) is small, fast, unlimited, and safe.  You
18 can compile and execute C code everywhere (e.g., on rescue disks).  It
19 generates optimized x86 code, and can compile, assemble, and link
20 several times faster than 'gcc -O0'.  Any C dynamic library can be
21 used directly.  It includes an optional memory and bounds checker, and
22 bounds-checked code can be mixed freely with standard code.  C script
23 is also supported--just add '#!/usr/bin/tcc' at the first line of your
24 C source, and execute it directly from the command line.
26 .TP
27 .BI "\-I" "dir"
28 Append directory \c
29 .I dir\c
30 \& to the list of directories searched for include files.
31 .TP
32 .BI \-D macro
33 Define macro \c
34 .I macro\c
35 \& with the string `\|\c
36 .B 1\c
37 \&\|' as its definition.
38 .TP
39 .BI \-D macro = defn
40 Define macro \c
41 .I macro\c
42 \& as \c
43 .I defn\c
44 \&.    All instances of `\|\c
45 .B \-D\c
46 \&\|' on
47 the command line are processed before any `\|\c
48 .B \-U\c
49 \&\|' options.
50 .TP
51 .BI \-U macro
52 Undefine macro \c
53 .I macro\c
54 \&.  `\|\c
55 .B \-U\c
56 \&\|' options are evaluated after all `\|\c
57 .B \-D\c
58 \&\|' options, but before any `\|\c
59 .B \-include\c
60 \&\|' and `\|\c
61 .B \-imacros\c
62 \&\|' options.
63 .TP
64 .BI \-l library
65 Use the library named \c
66 .I library\c
67 \& when linking.
70 .TP
71 \fB\-l\fRlib
72 link with dynamic library 'lib'
73 .TP
74 \fB\-g\f
75 generate runtime debug info
76 .TP
77 \fB\-b\f
78 compile with built-in memory and bounds checker (implies -g)
79 .TP
80 \fB\-i\fR <file>
81 compile <file>
82 .SH SEE ALSO
83 \fIgcc\fP(1)
84 .SH PROBLEMS AND BUGS
85 We haven't found any bugs yet. Perhaps there are bugs but it's
86 unlikely.
88 If you have problems with `tcc' or think you've found a
89 bug, please report it to the developers; we cannot promise to do
90 anything but we might well want to fix it.
92 Before reporting a bug, make sure you've actually found a real bug.
93 Carefully reread the documentation and see if it really says you can
94 do what you're trying to do.  If it's not clear whether you should be
95 able to do something or not, report that too; it's a bug in the
96 documentation!
98 Before reporting a bug or trying to fix it yourself, try to isolate it
99 to the smallest possible conditions that reproduces the problem.  Then
100 send us the description and the exact results `tcc' gave
101 you.  Also say what you expected to occur; this will help us decide
102 whether the problem was really in the documentation.
104 Once you've got a precise problem, please send electronic mail to:
106          Fabrice Bellard <fabrice.bellard@free.fr>
108 Please include the version number of `tcc' you are using.
109 Be sure also to include the type of machine and operating system you
110 are using.
111 .SH COPYRIGHT
112 \fItcc\fP is Copyright \(co 2001, 2002 by Fabrice Bellard
114 Permission is granted to make and distribute verbatim copies of
115 this manual page provided the copyright notice and this permission
116 notice are preserved on all copies.
118 Permission is granted to process this file through troff and print the
119 results, provided the printed document carries copying permission
120 notice identical to this one except for the removal of this paragraph
121 (this paragraph not being relevant to the printed manual page).
124 Permission is granted to copy and distribute modified versions of this
125 manual page under the conditions for verbatim copying, provided that
126 the entire resulting derived work is distributed under the terms of a
127 permission notice identical to this one.
129 Permission is granted to copy and distribute translations of this
130 manual page into another language, under the above conditions for
131 modified versions, except that this permission notice may be stated in
132 a translation approved by the Foundation.
133 .SH AUTHORS
134 This program was written by Fabrice Bellard <fabrice.bellard@free.fr>.
135 It may be freely distributed under the terms of the GNU General Public
136 License.  There is ABSOLUTELY NO WARRANTY for this program.