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 .\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7) .\" 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. .\" Please update the above date whenever this man page is modified.
.SH NAME .SH NAME
qfcc \- The QuakeForge Code Compiler qfcc \- The QuakeForge Code Compiler
@ -43,8 +43,8 @@ understand.
\fBqfcc\fP takes the following arguments: \fBqfcc\fP takes the following arguments:
.TP .TP
.B \-\-traditional .B \-\-traditional
Use traditional QuakeC syntax, semantics and "bugs". Also implies v6only. This Use traditional QuakeC syntax, semantics and \*(lqbugs\*(rq. Also implies the
is the default when using progs.src. \fBv6only\fP code generation option. This is the default when using progs.src.
.TP .TP
.B \-\-advanced .B \-\-advanced
Use advanced Raumoko features. This is the default when using separate 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,... .B \-N, \-\-notice OPTION,...
Set notice options. See \fBNOTICE OPTIONS\fP for details. Set notice options. See \fBNOTICE OPTIONS\fP for details.
.TP .TP
.B \-o, \-\0output\-file FILE .B \-o, \-\-output\-file FILE
Specify output file name. Specify output file name.
.TP .TP
.B \-P, \-\-progs\-src FILE .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. output code.
.TP .TP
.B \-q, \-\-quiet .B \-q, \-\-quiet
Inhibit some of qfcc's normal output. Inhibit some of \fBqfcc\fP's normal output.
.TP .TP
.B \-r .B \-r
Incremental linking. Generate a larger object file from other object files 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. Undefine a preprocessor symbol, if the preprocessor is in use.
.TP .TP
.B \-V, \-\-version .B \-V, \-\-version
Show the version of qfcc. Show the version of \fBqfcc\fP.
.TP .TP
.B \-v, \-\-verbose .B \-v, \-\-verbose
Display more output than usual. 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. 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 However, \fBqcc\fP never really enforced this. The \fBcow\fP option allows
\fBqfcc\fP to gracefully cope with QuakeC source that assigns values to \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 initialized globals in this manner. (also known as \*(lqcopy on
mind the bovine connotations) write\*(rq\(emnever mind the bovine connotations)
.TP .TP
.B debug .B debug
Generate debug code for QuakeForge engines. The QuakeForge engine has the 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 diagnosing progs crashes. This option tells \fBqfcc\fP to generate this
information. It is written to a secondary file with the extension "sym" \(em information. It is written to a secondary file with the extension
if your output file is "progs.dat", the symbol file will be "progs.sym". \*(lqsym\*(rq\(emif your output file is \*(lqprogs.dat\*(rq, the symbol file
will be \*(lqprogs.sym\*(rq.
.TP .TP
.B short\-circuit .B short\-circuit
Generate short circuit code for logical operators (\fB&&\fP and \fB||\fP). For 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 \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 code for \fBB\fP will not be executed. Similar for \fBA || B\fP, but if
true, the expression is known to be true and the code for \fBB\fP will not be \fBA\fP is true, the expression is known to be true and the code for \fBB\fP
executed. Defaults to off for traditional and on for advanced. will not be executed. Defaults to off for traditional mode, and on for advanced
mode.
.TP .TP
.B fast\-float .B fast\-float
Use float values directly in if statements. Defaults to on, always on for Use float values directly in \*(lqif\*(rq statements. Defaults to on. This
version 6 progs. option is always enabled when using version 6 progs.
.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)
@ -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 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 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 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 .TP
.B none .B none
Silences all notice messages. Silences all notice messages.
@ -219,19 +221,19 @@ Promote notices to warnings. If warnings are being treated as errors, so will
notices. notices.
.SH "CPP NAME" .SH "CPP NAME"
When preprocessing source files, \fBqfcc\fP calls \fBcpp\fP (the C 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 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 incorrectly for your operating system. If the latter is the case, please
report the details (operating system, detection methods, correct execution report the details (operating system, detection methods, correct execution
specification). The base default execution spec (on most Linux systems) is 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. \fBcpp %d -o %o %i\fP. This spec is similar in concept to a \fBprintf\fP
The name of the program may be either absolute (eg \fB/lib/cpp\fP) or 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: relative as the \fBPATH\fB will be searched. Available substitutions:
.TP .TP
.B %d .B %d
Mainly for defines (-D, -U and -I) but %d will be replaced by all \fBcpp\fP Mainly for defines (\-D, \-U and \-I) but \fB%d\fP will be replaced by all
options that \fBqfcc\fP will be passing. \fBcpp\fP options that \fBqfcc\fP will be passing.
.TP .TP
.B %o .B %o
This will be replaced by the output file path. Could be either absolute or 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 .TP
.B Where did the name Ruamoko come from? .B Where did the name Ruamoko come from?
In Maori mythology, Ruamoko is the youngest child of Ranginui, the 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 volcanoes and earthquakes \fB(Quake, get it?)\fP. For more information, see
the Web site at <\fBhttp://maori.com/kmst1.htm\fP>. the Web site at <\fBhttp://maori.com/kmst1.htm\fP>.
.TP .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 \*(lqice ice baby\*(rq is QuakeForge-speak for \*(lqInternal Compiler
means there's a bug in qfcc, so please report it to the team. Error\*(rq. It usually means there's a bug in \fBqfcc\fP, so please report it
to the team.
.TP .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 The compiler doesn't like being treated like a slab of beef. Seriously, the