qfcc man page updates.

This commit is contained in:
Jeff Teunissen 2004-04-28 04:49:15 +00:00
parent 72ada08635
commit fe654959ee

View file

@ -28,7 +28,7 @@
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.\"
.TH QFCC 1 "14 December, 2001" QuakeForge "QuakeForge Developer's Manual"
.TH QFCC 1 "28 April, 2004" QuakeForge "QuakeForge Developer's Manual"
.\" Please update the above date whenever this man page is modified.
.SH NAME
qfcc \- The QuakeForge Code Compiler
@ -43,8 +43,8 @@ understand.
\fBqfcc\fP takes the following arguments:
.TP
.B \-\-traditional
Use traditional QuakeC syntax, semantics and "bugs". Also implies v6only. This
is the default when using progs.src.
Use traditional QuakeC syntax, semantics and \*(lqbugs\*(rq. Also implies the
\fBv6only\fP code generation option. This is the default when using progs.src.
.TP
.B \-\-advanced
Use advanced Raumoko features. This is the default when using separate
@ -89,7 +89,7 @@ object files built using the \fBpak\fP utility.
.B \-N, \-\-notice OPTION,...
Set notice options. See \fBNOTICE OPTIONS\fP for details.
.TP
.B \-o, \-\0output\-file FILE
.B \-o, \-\-output\-file FILE
Specify output file name.
.TP
.B \-P, \-\-progs\-src FILE
@ -101,7 +101,7 @@ Strip NUM leading path elements from file names. eg. -p 3 will strip the
output code.
.TP
.B \-q, \-\-quiet
Inhibit some of qfcc's normal output.
Inhibit some of \fBqfcc\fP's normal output.
.TP
.B \-r
Incremental linking. Generate a larger object file from other object files
@ -117,7 +117,7 @@ look for progs.src in DIR instead of the current directory.
Undefine a preprocessor symbol, if the preprocessor is in use.
.TP
.B \-V, \-\-version
Show the version of qfcc.
Show the version of \fBqfcc\fP.
.TP
.B \-v, \-\-verbose
Display more output than usual.
@ -142,26 +142,28 @@ Allow assignment to initialized globals. In Quake-C and Ruamoko, a global
that has been initialized to a value is not a variable, but a named constant.
However, \fBqcc\fP never really enforced this. The \fBcow\fP option allows
\fBqfcc\fP to gracefully cope with QuakeC source that assigns values to
initialized globals in this manner. (also known as "copy on write" \(em never
mind the bovine connotations)
initialized globals in this manner. (also known as \*(lqcopy on
write\*(rq\(emnever mind the bovine connotations)
.TP
.B debug
Generate debug code for QuakeForge engines. The QuakeForge engine has the
ability to load line number info and other debugging information for use in
ability to load line number 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".
information. It is written to a secondary file with the extension
\*(lqsym\*(rq\(emif your output file is \*(lqprogs.dat\*(rq, the symbol file
will be \*(lqprogs.sym\*(rq.
.TP
.B short\-circuit
Generate short circuit code for logical operators (\fB&&\fP and \fB||\fP). For
\fBA && B\fP, if \fBA\fP is false, the expression is known to be false and the
code for \fBB\fP will not be executed. Similar for \fBA || B\fP, but if \fBA\fP
true, the expression is known to be true and the code for \fBB\fP will not be
executed. Defaults to off for traditional and on for advanced.
code for \fBB\fP will not be executed. Similar for \fBA || B\fP, but if
\fBA\fP is true, the expression is known to be true and the code for \fBB\fP
will not be executed. Defaults to off for traditional mode, and on for advanced
mode.
.TP
.B fast\-float
Use float values directly in if statements. Defaults to on, always on for
version 6 progs.
Use float values directly in \*(lqif\*(rq statements. Defaults to on. This
option is always enabled when using version 6 progs.
.TP
.B v6only
Restrict the compiler to only version 6 progs (original Quake/QuakeWorld)
@ -209,7 +211,7 @@ Turns off all warning options except \fBerror\fP.
Notices are used to flag code constructs that may have changed semantics but
shouldn't be treated as warnings. They are also used for internal debugging
purposes, so if you see any cryptic notices, please report them as a bug
(normal notices will be fairly self explanatory).
(normal notices should be fairly self-explanatory).
.TP
.B none
Silences all notice messages.
@ -219,19 +221,19 @@ Promote notices to warnings. If warnings are being treated as errors, so will
notices.
.SH "CPP NAME"
When preprocessing source files, \fBqfcc\fP calls \fBcpp\fP (the C
preprocessor) with a configurable command line. This is useful when wishing
preprocessor) with a configurable command line. This is useful when you wish
to use an alternative preprocessor (though it must be command line compatible
with \fBcpp\fP) and when \fBqfcc\fP has been mis-configured to call \fBcpp\fP
with \fBcpp\fP) or when \fBqfcc\fP has been misconfigured to call \fBcpp\fP
incorrectly for your operating system. If the latter is the case, please
report the details (operating system, detection methods, correct execution
specification). The base default execution spec (on most Linux systems) is
\fBcpp %d -o %o %i\fP. This spec is similar in concept to a printf string.
The name of the program may be either absolute (eg \fB/lib/cpp\fP) or
relative as the PATH will be searched. Available substitutions:
\fBcpp %d -o %o %i\fP. This spec is similar in concept to a \fBprintf\fP
string. The name of the program may be either absolute (eg \fB/lib/cpp\fP) or
relative as the \fBPATH\fB will be searched. Available substitutions:
.TP
.B %d
Mainly for defines (-D, -U and -I) but %d will be replaced by all \fBcpp\fP
options that \fBqfcc\fP will be passing.
Mainly for defines (\-D, \-U and \-I) but \fB%d\fP will be replaced by all
\fBcpp\fP options that \fBqfcc\fP will be passing.
.TP
.B %o
This will be replaced by the output file path. Could be either absolute or
@ -243,13 +245,14 @@ This will be replaced by the input file path. Generally as given to \fBqfcc\fP.
.TP
.B Where did the name Ruamoko come from?
In Maori mythology, Ruamoko is the youngest child of Ranginui, the
Sky\-father, and Papatuanuku, the Earth\-mother. Ruamoko is the god of
Sky-father, and Papatuanuku, the Earth-mother. Ruamoko is the god of
volcanoes and earthquakes \fB(Quake, get it?)\fP. For more information, see
the Web site at <\fBhttp://maori.com/kmst1.htm\fP>.
.TP
.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
means there's a bug in qfcc, so please report it to the team.
\*(lqice ice baby\*(rq is QuakeForge-speak for \*(lqInternal Compiler
Error\*(rq. It usually means there's a bug in \fBqfcc\fP, so please report it
to the team.
.TP
.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