QFCC(1)

NAME
qfcc - The QuakeForge Code Compiler

SYNOPSIS
qfcc [options]

DESCRIPTION
qfcc compiles GameC source into a form that the QuakeForge server can understand.

OPTIONS
qfcc takes the following arguments:

-s, --source DIR
    look for progs.src in DIR instead of the current directory.

-q  Inhibit some of qfcc's normal output.

--quiet LEVEL
    Set quiet level to LEVEL. 1 is equivalent to -q, 2 is silence.

-g, --debug
    Output symbol information for the QuakeForge server's built-in debugger.

--code OPTION,...
    Set code generation options. See CODE GENERATION OPTIONS for details.

--warn OPTION,...
    Set warning options. See WARNING OPTIONS for details.

-h, --help
    Show summary of options.

-V, --version
    Show the version of qfcc.

CODE GENERATION OPTIONS
The following options are valid for qfcc's --code argument:

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, qcc never really enforced this. The cow option allows 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)

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).

WARNING OPTIONS
The following options are valid for qfcc's --warn argument:

error
    Promote warnings to errors. This works just like gcc's -Werror argument.

undef-functions
    Emit a warning when a function is called, but has not yet been defined.

vararg-integer
    Emit a warning when a function that takes a variable number of arguments is passed a constant of an integer type.

FILES
progs.src

SEE ALSO
quakeforge(1)

AUTHORS
The original qcc 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 qfcc is called GameC.