mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-27 06:34:11 +00:00
132 lines
4.3 KiB
Groff
132 lines
4.3 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 not a variable, but 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 "FAQ"
|
|
.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.
|
|
|
|
.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
|
|
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
|
|
it not to do that by passing the
|
|
.B cow
|
|
option to \fB--code\fP, so it has its revenge by mooing out a warning. Or
|
|
something like that.
|
|
.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.
|