ppc386 (1)
Free Pascal Compiler (FPC) binary, name derived from Portable Pascal Compiler
SYNOPSIS
DESCRIPTION
This binary is the main binary of the
Free Pascal Compiler (FPC)
which is a
Turbo Pascal
and
Delphi (2.0) compatible
standalone (non GCC frontend) multitarget Pascal compiler.
The compiler uses
LD (1)
and can use
AS (1)
(see parameter -Aas, but also has its own binary object writer.
The current main targets are
Go32V2
(Dos DJGPP extender),
Linux,
OS/2
and
Win32.
The other targets (M68K compilers for Atari and Amiga) are based on older
versions of the compiler.
This manpage is meant for quick-reference only. FPC comes with a great (600+ pages)
manual, which is updated constantly, while this man page can be out of date.
Version number
Right now the compiler uses versionnumbers like 0.99.12 and 0.99.13. After
the 1.0 release this will change to 1.0 and 1.1. Both version naming types have
in common that if the last number is even (0.99.12, 1.0), it is stable, and the last number odd
is a dialy changing development version.(0.99.13, 1.1) just like the kernel.
Fixes to releases will be named 0.99.12-x with x a number (e.g. 0.99.12-1)
Version 0.99.5 however is a stable release. It was made before the even/odd version
naming system was introduced.
Usage
The compilation proces is started by typing
ppc386
followed by a sourcefile name (normally with .pas or .pp extension). Before processing the actual processing of the source file,
ppc386.cfg (5)
the configuration file of the compiler is read which contains the location of the
RTL, other packages (API, FCL, FreeVision), and optionally default values for some
switches. See the separate manpage of
ppc386.cfg (5)
for more information.
Options
General options
if you specify this option, the compiler outputs a list of all options,
and exits after that.
idem as -h, but waiting after every screenfull for the enter key.
This option tells the compiler to print the copyright information.
You can give it an option, as -ixxx} where "xxx" can be one of the
following:
Returns the compiler date.
Returns the compiler version.
Returns the compiler processor.
Returns the target Processor.
This option tells the compiler to print the
FPC
logo on standard output. It also gives you the
FPC
version number.
Tells the compiler not to read the configuration file
ppc386.cfg (5)
Options for getting feedback
Be verbose. "xxx" is a combination of the following:
Tells the compiler to show only errors. This option is on by default.
Tells the compiler to show some general information.
Tells the compiler to issue warnings.
Tells the compiler to issue notes.
Tells the compiler to issue hints.
Tells the compiler to show the line numbers as it processes a
file. Numbers are shown per 100.
Tells the compiler to print the names of the files it opens.
Tells the compiler to print the names of the files it tries
to open.
Tells the compiler to print the names of procedures and
functions as it is processing them.
Tells the compiler to warn you when it processes a
conditional.
Tells the compiler to write which macros are defined.
Tells the compiler to write other debugging info.
Tells the compiler to write all possible info. (this is the
same as specifying all options)
Tells the compiler to write no messages. This is useful when
you want to override the default setting in the configuration file.
Tells the compiler to show all procedure declarations if an
overloaded function error occurs.
Tells the compiler to output some executable info (for Win32
platform only).
Rhide/GCC compatibility mode: formats the error differently, so they
are understood by RHIDE.
Options concerning files and directories
"xxx" specifies the directory where thc ompiler can find the executables
as (the assembler) and ld (the compiler).
This option tells the compiler to write errors, etc. to
the file "xxx".
(linux only, obsolete) "xxx" specifies the path where the compiler
can find the
GNU C
library. This is superseded by the
-Fl
option.
adds "xxx" to the path where the compiler searches for
its include files.
Adds "xxx" to the library searching path, and is passe to the linker.
( Linux only) Tells the compiler to use "xxx" as the
dynamic linker. Default this is /lib/ld-linux.so.2, or
lib/ld-linux.so.1, depending on which one is found.
Adds "xxx" to the object file path. This path is used
when looking for files that need to be linked in.
"xxx" specifies the file which contain the compiler
messages. Default the compiler ahs built-in messages. Specifying this option
will override the default messages.
Idem as
-Up
Add "xxx" to the object path.
Tells the compiler to write units in directory "xxx" instead of the current
directory.
Add "xxx" to the include file search path.
This path is used when looking for include files.
uses pipes instead of files when assembling. This may speed up
the compiler on OS/2 and Linux. Only with assemblers (such as
GNU AS
that support piping..
Tells the compiler to add "xxx" to the path where to find
units.
By default, the compiler only searches for units in the current directory
and the directory where the compiler itself resides. This option tells the
compiler also to look in the directory "xxx."
for more information on these options, see also the programmers manual.
Tells the compiler not to delete the assembler file.
This also counts for the (possibly) generated batch script.
Tells the compiler to include the sourcecode lines
in the assembler file as comments. This feature is still experimental, and
should be used with caution.
specifies what kind of assembler should be generated . Here
"xxx" is one of the following :
A unix .o (object) file, using
GNU AS
a coff file using the
nasm
assembler.
a ELF32 file (LINUX only) using the
nasm
assembler.
a obj file using the
nasm
assembler.
An obj file using the Microsoft
masm
assembler.
An obj file using the Borland
tasm
assembler.
Reserves "xxx" bytes heap. "xxx" shoul be between 1024 and 67107840.
Generate Input/Output checking code.
Generate Integer overflow checking code.
Generate Range checking code.
generate stack checking code.
Use smartlinking when compiling and linking units.
Define the symbol name "xxx". This can be used
to conditionally compile parts of your code.
Generate debugging information for debugging with
GDB
generate debugging info for dbx.
use the heaptrc unit (see the units part of the FPC manual).
Tells the compiler to use "xxx" as the name of the output
file (executable). Only with programs.
Generate profiler code for gprof.
Tells the compiler not to call the assembler and linker.
Instead, the compiler writes a script, PPAS.BAT under DOS, or
ppas.sh under Linux, which can then be executed to produce an
executable.
Specifies the target operating system. "xxx" can be one of the following:
DOS and version 1 of the DJ DELORIE extender (no longer maintained).
DOS and version 2 of the DJ DELORIE extender.
OS/2 (2.x) (this is still under development).
undefine the symbol "xxx". This is the opposite
of the -d option.
Executable options. These tell the compiler what
kind of executable should be generated. the parameter "x"
can be one of the following:
(Linux only) Link with the C library. You should only use this when
you start to port c to another operating system.
Link with dynamic libraries (defines the FPC_LINK_DYNAMIC symbol)
Strip the symbols from the executable.
Link with static libraries (defines th FPC_LINK_STATIC symbol)
Options concerning the sources (language options)
for more information on these options, see also Programmers Manual
Specifies what assembler you use in your "asm" assembler code
blocks. Here "xxx" is one of the following:
Asm blocks contain AT&T assembler.
Asm blocks contain Intel assembler.
Asm blocks should be copied as-is in the assembler
file.
Switch on Delphi 2 extensions.
Support C-style operators, i.e. *=, +=, /= and -=.
tells the compiler to dispose asmlists. This uses less memory,
but is slower.
The compiler stops after the first error. Normally,
the compiler tries to continue compiling after an error, until 50 errors are
reached, or a fatal error is reached, and then it stops. With this switch,
the compiler will stop after the first error.
Support the label and goto commands.
Support C++ style INLINE.
Try to be Borland TP 7.0 compatible (no function
overloading etc.).
Try to be
GPC (GNU Pascal Compiler)
compatible.
The name of constructors must be "init", and the
name of destructors should be "done".
Allow the "static" keyword in objects.
Do not check the unit name. Normally, the unit name
is the same as the filename. This option allows both to be different.
Compile a system unit. This option causes the
compiler to define only some very basic types.
Acknowledgements
The manual (on which the manpage is based) was mainly written by Michael van Canneyt.
Questions/corrections can be mailed to fpc-devel@vekoll.saturnus.vein.hu
Also thanks to the rest of the FPC development team.
SEE ALSO
|
|