GPC is a command-line compiler, i.e., to compile a program you have
to invoke gpc
passing it the name of the file you want to
compile, plus options.
GPC supports all command-line options that GCC knows, except for many preprocessor options. For a complete reference and descriptions of all options, see GCC Command Options. Below, you will find a list of the additional options that GPC supports, and a list of GPC's most important options (including some of those supported by GCC as well).
You can mix options and file names on the command line. For the most
part, the order doesn't matter. Order does matter, e.g., when you
use several options of the same kind; for example, if you specify
-L
more than once, the directories are searched in the order
specified. Note: Since many options have multiletter names;
multiple single-letter options may not be grouped as is
possible with many other programs: -dr
is very different from
-d -r
.
Many options have long names starting with --
or, completely
equivalent -f
. E.g., --mixed-comments
is the same as
-fmixed-comments
. Some options tell GPC when to give
warnings, i.e. diagnostic messages that report constructs which are
not inherently erroneous but which are risky or suggest there may
have been an error. Those options start with -W
.
Most GPC specific options can also be changed during one compilation
by using compiler directives in the source, e.g. {$X+}
or {$extended-syntax}
for --extended-syntax
(see Compiler Directives).
GPC understands the same environment variables GCC does
(see Environment Variables Affecting GCC).
In addition, GPC recognizes GPC_EXEC_PREFIX
with the same
meaning that GCC_EXEC_PREFIX
has to GCC. GPC also recognizes
GCC_EXEC_PREFIX
, but GPC_EXEC_PREFIX
takes precedence.
Some of the long options (e.g., --unit-path
) take an
argument. This argument is separated with a =
sign, e.g.:
--unit-path=/home/foo/units