ack/fast/driver/afcc.1
1991-11-13 17:07:30 +00:00

159 lines
3 KiB
Groff

.TH AFCC 1
.SH NAME
afcc \- fast ACK compatible C compiler
.SH SYNOPSIS
.B afcc
[
.B \-c
]
[
.B \-v
]
[
.B \-ansi
]
[
.B \-R
]
[
.B \-vn
]
[ \fB\-D\fIname\fR ]
[ \fB\-D\fIname\fB=\fIdef\fR ]
[
.BI \-I pathname
]
[
.B \-w
]
[
.B \-g
]
[
.B \-o
.I outfile
]
[
.BI \-U name
]
[
.BI -M compiler
]
.I sourcefile ...
.SH DESCRIPTION
.LP
.I Afcc
is a fast
.B C
compiler. It translates
.B C
programs
into ack(1)-compatible relocatable object modules, and does so in one pass.
Then, if the \fB\-c\fP flag is not given,
.I afcc
offers the object modules to a link-editor,
to create an executable binary.
.LP
.I Afcc
accepts several types of filename arguments. Files with
names ending in
.B .c
are taken to be
.B C
source programs.
They are compiled, and the resulting object module is placed in the current
directory.
The object module is named after its source file, the suffix
.B .o
replacing
.BR .c
in the name of the object.
.LP
Other arguments refer to loader options,
object modules, or object libraries.
Unless the
.B \-c
flag is given, these modules and libraries, together with the results of any
specified compilations, are passed (in the order given) to the
link-editor to produce
an output file named
.IR a.out .
You can specify a name for the executable by using the
.B \-o
option.
.SH OPTIONS
.LP
.IP \fB\-ansi\fP
Use the ANSI C compiler instead of the K&R one. This flag must be first,
and must also be used when linking through
.I afcc
or
.I ack.
.IP \fB\-R\fP
test for more compatibility with Kernighan & Ritchie C [1].
.IP \fB\-c\fP
.br
Suppress the loading phase of the compilation, and force an object module to
be produced, even if only one program is compiled.
A single object module can be named explicitly using the
.B \-o
option.
.IP \fB\-D\fIname\fR\fB=\fIdef\fR
Define a symbol
.I name
to the
preprocessor, as if by "#define".
.IP \fB\-D\fIname\fR
.br
same as \fB\-D\fIname\fB=1\fR.
.IP \fB\-I\fIpathname\fR
.br
Add
.I pathname
to the list of directories in which to search for
.B #include
files with filenames not beginning with slash.
The compiler first searches for
.B #include
files in the directory containing
.I sourcefile,
then in directories in
.B \-I
options, then in the ACK include directory,
and finally, in
.I /usr/include.
.IP "\fB\-o \fIoutput\fR"
Name the final output file
.I output.
.IP \fB\-U\fIname\fR
.br
Remove any initial definition of
.I name.
.IP \fB\-g\fP
.br
Produce symbolic debugging information for grind(1).
.IP \fB\-v\fP
.br
Verbose. Print the commands as they are executed.
.IP \fB\-vn\fP
.br
Verbose, no execute. Only print the commands, do not execute them.
.IP \fB\-w\fP
suppress warning messages.
.IP \fB\-M\fIcompiler\fR
.br
use \fIcompiler\fR as C compiler instead of the default.
.LP
Object modules produced by ack(1) and
.I afcc
can be freely mixed.
.SH "SEE ALSO"
.IP [1]
B.W. Kernighan, D. Ritchie, "\fIThe C programming Language\fP", Prentice-Hall Inc., 1978
.IP [2]
ack(1) manual page.
.IP [3]
grind(1) manual page.
.SH DIAGNOSTICS
Diagnostics are intended to be self-explanatory.