Pristine Ack-5.5
[Ack-5.5.git] / fast / driver / afcc.1
1 .TH AFCC 1
2 .SH NAME
3 afcc \- fast ACK compatible C compiler
4 .SH SYNOPSIS
5 .B afcc
6 [
7 .B \-c
8 ]
9 [
10 .B \-v
11 ]
12 [
13 .B \-ansi
14 ]
15 [
16 .B \-R
17 ]
18 [
19 .B \-vn
20 ]
21 [ \fB\-D\fIname\fR ]
22 [ \fB\-D\fIname\fB=\fIdef\fR ]
23 [
24 .BI \-I pathname
25 ]
26 [
27 .B \-w
28 ]
29 [
30 .B \-g
31 ]
32 [
33 .B \-o 
34 .I outfile
35 ]
36 [
37 .BI \-U name
38 ]
39 [
40 .BI -M compiler
41 ]
42 .I sourcefile ...
43 .SH DESCRIPTION
44 .LP
45 .I Afcc
46 is a fast
47 .B C
48 compiler. It translates 
49 .B C
50 programs
51 into ack(1)-compatible relocatable object modules, and does so in one pass.
52 Then, if the \fB\-c\fP flag is not given,
53 .I afcc
54 offers the object modules to a link-editor,
55 to create an executable binary.
56 .LP
57 .I Afcc
58 accepts several types of filename arguments.  Files with 
59 names ending in
60 .B .c
61 are taken to be 
62 .B C
63 source programs. 
64 They are compiled, and the resulting object module is placed in the current
65 directory.
66 The object module is named after its source file, the suffix
67 .B .o
68 replacing 
69 .BR .c
70 in the name of the object.
71 .LP
72 Other arguments refer to loader options,
73 object modules, or object libraries.
74 Unless the
75 .B \-c
76 flag is given, these modules and libraries, together with the results of any
77 specified compilations, are passed (in the order given) to the
78 link-editor to produce
79 an output file named
80 .IR a.out .
81 You can specify a name for the executable by using the
82 .B \-o 
83 option.
84 .SH OPTIONS
85 .LP
86 .IP \fB\-ansi\fP
87 Use the ANSI C compiler instead of the K&R one. This flag must be first,
88 and must also be used when linking through 
89 .I afcc
90 or
91 .I ack.
92 .IP \fB\-R\fP
93 test for more compatibility with Kernighan & Ritchie C [1].
94 .IP \fB\-c\fP
95 .br
96 Suppress the loading phase of the compilation, and force an object module to
97 be produced, even if only one program is compiled.
98 A single object module can be named explicitly using the
99 .B \-o
100 option.
101 .IP \fB\-D\fIname\fR\fB=\fIdef\fR
102 Define a symbol
103 .I name
104 to the 
105 preprocessor, as if by "#define".
106 .IP \fB\-D\fIname\fR
107 .br
108 same as \fB\-D\fIname\fB=1\fR.
109 .IP \fB\-I\fIpathname\fR
110 .br
111 Add
112 .I pathname
113 to the list of directories in which to search for
114 .B #include
115 files with filenames not beginning with slash.
116 The compiler first searches for
117 .B #include
118 files in the directory containing
119 .I sourcefile,
120 then in directories in
121 .B \-I
122 options, then in the ACK include directory,
123 and finally, in
124 .I /usr/include.
125 .IP "\fB\-o \fIoutput\fR"
126 Name the final output file
127 .I output.
128 .IP \fB\-U\fIname\fR
129 .br
130 Remove any initial definition of
131 .I name.
132 .IP \fB\-g\fP
133 .br
134 Produce symbolic debugging information for grind(1).
135 .IP \fB\-v\fP
136 .br
137 Verbose. Print the commands as they are executed.
138 .IP \fB\-vn\fP
139 .br
140 Verbose, no execute. Only print the commands, do not execute them.
141 .IP \fB\-w\fP
142 suppress warning messages.
143 .IP \fB\-M\fIcompiler\fR
144 .br
145 use \fIcompiler\fR as C compiler instead of the default.
146 .LP
147 Object modules produced by ack(1) and
148 .I afcc
149 can be freely mixed.
150 .SH "SEE ALSO"
151 .IP [1]
152 B.W. Kernighan, D. Ritchie, "\fIThe C programming Language\fP", Prentice-Hall Inc., 1978
153 .IP [2]
154 ack(1) manual page.
155 .IP [3]
156 grind(1) manual page.
157 .SH DIAGNOSTICS
158 Diagnostics are intended to be self-explanatory.