qfcc: update man page. It's pretty useful, so I'll probably be setting

it up as part of the install for qfcc.
This commit is contained in:
Jeff Teunissen 2001-10-26 23:55:42 +00:00
parent 274ff6e59a
commit 901a8ec9c5

View file

@ -34,21 +34,17 @@ qfcc \- The QuakeForge Code Compiler
.SH DESCRIPTION .SH DESCRIPTION
\fBqfcc\fP compiles GameC source into a form that the QuakeForge server can \fBqfcc\fP compiles GameC source into a form that the QuakeForge server can
understand. understand.
.PP
.SH OPTIONS .SH OPTIONS
\fBqfcc\fP takes the following arguments: \fBqfcc\fP takes the following arguments:
.TP .TP
.B \-s, \-\-source DIR .B \-s, \-\-source DIR
look for progs.src in DIR instead of the current directory. look for progs.src in DIR instead of the current directory.
.TP .TP
.B \-q .B \-q, \-\-quiet
Inhibit some of qfcc's normal output. Inhibit some of qfcc's normal output.
.TP .TP
.B \-\-quiet LEVEL .B \-v, \-\-verbose
Set quiet level to LEVEL. 1 is equivalent to \-q, 2 is silence. Display more output than usual.
.TP
.B \-g, \-\-debug
Output symbol information for the QuakeForge server's built-in debugger.
.TP .TP
.B \-\-code OPTION,... .B \-\-code OPTION,...
Set code generation options. See Set code generation options. See
@ -67,22 +63,35 @@ Show summary of options.
.TP .TP
.B \-V, \-\-version .B \-V, \-\-version
Show the version of qfcc. Show the version of qfcc.
.TP
.B \-D, \-\-define SYMBOL[=VAL],...
Define symbols for the preprocessor, if it is in use.
.TP
.B \-I, \-\-include DIR,...
Add DIR to the list of directories for the preprocessor to search when looking
for include files.
.TP
.B \-U, \-\-undefine SYMBOL,...
Undefine preprocessor symbols, if the preprocessor is in use.
.SH "CODE GENERATION OPTIONS" .SH "CODE GENERATION OPTIONS"
The following options are valid for \fBqfcc\fP's Code generation options are processed in the order of their appearance on the
.B \-\-code command line. Unsupported options are ignored. The following options are
argument: supported by \fBqfcc\fP's \fB\-\-code\fP argument:
.TP .TP
.B cow .B cow
Allow assignment to initialized globals. In QuakeC, a global that has been Allow assignment to initialized globals. In QuakeC, a global that has been
initialized to a value is not a variable, but a named constant. However, initialized to a value is not a variable, but a named constant. However,
.B qcc \fBqcc\fP never really enforced this. The \fBcow\fP option allows \fBqfcc\fP
never really enforced this. The to gracefully cope with QuakeC source that assigns values to initialized globals
.B cow in this manner. (also known as "copy on write" -- never mind the bovine
option allows connotations)
.B qfcc .TP
to gracefully cope with QuakeC source that assigns values to .B debug
initialized globals in this manner. (also known as "copy on write" -- never mind Generate debug code for QuakeForge engines. The QuakeForge engine has the
the bovine connotations) ability to load line number info and other debugging information for use in
diagnosing progs crashes. This option tells \fBqfcc\fP to generate this
information. It is written to a secondary file with the extension "sym" \(em
if your output file is "progs.dat", the symbol file will be "progs.sym".
.TP .TP
.B v6only .B v6only
Restrict the compiler to only version 6 progs (original Quake/QuakeWorld) Restrict the compiler to only version 6 progs (original Quake/QuakeWorld)
@ -91,36 +100,49 @@ servers, as long as you have not used any QuakeForge-specific built-in
functions. Also disables some of the compiler's features (like integers and functions. Also disables some of the compiler's features (like integers and
string manipulation support). string manipulation support).
.SH "WARNING OPTIONS" .SH "WARNING OPTIONS"
The following options are valid for \fBqfcc\fP's Warning options are processed in the order of their appearance on the command
.B \-\-warn line. Unsupported options are ignored. The following options are supported by
argument: \fBqfcc\fP's \fB\-\-warn\fP argument:
.TP .TP
.B error .B cow
Promote warnings to errors. This works just like \fBgcc\fP's Emit a warning when the source assigns a value to a named constant. See the
.B -Werror description of the \fBcow\fP code option above for a description of what this means.
argument.
.TP .TP
.B undef-functions .B undef-function
Emit a warning when a function is called, but has not yet been defined. Emit a warning when a function is called, but has not yet been defined.
.TP .TP
.B uninited-var
Emit a warning when a variable is read from that has not been initalized to a
value.
.TP
.B vararg-integer .B vararg-integer
Emit a warning when a function that takes a variable number of arguments is Emit a warning when a function that takes a variable number of arguments is
passed a constant of an integer type. passed a constant of an integer type.
.TP
.B error
Promote warnings to errors.
.PP
Any of the above can be prefixed with \fBno-\fP to negate its meaning. There are
also two special options:
.TP
.B all
Turns on all warning options except \fBerror\fP.
.TP
.B none
Turns off all warning options except \fBerror\fP.
.SH "FAQ" .SH "FAQ"
.TP
.B qfcc is singing a bad 80s rap song to me. What's going on? .B qfcc is singing a bad 80s rap song to me. What's going on?
"ice ice baby" is QuakeForge-speak for "Internal Compiler Error". It usually "ice ice baby" is QuakeForge-speak for "Internal Compiler Error". It usually
means there's a bug in qfcc, so please report it to the team. means there's a bug in qfcc, so please report it to the team.
.TP
.B qfcc is mooing at me. What's wrong with you people? .B qfcc is mooing at me. What's wrong with you people?
The compiler doesn't like being treated like a slab of beef. Seriously, the code The compiler doesn't like being treated like a slab of beef. Seriously, the code
you are trying to compile is using constants as if they weren't. Normally, qfcc you are trying to compile is using constants as if they weren't. Normally, qfcc
would just stop and tell the code to sit in the corner for a while, but you told would just stop and tell the code to sit in the corner for a while, but you told
it not to do that by passing the it not to do that by passing the \fBcow\fP option to \fB\-\-code\fP, so it has
.B cow its revenge by mooing out a warning. Or something like that. To disable the
option to \fB--code\fP, so it has its revenge by mooing out a warning. Or warning, pass \fBno-cow\fP to \fB\-\-warn\fP.
something like that.
.SH "FILES" .SH "FILES"
progs.src progs.src
.SH "SEE ALSO" .SH "SEE ALSO"