quakeforge/tools/qfcc/doc/man/qfcc.1
2001-08-31 16:43:26 +00:00

117 lines
3.7 KiB
Groff

.\" hey, Emacs: -*- nroff -*-
.\" qfcc is free software; you can redistribute it and/or modify
.\" it under the terms of the GNU General Public License as published by
.\" the Free Software Foundation; either version 2 of the License, or
.\" (at your option) any later version.
.\"
.\" This program is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with this program; see the file COPYING. If not, write to
.\" the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
.\"
.TH QFCC 1 "February 21, 2001" QuakeForge QuakeForge\ Developer\'s\ Manual
.\" Please update the above date whenever this man page is modified.
.\"
.\" Some roff macros, for reference:
.\" .nh disable hyphenation
.\" .hy enable hyphenation
.\" .ad l left justify
.\" .ad b justify to both left and right margins (default)
.\" .nf disable filling
.\" .fi enable filling
.\" .br insert line break
.\" .sp <n> insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
qfcc \- The QuakeForge Code Compiler
.SH SYNOPSIS
.B qfcc
.RI [ options ]
.SH DESCRIPTION
\fBqfcc\fP compiles GameC source into a form that the QuakeForge server can
understand.
.PP
.SH OPTIONS
\fBqfcc\fP takes the following arguments:
.TP
.B \-s, \-\-source DIR
look for progs.src in DIR instead of the current directory.
.TP
.B \-q
Inhibit some of qfcc's normal output.
.TP
.B \-\-quiet LEVEL
Set quiet level to LEVEL. 1 is equivalent to \-q, 2 is silence.
.TP
.B \-g, \-\-debug
Output symbol information for the QuakeForge server's built-in debugger.
.TP
.B \-\-code OPTION,...
Set code generation options. See
.B
CODE GENERATION OPTIONS
for details.
.TP
.B \-\-warn OPTION,...
Set warning options. See
.B
WARNING OPTIONS
for details.
.TP
.B \-h, \-\-help
Show summary of options.
.TP
.B \-V, \-\-version
Show the version of qfcc.
.SH "CODE GENERATION OPTIONS"
The following options are valid for \fBqfcc\fP's
.B \-\-code
argument:
.TP
.B cow
Allow assignment to initialized globals. In QuakeC, a global that has been
initialized to a value is supposed to be treated like a named constant. However,
.B qcc
never really enforced this. The
.B cow
option allows
.B qfcc
to gracefully cope with QuakeC source that assigns values to
initialized globals in this manner. (also known as "copy on write" -- never mind
the bovine connotations)
.TP
.B v6only
Restrict the compiler to only version 6 progs (original Quake/QuakeWorld)
features. This means that the compiled data file should be able to run on older
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
string manipulation support).
.SH "WARNING OPTIONS"
The following options are valid for \fBqfcc\fP's
.B \-\-warn
argument:
.TP
.B error
Promote warnings to errors. This works just like \fBgcc\fP's
.B -Werror
argument.
.TP
.B undef-functions
Emit a warning when a function is called, but has not yet been defined.
.TP
.B vararg-integer
Emit a warning when a function that takes a variable number of arguments is
passed a constant of an integer type.
.SH "FILES"
progs.src
.SH "SEE ALSO"
.BR quakeforge (1)
.SH AUTHORS
The original \fBqcc\fP program was written by Id Software, Inc. The members of
the QuakeForge Project have modified it to work with extensions to the QuakeC
language. To minimize confusion, the name of the language compiled by \fBqfcc\fP
is called GameC.