mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-24 10:29:14 +02:00
+ Moved to subdirectories for easier packing
This commit is contained in:
parent
ff5c5af14f
commit
1973473209
60
install/man/man1/delp.1
Normal file
60
install/man/man1/delp.1
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
.TH delp 1 "12 Dec 1999" FreePascal "Free Pascal file deletion tool"
|
||||||
|
.SH NAME
|
||||||
|
delp \- The Free Pascal file deletion tool.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.B delp
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.B delp
|
||||||
|
deletes files in the current directory that are left over from a Free Pascal
|
||||||
|
compilation process. It knows what files can be produced by the compile
|
||||||
|
steps and deletes any such files it finds. At the end it gives a summary of
|
||||||
|
the number of files that were deleted, together with the amount of bytes
|
||||||
|
freed by this process.
|
||||||
|
|
||||||
|
.SH USAGE
|
||||||
|
|
||||||
|
.B delp
|
||||||
|
takes no options at this time. It just attempts to delete all known files.
|
||||||
|
|
||||||
|
.SH FILE TYPES:
|
||||||
|
The following file types are recognized by the program and are deleted:
|
||||||
|
.TP
|
||||||
|
.I *.exe
|
||||||
|
Executable files under dos and windows.
|
||||||
|
.TP
|
||||||
|
.I *.so *.dll
|
||||||
|
Shared libraries under linux and Windows.
|
||||||
|
.TP
|
||||||
|
.I *.tpu *.tpp *.tpw *.tr
|
||||||
|
Turbo Pascal compiled units.
|
||||||
|
.TP
|
||||||
|
.I *.log *.bak
|
||||||
|
Backup files and log files.
|
||||||
|
.TP
|
||||||
|
.I *.ppu *.o *.a *.s
|
||||||
|
Compiled units, object files, archives and assembler files created by the
|
||||||
|
Free Pascal compiler on Linux or Dos
|
||||||
|
.TP
|
||||||
|
.I *.ppw *.ow *.aw *.sw
|
||||||
|
Compiled units, object files, archives and assembler files created by the
|
||||||
|
Free Pascal compiler on Windows.
|
||||||
|
.TP
|
||||||
|
.I *.pp1 *.o1 *.a1 *.s1
|
||||||
|
Compiled units, object files, archives and assembler files created by the
|
||||||
|
Free Pascal compiler on the go321v1 platform.
|
||||||
|
.TP
|
||||||
|
.I *.ppo *.oo *.ao *.so
|
||||||
|
Compiled units, object files, archives and assembler files created by the
|
||||||
|
Free Pascal compiler on the OS/2 platform.
|
||||||
|
.TP
|
||||||
|
.I ppas.bat ppas.sh link.res fpcmaked
|
||||||
|
Batch files, link script and makefile utility files.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP
|
||||||
|
.BR fpcmake (1)
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.BR make (1)
|
48
install/man/man1/fpcmake.1
Normal file
48
install/man/man1/fpcmake.1
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
.TH fpcmake 1 "12 Dec 1999" FreePascal "Free Pascal Makefile constructor"
|
||||||
|
.SH NAME
|
||||||
|
fpcmake \- The Free Pascal makefile constuctor program.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.B fpcmake [filename [filename [filename]]]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.B fpcmake
|
||||||
|
reads a
|
||||||
|
.I Makefile.fpc
|
||||||
|
and converts it to a
|
||||||
|
.I Makefile
|
||||||
|
suitable for reading by GNU
|
||||||
|
.I make
|
||||||
|
to compile your projects. It is similar in functionality to GNU
|
||||||
|
.I autoconf
|
||||||
|
or
|
||||||
|
.I Imake
|
||||||
|
for making X projects.
|
||||||
|
|
||||||
|
.SH USAGE
|
||||||
|
|
||||||
|
.B fpcmake
|
||||||
|
accepts filenames of makefile description files as it's command-line
|
||||||
|
arguments. For each of these files it will create a
|
||||||
|
.I Makefile
|
||||||
|
in the same directory where the file is located, overwriting any other
|
||||||
|
existing file.
|
||||||
|
|
||||||
|
If no options are given, it just attempts to read the file
|
||||||
|
.I Makefile.fpc
|
||||||
|
in the current directory and tries to construct a Makefile from it.
|
||||||
|
any previously existing
|
||||||
|
.I Makefile
|
||||||
|
will be erased. See
|
||||||
|
.BR fpcmake (5)
|
||||||
|
for a description of the format of the
|
||||||
|
.I Makefile.fpc
|
||||||
|
file.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP
|
||||||
|
.BR fpcmake (5)
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.BR make (1)
|
232
install/man/man1/h2pas.1
Normal file
232
install/man/man1/h2pas.1
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
.TH h2pas 1 "12 Dec 1999" FreePascal "Free Pascal C header conversion utility"
|
||||||
|
.SH NAME
|
||||||
|
h2pas \- The C header to pascal unit conversion program.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.B h2pas
|
||||||
|
.I "[options] filename"
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.B h2pas
|
||||||
|
attempts to convert a C header file to a pascal unit.
|
||||||
|
it can handle most C constructs that one finds in a C header file,
|
||||||
|
and attempts to translate them to their pascal counterparts. see the
|
||||||
|
.B CONSTRUCTS
|
||||||
|
section for a full description of what the translator can handle.
|
||||||
|
|
||||||
|
.SH USAGE
|
||||||
|
|
||||||
|
H2pas is a command-line tool that translates a C header file to a spascal
|
||||||
|
unit. It reads the C header file and translates the C declarations to
|
||||||
|
equivalent pascal declarations that can be used to access code written in C.
|
||||||
|
|
||||||
|
The output of the h2pas program is written to a file with the same name as
|
||||||
|
the C header file that was used as input, but with the extension \fI.pp\fP.
|
||||||
|
The output file that h2pas creates can be customized in a number of ways by
|
||||||
|
means of many options.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
|
||||||
|
The output of
|
||||||
|
.B h2pas
|
||||||
|
can be controlled with the following options:
|
||||||
|
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-d
|
||||||
|
use
|
||||||
|
.I external;
|
||||||
|
for all procedure and function declarations.
|
||||||
|
.TP
|
||||||
|
.B \-D
|
||||||
|
use
|
||||||
|
.B external
|
||||||
|
.I libname
|
||||||
|
.B name
|
||||||
|
.I 'func\_name'
|
||||||
|
for function and procedure declarations.
|
||||||
|
.TP
|
||||||
|
.B \-e
|
||||||
|
Emit a series of constants instead of an enumeration type for the C
|
||||||
|
.I enum
|
||||||
|
construct.
|
||||||
|
.TP
|
||||||
|
.B \-i
|
||||||
|
create an include file instead of a unit (omits the unit header).
|
||||||
|
.TP
|
||||||
|
.BI \-l " libname"
|
||||||
|
specify the library name for external function declarations.
|
||||||
|
.TP
|
||||||
|
.BI \-o " outfile"
|
||||||
|
Specify the output file name. Default is the input file name with
|
||||||
|
the extension replaced by
|
||||||
|
.I ".pp"
|
||||||
|
"."
|
||||||
|
.TP
|
||||||
|
.B \-p
|
||||||
|
use the letter
|
||||||
|
.B P
|
||||||
|
in front of pointer type parameters instead of "^".
|
||||||
|
.TP
|
||||||
|
.B \-s
|
||||||
|
Strip comments from the input file. By default comments are converted
|
||||||
|
to comments, but they may be displaced, since a comment is handled by the
|
||||||
|
scanner.
|
||||||
|
.TP
|
||||||
|
.B \-t
|
||||||
|
prepend typedef type names with the letter
|
||||||
|
.B T
|
||||||
|
(used to follow Borland's convention that all types should be defined with
|
||||||
|
T).
|
||||||
|
.TP
|
||||||
|
.B \-v
|
||||||
|
replace pointer parameters by call by reference parameters.
|
||||||
|
Use with care because some calls can expect a NIL pointer.
|
||||||
|
.TP
|
||||||
|
.B \-w
|
||||||
|
Header file is a win32 header file (adds support for some special macros).
|
||||||
|
.TP
|
||||||
|
.B \-x
|
||||||
|
handle SYS\_TRAP of the PalmOS header files.
|
||||||
|
|
||||||
|
.SH CONSTRUCTS
|
||||||
|
The following C declarations and statements are recognized:
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B defines
|
||||||
|
defines are changed into pascal constants if they are simple defines.
|
||||||
|
macros are changed - wherever possible to functions; however the arguments
|
||||||
|
are all integers, so these must be changed manually. Simple expressions
|
||||||
|
in define staments are recognized, as are most arithmetic operators:
|
||||||
|
addition, substraction, multiplication, division, logical operators,
|
||||||
|
comparision operators, shift operators. The C construct ( A ? B : C)
|
||||||
|
is also recognized and translated to a pascal construct with an IF
|
||||||
|
statement (this is buggy, however).
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B "preprocessor statements"
|
||||||
|
the conditional preprocessing commands are recognized and translated into
|
||||||
|
equivalent pascal compiler directives. The special
|
||||||
|
.B "#ifdef \_\_cplusplus"
|
||||||
|
is also recognized and removed.
|
||||||
|
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B typedef
|
||||||
|
A typedef statement is changed into a pascal type statement. The following
|
||||||
|
basic types are recognized:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I char
|
||||||
|
changed to char.
|
||||||
|
.TP
|
||||||
|
.I float
|
||||||
|
changed to real (=double in free pascal).
|
||||||
|
.TP
|
||||||
|
.I int
|
||||||
|
changed to longint.
|
||||||
|
.TP
|
||||||
|
.I long
|
||||||
|
changed to longint.
|
||||||
|
.TP
|
||||||
|
.I "long int"
|
||||||
|
changed to longint.
|
||||||
|
.TP
|
||||||
|
.I short
|
||||||
|
changed to integer.
|
||||||
|
.TP
|
||||||
|
.I unsigned
|
||||||
|
changed to cardinal.
|
||||||
|
.TP
|
||||||
|
.I "unsigned char"
|
||||||
|
changed to byte.
|
||||||
|
.TP
|
||||||
|
.I "unsigned int"
|
||||||
|
changed to cardinal.
|
||||||
|
.TP
|
||||||
|
.I "unsigned long int"
|
||||||
|
changed to cardinal.
|
||||||
|
.TP
|
||||||
|
.I "unsigned short"
|
||||||
|
changed to word.
|
||||||
|
.TP
|
||||||
|
.I void
|
||||||
|
ignored.
|
||||||
|
.RE
|
||||||
|
These types are also changed if they appear in the arguments of a function
|
||||||
|
or procedure.
|
||||||
|
.TP
|
||||||
|
.B "functions and procedures"
|
||||||
|
functions and procedures are translated as well; pointer types may be
|
||||||
|
changed to call by reference arguments (using the
|
||||||
|
.B var
|
||||||
|
argument) by using the
|
||||||
|
.B \-p
|
||||||
|
command line argument. functions that have a variable number of arguments
|
||||||
|
are changed to a function with an
|
||||||
|
.B "array of const"
|
||||||
|
argument.
|
||||||
|
.TP
|
||||||
|
.B specifiers
|
||||||
|
the
|
||||||
|
.I extern
|
||||||
|
specifier is recognized; however it is ignored. the
|
||||||
|
.I packed
|
||||||
|
specifier is also recognised and changed with the
|
||||||
|
.I PACKRECORDS
|
||||||
|
directive. The
|
||||||
|
.I const
|
||||||
|
specifier is also recognized, but is ignored.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B modifiers
|
||||||
|
If the
|
||||||
|
.B \-w
|
||||||
|
option is specified, then the following modifiers are recognized:
|
||||||
|
.I STDCALL
|
||||||
|
,
|
||||||
|
.I CDECL
|
||||||
|
,
|
||||||
|
.I CALLBACK
|
||||||
|
,
|
||||||
|
.I PASCAL
|
||||||
|
,
|
||||||
|
.I WINAPI
|
||||||
|
,
|
||||||
|
.I APIENTRY
|
||||||
|
,
|
||||||
|
.I WINGDIAPI
|
||||||
|
as defined in the win32 headers.
|
||||||
|
If additionally the
|
||||||
|
.B \-x
|
||||||
|
option is specified then the
|
||||||
|
.I SYS\_TRAP
|
||||||
|
specifier is also recognized.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B enums
|
||||||
|
enum constructs are changed into enumeration types; bear in mind that in C
|
||||||
|
enumeration types can have values assigned to them; Free Pascal also allows
|
||||||
|
this to a certain degree. If you know that values are assigned to enums, it
|
||||||
|
is best to use the
|
||||||
|
.B \-e
|
||||||
|
option to change the enus to a series of integer constants.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B unions
|
||||||
|
unions are changed to variant records.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B structs
|
||||||
|
are changed to pascal records, with
|
||||||
|
.B C
|
||||||
|
packing.
|
||||||
|
|
||||||
|
.IP
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.BR ppumove (1)
|
568
install/man/man1/ppc386.1
Normal file
568
install/man/man1/ppc386.1
Normal file
@ -0,0 +1,568 @@
|
|||||||
|
.TH ppc386 1 "30 may 1999" FPC "Free Pascal Compiler"
|
||||||
|
.SH NAME
|
||||||
|
ppc386 \- Free Pascal Compiler (FPC) binary, name derived
|
||||||
|
from Portable Pascal Compiler
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.B "ppc386 [options] [sourcefile]"
|
||||||
|
.BR
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
This binary is the main binary of the
|
||||||
|
.I Free Pascal Compiler (FPC)
|
||||||
|
which is a
|
||||||
|
.I Turbo Pascal
|
||||||
|
and
|
||||||
|
.I Delphi (2.0)
|
||||||
|
compatible standalone (non GCC frontend) multitarget Pascal compiler.
|
||||||
|
.PP
|
||||||
|
The compiler uses
|
||||||
|
.BR LD (1)
|
||||||
|
and can use
|
||||||
|
.BR AS (1)
|
||||||
|
(see parameter \-Aas, but also has its own binary object writer.
|
||||||
|
.PP
|
||||||
|
The current main targets are
|
||||||
|
.I Go32V2
|
||||||
|
(Dos DJGPP extender),
|
||||||
|
.I Linux,
|
||||||
|
.I OS/2
|
||||||
|
and
|
||||||
|
.I Win32.
|
||||||
|
The other targets (M68K compilers for Atari and Amiga) are based on older
|
||||||
|
versions of the compiler.
|
||||||
|
.PP
|
||||||
|
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.
|
||||||
|
|
||||||
|
.SH 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)
|
||||||
|
.PP
|
||||||
|
Version 0.99.5 however is a stable release. It was made before the even/odd version
|
||||||
|
naming system was introduced.
|
||||||
|
|
||||||
|
.SH Usage
|
||||||
|
|
||||||
|
The compilation proces is started by typing
|
||||||
|
.I ppc386
|
||||||
|
followed by a sourcefile name (normally with .pas or .pp extension). Before processing the actual processing of the source file,
|
||||||
|
.BR 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
|
||||||
|
.BR ppc386.cfg (5)
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
.SH Options
|
||||||
|
|
||||||
|
.PP
|
||||||
|
General options
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI \-h
|
||||||
|
if you specify this option, the compiler outputs a list of all options,
|
||||||
|
and exits after that.
|
||||||
|
.TP
|
||||||
|
.BI \-?
|
||||||
|
idem as \-h, but waiting after every screenfull for the enter key.
|
||||||
|
.TP
|
||||||
|
.BI \-i
|
||||||
|
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:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I D
|
||||||
|
Returns the compiler date.
|
||||||
|
.TP
|
||||||
|
.I V
|
||||||
|
Returns the compiler version.
|
||||||
|
.TP
|
||||||
|
.I SO
|
||||||
|
Returns the compiler OS.
|
||||||
|
.TP
|
||||||
|
.I SP
|
||||||
|
Returns the compiler processor.
|
||||||
|
.TP
|
||||||
|
.I TO
|
||||||
|
Returns the target OS.
|
||||||
|
.TP
|
||||||
|
.I TP
|
||||||
|
Returns the target Processor.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.I -l
|
||||||
|
This option tells the compiler to print the
|
||||||
|
.I FPC
|
||||||
|
logo on standard output. It also gives you the
|
||||||
|
.I FPC
|
||||||
|
version number.
|
||||||
|
.TP
|
||||||
|
.I -n
|
||||||
|
Tells the compiler not to read the configuration file
|
||||||
|
.BR ppc386.cfg (5)
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Options for getting feedback
|
||||||
|
.TP
|
||||||
|
.BI \-v xxx
|
||||||
|
Be verbose. "xxx" is a combination of the following:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I e
|
||||||
|
Tells the compiler to show only errors. This option is on by default.
|
||||||
|
.TP
|
||||||
|
.I i
|
||||||
|
Tells the compiler to show some general information.
|
||||||
|
.TP
|
||||||
|
.I w
|
||||||
|
Tells the compiler to issue warnings.
|
||||||
|
.TP
|
||||||
|
.I n
|
||||||
|
Tells the compiler to issue notes.
|
||||||
|
.TP
|
||||||
|
.I h
|
||||||
|
Tells the compiler to issue hints.
|
||||||
|
.TP
|
||||||
|
.I l
|
||||||
|
Tells the compiler to show the line numbers as it processes a
|
||||||
|
file. Numbers are shown per 100.
|
||||||
|
.TP
|
||||||
|
.I u
|
||||||
|
Tells the compiler to print the names of the files it opens.
|
||||||
|
.TP
|
||||||
|
.I t
|
||||||
|
Tells the compiler to print the names of the files it tries
|
||||||
|
to open.
|
||||||
|
.TP
|
||||||
|
.I p
|
||||||
|
Tells the compiler to print the names of procedures and
|
||||||
|
functions as it is processing them.
|
||||||
|
.TP
|
||||||
|
.I c
|
||||||
|
Tells the compiler to warn you when it processes a
|
||||||
|
conditional.
|
||||||
|
.TP
|
||||||
|
.I m
|
||||||
|
Tells the compiler to write which macros are defined.
|
||||||
|
.TP
|
||||||
|
.I d
|
||||||
|
Tells the compiler to write other debugging info.
|
||||||
|
.TP
|
||||||
|
.I a
|
||||||
|
Tells the compiler to write all possible info. (this is the
|
||||||
|
same as specifying all options)
|
||||||
|
.TP
|
||||||
|
.I 0
|
||||||
|
Tells the compiler to write no messages. This is useful when
|
||||||
|
you want to override the default setting in the configuration file.
|
||||||
|
.TP
|
||||||
|
.I b
|
||||||
|
Tells the compiler to show all procedure declarations if an
|
||||||
|
overloaded function error occurs.
|
||||||
|
.TP
|
||||||
|
.I x
|
||||||
|
Tells the compiler to output some executable info (for Win32
|
||||||
|
platform only).
|
||||||
|
.TP
|
||||||
|
.I r
|
||||||
|
Rhide/GCC compatibility mode: formats the error differently, so they
|
||||||
|
are understood by RHIDE.
|
||||||
|
.RE
|
||||||
|
.PP
|
||||||
|
Options concerning files and directories
|
||||||
|
.TP
|
||||||
|
.BI -e xxx
|
||||||
|
tells the compiler that
|
||||||
|
.I xxx
|
||||||
|
is the directory where it can find the executables as (the assembler) and
|
||||||
|
ld (the linker).
|
||||||
|
.TP
|
||||||
|
.BI \-FD
|
||||||
|
same as
|
||||||
|
.I \-e.
|
||||||
|
.TP
|
||||||
|
.BI \-Fe xxx
|
||||||
|
This option tells the compiler to write errors, etc. to
|
||||||
|
the file
|
||||||
|
.I xxx
|
||||||
|
.
|
||||||
|
.TP
|
||||||
|
.BI \-Fg xxx
|
||||||
|
(linux only, obsolete)
|
||||||
|
.I xxx
|
||||||
|
specifies the path where the compiler can find the
|
||||||
|
.I GNU C
|
||||||
|
library. This is superseded by the
|
||||||
|
.I \-Fl
|
||||||
|
option.
|
||||||
|
.TP
|
||||||
|
.BI \-Fi xxx
|
||||||
|
adds
|
||||||
|
.I xxx
|
||||||
|
to the path where the compiler searches for its include files.
|
||||||
|
.TP
|
||||||
|
.BI \-Fl xxx
|
||||||
|
Adds
|
||||||
|
.I xxx
|
||||||
|
to the library searching path, and is passe to the linker.
|
||||||
|
.TP
|
||||||
|
.BI \-FL xxx
|
||||||
|
( Linux only) Tells the compiler to use
|
||||||
|
.I 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.
|
||||||
|
.TP
|
||||||
|
.BI \-Fo xxx
|
||||||
|
Adds
|
||||||
|
.I xxx
|
||||||
|
to the object file path. This path is used
|
||||||
|
when looking for files that need to be linked in.
|
||||||
|
.TP
|
||||||
|
.BI \-Fr xxx
|
||||||
|
tells the compiler that
|
||||||
|
.I xxx
|
||||||
|
contains the compiler messages. Default the compiler has built-in
|
||||||
|
messages. Specifying this option will override the default messages.
|
||||||
|
(useful if you want to use a language other than the default language).
|
||||||
|
.TP
|
||||||
|
.BI \-Fu xxx
|
||||||
|
Adds
|
||||||
|
.I xxx
|
||||||
|
to the unit path.
|
||||||
|
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
|
||||||
|
.I xxx
|
||||||
|
\.
|
||||||
|
.TP
|
||||||
|
.BI \-FU xxx
|
||||||
|
Tells the compiler to write units in directory
|
||||||
|
.I xxx
|
||||||
|
instead of the current directory.
|
||||||
|
.TP
|
||||||
|
.BI \-I xxx
|
||||||
|
Add
|
||||||
|
.I xxx
|
||||||
|
to the include file search path.
|
||||||
|
This path is used when looking for include files.
|
||||||
|
.TP
|
||||||
|
.BI \-P
|
||||||
|
uses pipes instead of files when assembling. This may speed up
|
||||||
|
the compiler on OS/2 and Linux. Only with assemblers (such as
|
||||||
|
.I GNU AS
|
||||||
|
) that support piping.
|
||||||
|
.TP
|
||||||
|
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."
|
||||||
|
|
||||||
|
.PP Options controlling the kind of output
|
||||||
|
for more information on these options, see also the programmers manual.
|
||||||
|
.TP
|
||||||
|
.BI \-a
|
||||||
|
Tells the compiler not to delete the assembler file.
|
||||||
|
This also counts for the (possibly) generated batch script.
|
||||||
|
.TP
|
||||||
|
.BI \-al
|
||||||
|
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.
|
||||||
|
.TP
|
||||||
|
.BI -A xxx
|
||||||
|
specifies what kind of assembler should be generated . Here
|
||||||
|
.I xxx
|
||||||
|
is one of the following :
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I AS
|
||||||
|
A unix .o (object) file, using
|
||||||
|
.I GNU AS
|
||||||
|
.TP
|
||||||
|
.I nasmcoff
|
||||||
|
a coff file using the
|
||||||
|
.I nasm
|
||||||
|
assembler.
|
||||||
|
.TP
|
||||||
|
.I nasmelf
|
||||||
|
a ELF32 file (LINUX only) using the
|
||||||
|
.I nasm
|
||||||
|
assembler.
|
||||||
|
.TP
|
||||||
|
.I nasmonj
|
||||||
|
a obj file using the
|
||||||
|
.I nasm
|
||||||
|
assembler.
|
||||||
|
.TP
|
||||||
|
.I masm
|
||||||
|
An obj file using the Microsoft
|
||||||
|
.I masm
|
||||||
|
assembler.
|
||||||
|
.TP
|
||||||
|
.I tasm
|
||||||
|
An obj file using the Borland
|
||||||
|
.I tasm
|
||||||
|
assembler.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI \-CD
|
||||||
|
Create dynamic library.
|
||||||
|
.TP
|
||||||
|
.BI \-Ch xxx
|
||||||
|
Reserves
|
||||||
|
.I xxx
|
||||||
|
bytes heap.
|
||||||
|
.I xxx
|
||||||
|
should be between 1024 and 67107840.
|
||||||
|
.TP
|
||||||
|
.BI \-Ci
|
||||||
|
Generate Input/Output checking code.
|
||||||
|
.TP
|
||||||
|
.BI \-Cn
|
||||||
|
Omit the linking stage.
|
||||||
|
.TP
|
||||||
|
.BI \-Co
|
||||||
|
Generate Integer overflow checking code.
|
||||||
|
.TP
|
||||||
|
.BI \-Cr
|
||||||
|
Generate Range checking code.
|
||||||
|
.TP
|
||||||
|
.BI \-Cs xxx
|
||||||
|
Set stack size to
|
||||||
|
.I xxx
|
||||||
|
bytes.
|
||||||
|
.TP
|
||||||
|
.BI \-CS
|
||||||
|
Create static library.
|
||||||
|
.TP
|
||||||
|
.BI \-Ct
|
||||||
|
generate stack checking code.
|
||||||
|
.TP
|
||||||
|
.BI \-Cx
|
||||||
|
Use smartlinking when compiling and linking units.
|
||||||
|
.TP
|
||||||
|
.BI \-d xxx
|
||||||
|
Define the symbol name
|
||||||
|
.I xxx
|
||||||
|
This can be used to conditionally compile parts of your code.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI \-E
|
||||||
|
Same as -Cn.
|
||||||
|
.TP
|
||||||
|
.BI \-g
|
||||||
|
Generate debugging information for debugging with
|
||||||
|
.I GDB
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI \-gg
|
||||||
|
idem as
|
||||||
|
.B -g.
|
||||||
|
.TP
|
||||||
|
.BI \-gd
|
||||||
|
generate debugging info for dbx.
|
||||||
|
.TP
|
||||||
|
.BI \-gh
|
||||||
|
use the heaptrc unit (see the units part of the FPC manual).
|
||||||
|
.TP
|
||||||
|
.BI \-O xxx
|
||||||
|
optimize the compiler's output;
|
||||||
|
.I xxx
|
||||||
|
can have one of the following values :
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I g
|
||||||
|
optimize for size, try to generate smaller code.
|
||||||
|
.TP
|
||||||
|
.I G
|
||||||
|
optimize for time, try to generate faster code (default).
|
||||||
|
.TP
|
||||||
|
.I r
|
||||||
|
keep certain variables in registers (experimental, use with caution).
|
||||||
|
.TP
|
||||||
|
.I u
|
||||||
|
uncertain optimizations
|
||||||
|
.TP
|
||||||
|
.I 1
|
||||||
|
Level 1 optimizations (quick optimizations).
|
||||||
|
.TP
|
||||||
|
.I 2
|
||||||
|
Level 2 optimizations (-O1 plus some slower optimizations).
|
||||||
|
.TP
|
||||||
|
.I 3
|
||||||
|
Level 3 optimizations (-O2 plus -Ou).
|
||||||
|
.TP
|
||||||
|
.I Pn
|
||||||
|
Specify processor : n can be one of
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I 1
|
||||||
|
optimize for 386/486
|
||||||
|
.TP
|
||||||
|
.I 2
|
||||||
|
optimize for Pentium/PentiumMMX (tm)
|
||||||
|
.TP
|
||||||
|
.I 3
|
||||||
|
optimizations for PentiumPro / P-II / Cyrix 6x86 / K6 (tm)
|
||||||
|
.RE
|
||||||
|
|
||||||
|
The exact effect of these effects can be found in the programmers part of the manual.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.BI \-o xxx
|
||||||
|
Tells the compiler to use
|
||||||
|
.I xxx
|
||||||
|
as the name of the output file (executable). Only with programs.
|
||||||
|
.TP
|
||||||
|
.BI \-pg
|
||||||
|
Generate profiler code for gprof.
|
||||||
|
.TP
|
||||||
|
.BI \-s
|
||||||
|
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.
|
||||||
|
.TP
|
||||||
|
.BI \-T xxx
|
||||||
|
Specifies the target operating system.
|
||||||
|
.I xxx
|
||||||
|
can be one of the following:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I GO32V1
|
||||||
|
DOS and version 1 of the DJ DELORIE extender (no longer maintained).
|
||||||
|
.TP
|
||||||
|
.I GO32V2
|
||||||
|
DOS and version 2 of the DJ DELORIE extender.
|
||||||
|
.TP
|
||||||
|
.I LINUX
|
||||||
|
Linux.
|
||||||
|
.TP
|
||||||
|
.I OS2
|
||||||
|
OS/2 (2.x) (this is still under development).
|
||||||
|
.TP
|
||||||
|
.I WIN32
|
||||||
|
Windows 32 bit.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.BI -u xxx
|
||||||
|
undefine the symbol
|
||||||
|
.I xxx
|
||||||
|
\. This is the opposite of the
|
||||||
|
.B \-d
|
||||||
|
option.
|
||||||
|
.TP
|
||||||
|
.BI \-u xxx
|
||||||
|
Undefine symbol
|
||||||
|
.I xxx
|
||||||
|
\.
|
||||||
|
.TP
|
||||||
|
.BI \-X x
|
||||||
|
Executable options. These tell the compiler what
|
||||||
|
kind of executable should be generated. the parameter
|
||||||
|
.I x
|
||||||
|
can be one of the following:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I c
|
||||||
|
(Linux only, obsolete) Link with the C library. You should only use this when
|
||||||
|
you start to port Free Pascal to another operating system.
|
||||||
|
.TP
|
||||||
|
.I D
|
||||||
|
Link with dynamic libraries (defines the FPC_LINK_DYNAMIC symbol)
|
||||||
|
.TP
|
||||||
|
.I s
|
||||||
|
Strip the symbols from the executable.
|
||||||
|
.TP
|
||||||
|
.I S
|
||||||
|
Link with static libraries (defines th FPC_LINK_STATIC symbol)
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Options concerning the sources (language options)
|
||||||
|
for more information on these options, see also Programmers Manual
|
||||||
|
.TP
|
||||||
|
.BI \-R xxx
|
||||||
|
Specifies what assembler you use in your "asm" assembler code
|
||||||
|
blocks. Here
|
||||||
|
.I xxx
|
||||||
|
is one of the following:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I att
|
||||||
|
Asm blocks contain AT&T assembler.
|
||||||
|
.TP
|
||||||
|
.I intel
|
||||||
|
Asm blocks contain Intel assembler.
|
||||||
|
.TP
|
||||||
|
.I direct
|
||||||
|
Asm blocks should be copied as-is in the assembler
|
||||||
|
file.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.BI \-S2
|
||||||
|
Switch on Delphi 2 extensions.
|
||||||
|
.TP
|
||||||
|
.BI \-Sc
|
||||||
|
Support C-style operators, i.e. *=, +=, /= and -=.
|
||||||
|
.TP
|
||||||
|
.BI \-Sd
|
||||||
|
tells the compiler to dispose asmlists. This uses less memory,
|
||||||
|
but is slower.
|
||||||
|
.TP
|
||||||
|
.BI \-Se
|
||||||
|
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.
|
||||||
|
.TP
|
||||||
|
.BI \-Sg
|
||||||
|
Support the label and goto commands.
|
||||||
|
.TP
|
||||||
|
.BI \-Si
|
||||||
|
Support C++ style INLINE.
|
||||||
|
.TP
|
||||||
|
.BI \-Sm
|
||||||
|
Support C-style macros.
|
||||||
|
.TP
|
||||||
|
.BI \-So
|
||||||
|
Try to be Borland TP 7.0 compatible (no function
|
||||||
|
overloading etc.).
|
||||||
|
.TP
|
||||||
|
.BI \-Sp
|
||||||
|
Try to be
|
||||||
|
.I GPC (GNU Pascal Compiler)
|
||||||
|
compatible.
|
||||||
|
.TP
|
||||||
|
.BI \-Ss
|
||||||
|
The name of constructors must be "init", and the
|
||||||
|
name of destructors should be "done".
|
||||||
|
.TP
|
||||||
|
.BI \-St
|
||||||
|
Allow the "static" keyword in objects.
|
||||||
|
.TP
|
||||||
|
.BI \-Un
|
||||||
|
Do not check the unit name. Normally, the unit name
|
||||||
|
is the same as the filename. This option allows both to be different.
|
||||||
|
.TP
|
||||||
|
.BI \-Us
|
||||||
|
Compile a system unit. This option causes the
|
||||||
|
compiler to define only some very basic types.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR ppc386.cfg (5)
|
||||||
|
.BR ppdep (1)
|
||||||
|
.BR ppudump (1)
|
||||||
|
.BR ppumove (1)
|
||||||
|
.BR ptop (1)
|
||||||
|
.BR h2pas (1)
|
||||||
|
.BR ld (1)
|
||||||
|
.BR as (1)
|
||||||
|
|
99
install/man/man1/ppdep.1
Normal file
99
install/man/man1/ppdep.1
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
.TH ppdep 1 "9 June 1999" FreePascal "Free Pascal unit dependency tracking"
|
||||||
|
.SH NAME
|
||||||
|
ppdep \- The FPC Pascal unit dependency tracking program.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
\fBppdep\fP [-DDefine] [-oFile] [-eext] [-V] [-h] [A[call]] file
|
||||||
|
|
||||||
|
.SH Description
|
||||||
|
|
||||||
|
.B ppdep
|
||||||
|
dumps the dependencies of a unit in a format that can be
|
||||||
|
understood by GNU
|
||||||
|
.B make
|
||||||
|
. It writes these dependencies to standard
|
||||||
|
output. It takes care of dependencies both in the interface and
|
||||||
|
implemntation section of the unit, and it can handle conditional defines.
|
||||||
|
|
||||||
|
.SH Usage
|
||||||
|
|
||||||
|
You can invoke
|
||||||
|
.B ppdep
|
||||||
|
with as the only required argument the name of the
|
||||||
|
file (program or unit) whose dependecies you wish to list. You don't need
|
||||||
|
to specify an extension, by default
|
||||||
|
.B .pp
|
||||||
|
is assumed.
|
||||||
|
|
||||||
|
.SH Options
|
||||||
|
|
||||||
|
.B ppdep
|
||||||
|
has several options, which are case insensitive:
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI \-a call
|
||||||
|
This option tells
|
||||||
|
.B ppdep
|
||||||
|
to generate a compiler call for the
|
||||||
|
makefile. The compiler call will be generated for each file that
|
||||||
|
is found in the current directory. If you do no specify an explicit
|
||||||
|
compiler call,
|
||||||
|
.B ppc386
|
||||||
|
is used.
|
||||||
|
.TP
|
||||||
|
.BI \-d keyword
|
||||||
|
This option defines
|
||||||
|
.B keyword
|
||||||
|
that can be used to verify conditional
|
||||||
|
defines.
|
||||||
|
.B ppdep
|
||||||
|
understands conditional defines, you should use this switch if the
|
||||||
|
.I uses
|
||||||
|
clause of the programs or units can contain conditional defines.
|
||||||
|
.TP
|
||||||
|
.BI \-e ext
|
||||||
|
This allows you to specify a different extension for the unit files.
|
||||||
|
By default,
|
||||||
|
.B .ppu
|
||||||
|
is assumed. This extension is written to the
|
||||||
|
makefile.
|
||||||
|
.TP
|
||||||
|
.BI \-f [call]
|
||||||
|
This option tells
|
||||||
|
.B ppdep
|
||||||
|
to generate a compiler call for the
|
||||||
|
makefile. The compiler call will be generated only for the file that
|
||||||
|
was specified on the
|
||||||
|
.B ppdep
|
||||||
|
command line. If you want to generate a
|
||||||
|
compiler call for each file found, use the
|
||||||
|
.I \-a
|
||||||
|
option.
|
||||||
|
If you do no specify an explicit compiler call,
|
||||||
|
.B ppc386
|
||||||
|
is used.
|
||||||
|
.TP
|
||||||
|
.BI \-h
|
||||||
|
Shows a short help screen.
|
||||||
|
.TP
|
||||||
|
.BI \-o file
|
||||||
|
This option allows you to specify a file to which the dependencies should be
|
||||||
|
written. By default the dependencies are written to standard output.
|
||||||
|
If you specify this option, the dependencies are written to
|
||||||
|
.B file
|
||||||
|
|
||||||
|
instead.
|
||||||
|
.TP
|
||||||
|
.BI \-v
|
||||||
|
Writes some diagnostic messages. If you use this option, be sure to use
|
||||||
|
.I \-o
|
||||||
|
as well, since the diagnostic messages will also be written to
|
||||||
|
standard output.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.BR ppumove (1)
|
||||||
|
.BR make (1)
|
63
install/man/man1/ppudump.1
Normal file
63
install/man/man1/ppudump.1
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
.TH ppudump 1 "5 June 1999" FreePascal "Free Pascal Unit dump utility"
|
||||||
|
.SH NAME
|
||||||
|
ppudump \- The FPC Pascal unit dump program.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
\fIppudump\fP [-h] [-v[h|i|m|d|s|b|a]] ppu-file1 ppufile2 ...
|
||||||
|
|
||||||
|
.SH Description
|
||||||
|
|
||||||
|
.B ppudump
|
||||||
|
writes the contents of a Free Pascal unit file to standard output.
|
||||||
|
It gives a listing of all definitions in the unit file. The format
|
||||||
|
of the listing can be controlled by the options.
|
||||||
|
|
||||||
|
.SH Usage
|
||||||
|
|
||||||
|
You can invoke ppudump with as arguments the names of the units that you
|
||||||
|
want to dump. You need not specify a extension, by default \fI.ppu\fP is
|
||||||
|
assumed. The output goes to standard output.
|
||||||
|
|
||||||
|
.SH Options
|
||||||
|
|
||||||
|
.B ppudump
|
||||||
|
has only two options:
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI \-h
|
||||||
|
shows a short help screen.
|
||||||
|
.TP
|
||||||
|
.BI \-v xxx
|
||||||
|
Controls the level of verbosity.
|
||||||
|
.I xxx
|
||||||
|
is any combination of the following letters:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I a
|
||||||
|
Shows all information stored in the PPU file.
|
||||||
|
.TP
|
||||||
|
.I b
|
||||||
|
Shows the browser information in the PPU file (if present).
|
||||||
|
.TP
|
||||||
|
.I d
|
||||||
|
Shows the definitions in the PPU file.
|
||||||
|
.TP
|
||||||
|
.I h
|
||||||
|
Shows the header information in the PPU file.
|
||||||
|
.TP
|
||||||
|
.I i
|
||||||
|
Shows only interface information, implementation information is
|
||||||
|
not shown.
|
||||||
|
.TP
|
||||||
|
.I m
|
||||||
|
Shows only implementation information, interface interface is not shown.
|
||||||
|
.TP
|
||||||
|
.I s
|
||||||
|
Shows the symbols stored in the PPU file.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.BR ppumove (1)
|
61
install/man/man1/ppufiles.1
Normal file
61
install/man/man1/ppufiles.1
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
.TH ppufiles 1 "9 June 1999" FreePascal "Free Pascal unit object file lister"
|
||||||
|
.SH NAME
|
||||||
|
ppufiles \- The FPC Pascal unit object file lister.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
\fBppufiles\fP [options] [file [file [file]]]
|
||||||
|
|
||||||
|
.SH Description
|
||||||
|
|
||||||
|
.B ppufiles
|
||||||
|
lists all the binary files that are needed to link a unit file. This
|
||||||
|
includes any object files or libraries that must be linked in through some
|
||||||
|
directive in the unit.
|
||||||
|
|
||||||
|
.SH Usage
|
||||||
|
|
||||||
|
You can invoke
|
||||||
|
.B ppufiles
|
||||||
|
with as arguments the name of the units whose object files you wish to
|
||||||
|
list. An extension must be given. This can be useful for creating a
|
||||||
|
listing of all created object files and deleting them in a Makefile.
|
||||||
|
|
||||||
|
.SH Options
|
||||||
|
|
||||||
|
.B ppufiles
|
||||||
|
has several options, which are case insensitive:
|
||||||
|
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.B \-a
|
||||||
|
This option tells
|
||||||
|
.B ppufiles
|
||||||
|
to list all files.
|
||||||
|
.TP
|
||||||
|
.B \-h
|
||||||
|
Help screen.
|
||||||
|
.TP
|
||||||
|
.B \-l
|
||||||
|
This option tells
|
||||||
|
.B ppufiles
|
||||||
|
to list only shared libraries.
|
||||||
|
.TP
|
||||||
|
.B \-o
|
||||||
|
This option tells
|
||||||
|
.B ppufiles
|
||||||
|
to list only object files.
|
||||||
|
.TP
|
||||||
|
.B \-s
|
||||||
|
This option tells
|
||||||
|
.B ppufiles
|
||||||
|
to list only static libraries.
|
||||||
|
.RE
|
||||||
|
.SH ERRORS
|
||||||
|
In case the unit is in an older or unrecognised format, ppufiles will
|
||||||
|
complain about that.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.BR ppumove (1)
|
||||||
|
.BR make (1)
|
78
install/man/man1/ppumove.1
Normal file
78
install/man/man1/ppumove.1
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
.TH ppmove 1 "9 June 1999" FreePascal "Free Pascal unit mover"
|
||||||
|
.SH NAME
|
||||||
|
ppdep \- The FPC Pascal unit mover.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
\fBppumove\fP [-sqbhw] [-o File] [-d path] [-e extension] files...
|
||||||
|
|
||||||
|
.SH Description
|
||||||
|
|
||||||
|
\fBppumove\fP collects one or several Free Pascal unit files and archives
|
||||||
|
them in a static or shared library.
|
||||||
|
|
||||||
|
.SH Usage
|
||||||
|
|
||||||
|
You can invoke \fBppumove\fP with as the only required argument the
|
||||||
|
name of the unit from which you want to make an archive. Specifying
|
||||||
|
multiple files is also possible, they will be put in the same archive.
|
||||||
|
|
||||||
|
.SH Options
|
||||||
|
|
||||||
|
\fBppumove\fP has several options, which are case sensitive:
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-b
|
||||||
|
This option tells \fBppumove\fP to write a shell script (a batch file on
|
||||||
|
DOS) that performs the needed calls to \fBar\fP and \fBld\fP. The script
|
||||||
|
will be called \fBpmove\fP, with an extension of \fB.sh\fP on Linux,
|
||||||
|
and \fB.bat\fP on DOS. You can then call this script manually afterwards.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI \-d " path"
|
||||||
|
This option tells \fBppumove\fP where to generate the new unit files.
|
||||||
|
By default, this is the same directory as where the files are found.
|
||||||
|
If you specify as the output extension the same extension as the units
|
||||||
|
you want to move, not specifying the destination directory may cause
|
||||||
|
problems.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI \-e " ext"
|
||||||
|
This option sets the extension of the new unit files to \fBext\fP. By
|
||||||
|
default \fB.ppl\fP is used. However, you can specify \fB.ppu\fP as the
|
||||||
|
extension. If you do, be sure to use also the \fI\-d\fP switch, or you will
|
||||||
|
overwrite the old units. Note however, that the compiler will only look for
|
||||||
|
extensions \fB.ppu\fP and \fB.ppl\fP when looking for units.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B -h
|
||||||
|
Shows a short help screen.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BI \-o " file"
|
||||||
|
This option allows you to specify the name of the library to be generated.
|
||||||
|
You \fBmust\fP use this option if you specify more than one unit on the
|
||||||
|
command-line. If you specified only one unit on the command-line, the generated library
|
||||||
|
will have the unit name, with \fBlib\fP prepended (on Linux).
|
||||||
|
You do not need to specify the \fBlib\fP part, this will be prepended
|
||||||
|
automatically if needed.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-q
|
||||||
|
Tells \fBppumove\fP to operate quietly.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-s
|
||||||
|
Tells \fBppumove\fP to generate a static library. By default, a shared
|
||||||
|
library is generated (except on DOS).
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B \-w
|
||||||
|
Tells \fBppumove\fP it should use the windows linker and archiver. Do not
|
||||||
|
use this option on Linux.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.BR ppudep (1)
|
||||||
|
.BR ppudump (1)
|
95
install/man/man1/ptop.1
Normal file
95
install/man/man1/ptop.1
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
.TH ptop 1 "30 may 1999" FreePascal "ptop source beautifier"
|
||||||
|
.SH NAME
|
||||||
|
ptop \- The FPC Pascal configurable source beautifier.
|
||||||
|
|
||||||
|
Origin probably Pascal\-TO\-Pascal.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
|
||||||
|
.BI ptop "[-v] [-i indent] [-b bufsize ][-c optsfile] infile outfile"
|
||||||
|
|
||||||
|
.SH Description
|
||||||
|
|
||||||
|
.B ptop
|
||||||
|
is a more or less configurable
|
||||||
|
.I "source beautifier"
|
||||||
|
for pascal sources, and specially the ones supported by FPC (which are
|
||||||
|
more or less Turbo Pascal or Delphi 2.0 compatible).
|
||||||
|
.PP
|
||||||
|
ptop belongs to the
|
||||||
|
.I "FPC utils"
|
||||||
|
package, which currently also contains
|
||||||
|
.B ppdep
|
||||||
|
,
|
||||||
|
.B h2pas
|
||||||
|
,
|
||||||
|
.B ppudump
|
||||||
|
and
|
||||||
|
.B ppumove
|
||||||
|
\.
|
||||||
|
|
||||||
|
.SH Usage
|
||||||
|
|
||||||
|
.B ptop
|
||||||
|
basically reformats "infile" and outputs the result to "outfile".
|
||||||
|
ituses a configuration file explained further below, and can generate a default
|
||||||
|
configurationfile for you to edit. (not needed if you use the defaults)
|
||||||
|
|
||||||
|
.SH Options
|
||||||
|
.TP
|
||||||
|
.B \-h
|
||||||
|
Writes a short description of these switches.
|
||||||
|
.TP
|
||||||
|
.B \-c
|
||||||
|
read options from configuration file. A configuration file is not needed, ptop
|
||||||
|
will revert to internal defaults then. See also \-g
|
||||||
|
.TP
|
||||||
|
.BI \-i " ident"
|
||||||
|
Sets the number of indent spaces used for BEGIN END; and other blocks.
|
||||||
|
.TP
|
||||||
|
.BI \-b " bufsize"
|
||||||
|
Sets the buffersize to bufsize. Default 255, 0 is considered non\-valid and ignored.
|
||||||
|
.TP
|
||||||
|
.B \-v
|
||||||
|
be verbose. Currently only outputs the number of lines read/written and some error messages.
|
||||||
|
.TP
|
||||||
|
.BI \-g " ptop.cfg"
|
||||||
|
Writes a default configuration file to be edited to the file
|
||||||
|
.I ptop.cfg
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Try to play with ptop and its configfile until you find the effect you desire. The
|
||||||
|
configurability and possibilities of ptop are quite large compared to shareware
|
||||||
|
source beautifier found on e.g. SIMTEL.
|
||||||
|
.PP
|
||||||
|
|
||||||
|
.SH Acknowledgements
|
||||||
|
|
||||||
|
The writer of the program, Michael van Canneyt, who also helped out explaining
|
||||||
|
the format of ptop.cfg.
|
||||||
|
.PP
|
||||||
|
Questions/corrections can be mailed to fpc\-devel@vekoll.saturnus.vein.hu
|
||||||
|
.PP
|
||||||
|
Also thanks to the rest of the FPC development team.
|
||||||
|
|
||||||
|
The program is a modernized (OOP, Streams, Delphi extensions) version based on a
|
||||||
|
program by Peter Grogono, who in turn based his program on a Pascal pretty-printer written by Ledgard,
|
||||||
|
Hueras, and Singer. See SIGPLAN Notices, Vol. 12, No. 7, July 1977,
|
||||||
|
pages 101-105, and PP.DOC/HLP.
|
||||||
|
.BR
|
||||||
|
This version of PP developed under Pascal/Z V4.0 or later.
|
||||||
|
Very minor modifications for Turbo Pascal made by Willett Kempton
|
||||||
|
March 1984 and Oct 84. Runs under 8-bit Turbo or 16-bit Turbo.
|
||||||
|
Toad Hall tweak, rewrite for TP 5, 28 Nov 89
|
||||||
|
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP "ptop config file"
|
||||||
|
.BR ptop.cfg (5)
|
||||||
|
.IP "Compiler"
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.IP "Other FPC utils"
|
||||||
|
.BR ppdep (1)
|
||||||
|
.BR ppudump (1)
|
||||||
|
.BR ppumove (1)
|
||||||
|
.BR h2pas (1)
|
407
install/man/man5/fpcmake.5
Normal file
407
install/man/man5/fpcmake.5
Normal file
@ -0,0 +1,407 @@
|
|||||||
|
.TH fpcmake 5 "12 Dec 1999" FreePascal "Free Pascal Makefile.fpc format"
|
||||||
|
.SH NAME
|
||||||
|
Makefile.fpc \- Configuration file for fpcmake.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.I Makefile.fpc
|
||||||
|
is a configuration file for the fpcmake command. Starting from this file a
|
||||||
|
.I Makefile
|
||||||
|
is created to compile Free Pascal units and programs.
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
|
||||||
|
.B Makefile.fpc
|
||||||
|
is a plain ASCII file that contains a number of sections as in a Windows
|
||||||
|
.I ini
|
||||||
|
file. The following sections are recognized (in alphabetical order):
|
||||||
|
.TP
|
||||||
|
.B clean
|
||||||
|
Specifies rules for cleaning the directory of units and programs.
|
||||||
|
The following entries are recognized:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I units
|
||||||
|
names of all units that should be removed when cleaning. Don't specify
|
||||||
|
extensions, the makefile will append these by itself.
|
||||||
|
.TP
|
||||||
|
.I files
|
||||||
|
names of files that should be removed. Specify full filenames.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.B defaults
|
||||||
|
The defaults section contains some default settings. The following keywords
|
||||||
|
are recognized:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.B dirs
|
||||||
|
.TP
|
||||||
|
.B info
|
||||||
|
.TP
|
||||||
|
.B install
|
||||||
|
Contains instructions for installation of your units and programs. The
|
||||||
|
following keywods are recognized:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I dirprefix
|
||||||
|
the directory below wchich all installs are done. This corresponds to the
|
||||||
|
.I \-\-prefix
|
||||||
|
argument to GNU
|
||||||
|
.I configure
|
||||||
|
It is used for the installation of programs and units. By default, this is
|
||||||
|
. /usr
|
||||||
|
on linux, and
|
||||||
|
. /pp
|
||||||
|
on all other platforms.
|
||||||
|
.TP
|
||||||
|
.I dirbase
|
||||||
|
The directory that is used as the base directory for the installation of
|
||||||
|
units. Default this is
|
||||||
|
.I dirprefix
|
||||||
|
appended with
|
||||||
|
.I /lib/fpc/FPC\_VERSION
|
||||||
|
for linux or simply the dirprefix on other platforms.
|
||||||
|
.RE
|
||||||
|
Units will be installed in the subdirectory
|
||||||
|
.I units/$(OS\_TARGET)
|
||||||
|
of the
|
||||||
|
.I dirbase
|
||||||
|
entry.
|
||||||
|
.TP
|
||||||
|
.B libs
|
||||||
|
This section specifies what units should be merged into a library, and what
|
||||||
|
external libraries are needed. It can contain the following keywords:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I libname
|
||||||
|
the name of the library that should be created.
|
||||||
|
.TP
|
||||||
|
.I libunits
|
||||||
|
a comma-separated list of units that should be moved into one library.
|
||||||
|
.TP
|
||||||
|
.I needgcclib
|
||||||
|
a boolean value that specifies whether the gcc library is needed. This will
|
||||||
|
make sure that the path to the GCC library is inserted in the library search
|
||||||
|
path.
|
||||||
|
.TP
|
||||||
|
.I needotherlib
|
||||||
|
a boolean value that tells the makefile that other library directories will
|
||||||
|
be needed.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.B packages
|
||||||
|
Which packages must be used. This section can contain the following keywords:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I packages
|
||||||
|
A comma-separated list of packages that are needed to compile the targets.
|
||||||
|
Valid for all platforms. In order to differentiate between platforms, you
|
||||||
|
can prepend the keyword
|
||||||
|
.I packages
|
||||||
|
with the OS you are compiling for, e.g.
|
||||||
|
.I linuxpackages
|
||||||
|
if you want the makefile to use the listed packages on linux only.
|
||||||
|
.TP
|
||||||
|
.I fcl
|
||||||
|
This is a boolean value (0 or 1) that indicates whether the FCL is used.
|
||||||
|
.TP
|
||||||
|
.I rtl
|
||||||
|
This is a boolean value (0 or 1) that indicates whether the RTL should be
|
||||||
|
recompiled.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.B postsettings
|
||||||
|
Anything that is in this section will be inserted as-is in the makefile
|
||||||
|
.I after
|
||||||
|
the makefile rules that are generated by fpcmake, but
|
||||||
|
.I before
|
||||||
|
the general configuration rules.
|
||||||
|
. In it, you cannot use variables that are defined by fpcmake rules, but you
|
||||||
|
can define additional rules and configuration variables.
|
||||||
|
.TP
|
||||||
|
.B presettings
|
||||||
|
Anything that is in this section will be inserted as-is in the makefile
|
||||||
|
.I before
|
||||||
|
the makefile target rules that are generated by fpcmake. This means that
|
||||||
|
you cannot use any variables that are normally defined by
|
||||||
|
.TP
|
||||||
|
.B rules
|
||||||
|
In this section you can insert dependency rules and any other targets
|
||||||
|
you wish to have. Do not insert 'default rules' here.
|
||||||
|
.TP
|
||||||
|
.B sections
|
||||||
|
Here you can specify which 'rule sections' should be included in the Makefile.
|
||||||
|
The sections consist of a series of boolean keywords; each keyword decies
|
||||||
|
whether a particular section will be written to the makefile. By default,
|
||||||
|
all sections are written.
|
||||||
|
|
||||||
|
You can have the following boolean keywords in this section.
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I none
|
||||||
|
If this is set to true, then no sections are written.
|
||||||
|
.TP
|
||||||
|
.I units
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for compiling units.
|
||||||
|
.TP
|
||||||
|
.I exes
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for compiling executables.
|
||||||
|
.TP
|
||||||
|
.I loaders
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for assembling assembler files.
|
||||||
|
.TP
|
||||||
|
.I examples
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for compiling examples.
|
||||||
|
.TP
|
||||||
|
.I package
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for making packages.
|
||||||
|
.TP
|
||||||
|
.I compile
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the generic rules for compiling pascal files.
|
||||||
|
.TP
|
||||||
|
.I depend
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the dependency rules.
|
||||||
|
.TP
|
||||||
|
.I install
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for installing everything.
|
||||||
|
.TP
|
||||||
|
.I sourceinstall
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for installing the sources.
|
||||||
|
.TP
|
||||||
|
.I zipinstall
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for installing archives.
|
||||||
|
.TP
|
||||||
|
.I clean
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for cleaning the directories.
|
||||||
|
.TP
|
||||||
|
.I libs
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for making libraries.
|
||||||
|
.TP
|
||||||
|
.I command
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for composing the command-line based on the various
|
||||||
|
variables.
|
||||||
|
.TP
|
||||||
|
.I exts
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for making libraries.
|
||||||
|
.TP
|
||||||
|
.I dirs
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for running make in subdirectories..
|
||||||
|
.TP
|
||||||
|
.I tools
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for running some tools as the erchiver, UPX and zip.
|
||||||
|
.TP
|
||||||
|
.I info
|
||||||
|
If set to
|
||||||
|
.I false
|
||||||
|
,
|
||||||
|
.B fpcmake
|
||||||
|
omits the rules for generating information.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.B targets
|
||||||
|
In this section you can define the various targets. The following keywords
|
||||||
|
can be used there:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I dirs
|
||||||
|
A space separated list of directories where make should also be run.
|
||||||
|
.TP
|
||||||
|
.I examples
|
||||||
|
A space separated list of example programs that need to be compiled when
|
||||||
|
the user asks to compile the examples. Do not specify an extension,
|
||||||
|
the extension will be appended.
|
||||||
|
.TP
|
||||||
|
.I loaders
|
||||||
|
A space separated list of names of assembler files that must be assembled.
|
||||||
|
Don't specify the extension, the extension will be appended.
|
||||||
|
.TP
|
||||||
|
.I programs
|
||||||
|
A space separated list of program names that need to be compiled. Do not
|
||||||
|
specify an extension, the extension will be appended.
|
||||||
|
.TP
|
||||||
|
.I rst
|
||||||
|
a list of
|
||||||
|
.I rst
|
||||||
|
files that needs to be converted to
|
||||||
|
.I .po
|
||||||
|
files for use with GNU
|
||||||
|
.B gettext
|
||||||
|
and internationalization routines.
|
||||||
|
.TP
|
||||||
|
.I units
|
||||||
|
A space separated list of unit names that need to be compiled. Do not
|
||||||
|
specify an extension, just the name of the unit as it would appear un a
|
||||||
|
.I uses
|
||||||
|
clause is sufficient.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.B tools
|
||||||
|
In this section you can specify which tools are needed. Definitions to
|
||||||
|
use each of the listed tools will be inserted in the makefile, depending
|
||||||
|
on the setting in this section.
|
||||||
|
|
||||||
|
Each keyword is a boolean keyword; you can switch the use of a tool on or
|
||||||
|
off with it.
|
||||||
|
|
||||||
|
The following keywords are recognised:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I toolppdep
|
||||||
|
Use
|
||||||
|
.B ppdep
|
||||||
|
the dependency tool.
|
||||||
|
.I True
|
||||||
|
by default.
|
||||||
|
.TP
|
||||||
|
.I toolppumove
|
||||||
|
Use
|
||||||
|
.B ppumove
|
||||||
|
the Free Pascal unit mover.
|
||||||
|
.I True
|
||||||
|
by default.
|
||||||
|
.TP
|
||||||
|
.I toolppufiles
|
||||||
|
Use the
|
||||||
|
.B ppufile
|
||||||
|
tool to determine dependencies of unit files.
|
||||||
|
.I True
|
||||||
|
by default.
|
||||||
|
.TP
|
||||||
|
.I toolsed
|
||||||
|
Use
|
||||||
|
.B sed
|
||||||
|
the stream line editor.
|
||||||
|
.I False
|
||||||
|
by default.
|
||||||
|
.TP
|
||||||
|
.I tooldata2inc
|
||||||
|
use the
|
||||||
|
.B data2inc
|
||||||
|
tool to create include files from data files.
|
||||||
|
.I False
|
||||||
|
by default.
|
||||||
|
.TP
|
||||||
|
.I tooldiff
|
||||||
|
Use the GNU
|
||||||
|
.B diff
|
||||||
|
tool.
|
||||||
|
.I False
|
||||||
|
by default.
|
||||||
|
.TP
|
||||||
|
.I toolcmp
|
||||||
|
Use the
|
||||||
|
.B cmp
|
||||||
|
file comparer tool
|
||||||
|
.I False
|
||||||
|
by default.
|
||||||
|
.TP
|
||||||
|
.I toolupx
|
||||||
|
Use the
|
||||||
|
.B upx
|
||||||
|
executable packer
|
||||||
|
.I True
|
||||||
|
by default.
|
||||||
|
.TP
|
||||||
|
.I tooldate
|
||||||
|
use the
|
||||||
|
.B date
|
||||||
|
date displaying tool.
|
||||||
|
.I True
|
||||||
|
by default.
|
||||||
|
.TP
|
||||||
|
.I toolzip
|
||||||
|
Use the
|
||||||
|
.B zip
|
||||||
|
file archiver. This is used by the zip targets.
|
||||||
|
.I True
|
||||||
|
by default.
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
.B zip
|
||||||
|
This section can be used to make zip files from the compiled units and
|
||||||
|
programs. By default all compiled units are zipped. The zip behaviour can
|
||||||
|
be influencd with the presettings and postsettings sections.
|
||||||
|
|
||||||
|
The following keywords can be used in this unit:
|
||||||
|
.RS
|
||||||
|
.TP
|
||||||
|
.I zipname
|
||||||
|
this file is the name of the zip file that will be produced.
|
||||||
|
.TP
|
||||||
|
.I ziptarget
|
||||||
|
is the name of a makefile target that will be executed before the zip is
|
||||||
|
made. By default this is the
|
||||||
|
.I install
|
||||||
|
target.
|
||||||
|
.RE
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP
|
||||||
|
.BR fpcmake (1)
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.BR make (1)
|
285
install/man/man5/ppc386.cfg.5
Normal file
285
install/man/man5/ppc386.cfg.5
Normal file
@ -0,0 +1,285 @@
|
|||||||
|
.TH ppc386.cfg 5 "30 may 1999" FPC "FPC configuration file"
|
||||||
|
.SH NAME
|
||||||
|
ppc386.cfg \- Free Pascal Compiler (FPC) configuration file, name derived from Portable Pascal Compiler.
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
This is the main configuration file of the
|
||||||
|
.I Free Pascal Compiler (FPC)
|
||||||
|
.PP
|
||||||
|
All commandline options of the compiler (described in
|
||||||
|
.BR ppc386 (1)
|
||||||
|
) can be specified in the ppc386.cfg
|
||||||
|
|
||||||
|
When the configuration file is found, it is read, and the lines
|
||||||
|
it contains are treated like you typed them on the command line see
|
||||||
|
.BR ppc386 (1)
|
||||||
|
with some extra condtional possibilities.
|
||||||
|
|
||||||
|
.SH SYNTAX
|
||||||
|
|
||||||
|
You can specify comments in the configuration file with the # sign.
|
||||||
|
Everything from the # on will be ignored, unless it is one of the keywords (see below).
|
||||||
|
|
||||||
|
The compiler looks for the ppc386.cfg file in the following places :
|
||||||
|
.PP
|
||||||
|
\ \fI\- Under Linux\fP
|
||||||
|
.br
|
||||||
|
\ \ \- The current directory.
|
||||||
|
.br
|
||||||
|
\ \ \- Home directory, looks for .ppc386.cfg
|
||||||
|
.br
|
||||||
|
\ \ \- The directory specified in the environment
|
||||||
|
.br
|
||||||
|
\ \ variable PPC\_CONFIG\_PATH, and if it's not
|
||||||
|
.br
|
||||||
|
\ \ set under /etc.
|
||||||
|
.PP
|
||||||
|
\ \fI- Under all other OSes:\fP
|
||||||
|
.br
|
||||||
|
\ \ \- The current directory.
|
||||||
|
.br
|
||||||
|
\ \ \- The directory specified in the environment
|
||||||
|
.br
|
||||||
|
\ \ variable PPC\_CONFIG\_PATH.
|
||||||
|
.br
|
||||||
|
\ \ \- The directory where the compiler binary is.
|
||||||
|
.br
|
||||||
|
|
||||||
|
.PP
|
||||||
|
When the compiler has finished reading the configuration file, it continues
|
||||||
|
to treat the command line options.
|
||||||
|
|
||||||
|
One of the command\-line options allows you to specify a second configuration
|
||||||
|
file: Specifying \@foo on the command line will use file foo instead of ppc386.cfg
|
||||||
|
and read further options from there. When the compiler has finished reading
|
||||||
|
this file, it continues to process the command line.
|
||||||
|
|
||||||
|
The configuration file allows some kind of preprocessing. It understands the
|
||||||
|
following directives, which you should place on the first column of a line :
|
||||||
|
.PP
|
||||||
|
|
||||||
|
\ #IFDEF
|
||||||
|
.br
|
||||||
|
\ #IFNDEF
|
||||||
|
.br
|
||||||
|
\ #ELSE
|
||||||
|
.br
|
||||||
|
\ #ENDIF
|
||||||
|
.br
|
||||||
|
\ #DEFINE
|
||||||
|
.br
|
||||||
|
\ #UNDEF
|
||||||
|
.br
|
||||||
|
\ #WRITE
|
||||||
|
.br
|
||||||
|
\ #INCLUDE
|
||||||
|
.br
|
||||||
|
\ #SECTION
|
||||||
|
.br
|
||||||
|
They work the same way as their $... directive counterparts in Pascal:
|
||||||
|
|
||||||
|
.IP \fI#IFDEF\fP
|
||||||
|
.RS
|
||||||
|
.IP \fISyntax\fP
|
||||||
|
#IFDEF name
|
||||||
|
|
||||||
|
Lines following #IFDEF are skipped read if the keyword "name"
|
||||||
|
following it is not defined.
|
||||||
|
|
||||||
|
They are read until the keywords #ELSE or #ENDIF are
|
||||||
|
encountered, after which normal processing is resumed.
|
||||||
|
|
||||||
|
.IP \fIExample\fP
|
||||||
|
#IFDEF VER0_99_12
|
||||||
|
.br
|
||||||
|
\-Fu/usr/lib/fpc/0.99.12/rtl
|
||||||
|
.br
|
||||||
|
#ENDIF
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
In the above example, /usr/lib/fpc/0.99.12/rtl will be added to
|
||||||
|
the path if you're compiling with version 0.99.12 of the compiler.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.IP \fI#IFNDEF\fP
|
||||||
|
.RS
|
||||||
|
.IP \fISyntax\fP
|
||||||
|
#IFNDEF name
|
||||||
|
|
||||||
|
Lines following #IFDEF are skipped read if the keyword "name"
|
||||||
|
following it is defined.
|
||||||
|
|
||||||
|
They are read until the keywords #ELSE or #ENDIF are
|
||||||
|
encountered, after which normal processing is resumed.
|
||||||
|
|
||||||
|
.IP \fIExample\fP
|
||||||
|
#IFNDEF VER0_99_12
|
||||||
|
.br
|
||||||
|
-Fu/usr/lib/fpc/0.99.13/rtl
|
||||||
|
.br
|
||||||
|
#ENDIF
|
||||||
|
.PP
|
||||||
|
In the above example, /usr/lib/fpc/0.99.13/rtl will be added to
|
||||||
|
the path if you're NOT compiling with version 0.99.12 of the compiler.
|
||||||
|
.RE
|
||||||
|
.IP \fI#ELSE\fP
|
||||||
|
.RS
|
||||||
|
.IP \fISyntax\fP
|
||||||
|
#ELSE
|
||||||
|
|
||||||
|
#ELSE can be specified after a #IFDEF or #IFNDEF
|
||||||
|
directive as an alternative.
|
||||||
|
Lines following #ELSE are skipped read if the preceding #IFDEF
|
||||||
|
#IFNDEF was accepted.
|
||||||
|
|
||||||
|
They are skipped until the keyword #ENDIF is
|
||||||
|
encountered, after which normal processing is resumed.
|
||||||
|
|
||||||
|
.IP \fIExample\fP
|
||||||
|
|
||||||
|
#IFDEF VER0_99_12
|
||||||
|
.br
|
||||||
|
-Fu/usr/lib/fpc/0.99.12/rtl
|
||||||
|
.br
|
||||||
|
#ELSE
|
||||||
|
.br
|
||||||
|
-Fu/usr/lib/fpc/0.99.13/rtl
|
||||||
|
.br
|
||||||
|
#ENDIF
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
In the above example, /usr/lib/fpc/0.99.12/rtl will be added to
|
||||||
|
the path if you're compiling with version 0.99.12 of the compiler,
|
||||||
|
otherwise /usr/lib/fpc/0.99.13/rtl will be added to the path.
|
||||||
|
.RE
|
||||||
|
.IP \fI#ENDIF\fP
|
||||||
|
.RS
|
||||||
|
.IP \fISyntax\fP
|
||||||
|
#ENDIF
|
||||||
|
.PP
|
||||||
|
#ENDIF marks the end of a block that started with #IF(N)DEF,
|
||||||
|
possibly with an #ELSE between it.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.IP \fI#DEFINE\fP
|
||||||
|
.RS
|
||||||
|
.IP \fISyntax\fP
|
||||||
|
#DEFINE name
|
||||||
|
.PP
|
||||||
|
#DEFINE defines a new keyword. This has the same effect as a
|
||||||
|
"\-dname" command\-line option.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.IP \fI#UNDEF\fP
|
||||||
|
.RS
|
||||||
|
.IP \fISyntax\fP
|
||||||
|
#UNDEF name
|
||||||
|
|
||||||
|
#UNDEF un-defines a keyword if it existed.
|
||||||
|
This has the same effect as a "-uname" command-line option.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.IP \fI#WRITE\fP
|
||||||
|
.RS
|
||||||
|
.IP \fISyntax\fP
|
||||||
|
#WRITE Message Text
|
||||||
|
|
||||||
|
#WRITE writes "Message Text" to the screen.
|
||||||
|
This can be useful to display warnings if certain options are set.
|
||||||
|
|
||||||
|
.IP \fIExample\fP
|
||||||
|
#IFDEF DEBUG
|
||||||
|
.br
|
||||||
|
#WRITE Setting debugging ON...
|
||||||
|
.br
|
||||||
|
-g
|
||||||
|
.br
|
||||||
|
#ENDIF
|
||||||
|
.br
|
||||||
|
|
||||||
|
.PP
|
||||||
|
if "DEBUG is defined, this will produce a line
|
||||||
|
|
||||||
|
Setting debugging ON...
|
||||||
|
|
||||||
|
and will then switch on debugging information in the compiler.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.IP \fI#INCLUDE\fP
|
||||||
|
.RS
|
||||||
|
.IP \fISyntax\fP
|
||||||
|
#INCLUDE filename
|
||||||
|
|
||||||
|
#INCLUDE instructs the compiler to read the contents of
|
||||||
|
"filename" before continuing to process options in the current file.
|
||||||
|
|
||||||
|
This can be useful if you want to have a particular configuration file
|
||||||
|
for a project (or, under Linux, in your home directory), but still want to
|
||||||
|
have the global options that are set in a global configuration file.
|
||||||
|
|
||||||
|
.IP \fIExample\fP
|
||||||
|
#IFDEF LINUX
|
||||||
|
.br
|
||||||
|
#INCLUDE /etc/ppc386.cfg
|
||||||
|
.br
|
||||||
|
#ELSE
|
||||||
|
.br
|
||||||
|
#IFDEF GO32V2
|
||||||
|
.br
|
||||||
|
#INCLUDE c:\\pp\\bin\\ppc386.cfg
|
||||||
|
.br
|
||||||
|
#ENDIF
|
||||||
|
.br
|
||||||
|
#ENDIF
|
||||||
|
.br
|
||||||
|
.PP
|
||||||
|
This will include /etc/ppc386.cfg if you're on a linux machine,
|
||||||
|
and will include c:\\pp\\bin\\ppc386.cfg on a dos machine.
|
||||||
|
.RE
|
||||||
|
.IP \fI#SECTION\fP
|
||||||
|
.RS
|
||||||
|
.IP \fISyntax\fP
|
||||||
|
#SECTION name
|
||||||
|
|
||||||
|
The #SECTION directive acts as a #IFDEF directive, only
|
||||||
|
it doesn't require an #ENDIF directive. the special name COMMON
|
||||||
|
always exists, i.e. lines following #SECTION COMMON are always read.
|
||||||
|
.RE
|
||||||
|
|
||||||
|
.SH Example
|
||||||
|
|
||||||
|
A standard block often used in (the Linux version of) ppc386.cfg is
|
||||||
|
|
||||||
|
-vwhin
|
||||||
|
.br
|
||||||
|
#IFDEF VER0_99_12
|
||||||
|
.br
|
||||||
|
#IFDEF FPC_LINK_STATIC
|
||||||
|
.br
|
||||||
|
\-Fu/usr/lib/fpc/0.99.12/rtl/static
|
||||||
|
.br
|
||||||
|
\-Fu/usr/lib/fpc/0.99.12/units/static
|
||||||
|
.br
|
||||||
|
#ENDIF
|
||||||
|
.br
|
||||||
|
#IFDEF FPC_LINK_DYNAMIC
|
||||||
|
.br
|
||||||
|
\-Fu/usr/lib/fpc/0.99.12/rtl/shared
|
||||||
|
.br
|
||||||
|
\-Fu/usr/lib/fpc/0.99.12/units/shared
|
||||||
|
.br
|
||||||
|
#ENDIF
|
||||||
|
.br
|
||||||
|
\-Fu/usr/lib/fpc/0.99.12/rtl
|
||||||
|
.br
|
||||||
|
\-Fu/usr/lib/fpc/0.99.12/units
|
||||||
|
.br
|
||||||
|
#ENDIF
|
||||||
|
.PP
|
||||||
|
The block is copied into the ppc386.cfg file for each version you use (normally
|
||||||
|
the latest release (0.99.12 is released any day now) and the lastest developpers
|
||||||
|
snapshot (which will be version 0.99.13, even numbers are releases, odd are
|
||||||
|
development versions).
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR ppc386 (1)
|
185
install/man/man5/ptop.cfg.5
Normal file
185
install/man/man5/ptop.cfg.5
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
.TH ptop.cfg 5 "31 may 1999" FreePascal "ptop source beautifier config file"
|
||||||
|
.SH NAME
|
||||||
|
ptop.cfg \- The ptop source\-beautifier configuration file.
|
||||||
|
|
||||||
|
ptop is the source beautifier of the FreePascal project.
|
||||||
|
|
||||||
|
Origin probably Pascal\-TO\-Pascal.cfg
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
This is the main configuration file of the
|
||||||
|
.I ptop FPC source beautifier
|
||||||
|
.PP
|
||||||
|
The configuration file for
|
||||||
|
.BR ptop (1)
|
||||||
|
isn't necessarily called ptop.cfg, and is also
|
||||||
|
not auto-loaded, so the name doesn't matter much. This man\-page describes
|
||||||
|
the structure of such a configuration file for
|
||||||
|
.BR ptop (1)
|
||||||
|
|
||||||
|
.SH Structure
|
||||||
|
|
||||||
|
The structure of a ptop configuration file is a simple buildingblock repeated several (20-30) times,
|
||||||
|
for each pascal keyword known to the ptop program. (see the default configuration file or ptopu.pp source to
|
||||||
|
find out which keywords are known)
|
||||||
|
.PP
|
||||||
|
The basic building block of the configuration file consists out of one or two lines,
|
||||||
|
describing how ptop should react on a certain keyword.
|
||||||
|
First a line without square brackets with the following format:
|
||||||
|
.PP
|
||||||
|
keyword=option1,option2,option3,...
|
||||||
|
.PP
|
||||||
|
If one of the options is "dindonkey" (see further below), a second line
|
||||||
|
(with square brackets) is needed like this:
|
||||||
|
.PP
|
||||||
|
[keyword]=otherkeyword1,otherkeyword2,otherkeyword3,...
|
||||||
|
.PP
|
||||||
|
As you can see the block contains two types of identifiers, keywords(keyword and otherkeyword1..3 in above example)
|
||||||
|
and options, (option1..3 above).
|
||||||
|
.PP
|
||||||
|
\fIKeywords\fP
|
||||||
|
are the built-in valid Pascal structure-identifiers like BEGIN, END, CASE, IF,
|
||||||
|
THEN, ELSE, IMPLEMENTATION. The default configuration file lists most of these.
|
||||||
|
.PP
|
||||||
|
Besides the real Pascal keywords, some other codewords are used for operators
|
||||||
|
and comment expressions. These are listed in the following table:
|
||||||
|
|
||||||
|
Name of codeword\ \ operator
|
||||||
|
.br
|
||||||
|
-------------\ \ \ -----
|
||||||
|
.br
|
||||||
|
casevar\ \ \ \ : in a case label (<>'colon')
|
||||||
|
.br
|
||||||
|
becomes\ \ \ \ :=
|
||||||
|
.br
|
||||||
|
delphicomment\ \ \ //
|
||||||
|
.br
|
||||||
|
opencomment\ \ \ { or (*
|
||||||
|
.br
|
||||||
|
closecomment\ \ \ } or *)
|
||||||
|
.br
|
||||||
|
semicolon\ \ \ \ ;
|
||||||
|
.br
|
||||||
|
colon\ \ \ \ :
|
||||||
|
.br
|
||||||
|
equals\ \ \ \ =
|
||||||
|
.br
|
||||||
|
openparen\ \ \ \ [
|
||||||
|
.br
|
||||||
|
closeparen\ \ \ ]
|
||||||
|
.br
|
||||||
|
period\ \ \ \ .
|
||||||
|
.PP
|
||||||
|
|
||||||
|
The \fIOptions\fP codewords define actions to be taken when the keyword before
|
||||||
|
the equal sign is found.
|
||||||
|
.PP
|
||||||
|
Option \ \ does what
|
||||||
|
.br
|
||||||
|
-------\ \ \ ---------
|
||||||
|
.br
|
||||||
|
crsupp\ \ \ suppress CR before the keyword.
|
||||||
|
.br
|
||||||
|
crbefore\ \ \ force CR before keyword
|
||||||
|
\ \ \ \ (doesn't go with crsupp :) )
|
||||||
|
.br
|
||||||
|
blinbefore\ \ blank line before keyword.
|
||||||
|
.br
|
||||||
|
dindonkey\ \ \ de\-indent on assiociated keywords
|
||||||
|
\ \ \ \ (see below)
|
||||||
|
.br
|
||||||
|
dindent\ \ \ deindent (always)
|
||||||
|
.br
|
||||||
|
spbef\ \ \ space before
|
||||||
|
.br
|
||||||
|
spaft\ \ \ space after
|
||||||
|
.br
|
||||||
|
gobsym\ \ \ Print symbols which follow a
|
||||||
|
.br
|
||||||
|
\ \ \ \ keyword but which do not
|
||||||
|
.br
|
||||||
|
\ \ \ \ affect layout. prints until
|
||||||
|
.br
|
||||||
|
\ \ \ \ terminators occur.
|
||||||
|
.br
|
||||||
|
\ \ \ \ (terminators are hard-coded in pptop,
|
||||||
|
.br
|
||||||
|
\ \ \ \ still needs changing)
|
||||||
|
.br
|
||||||
|
inbytab\ \ \ indent by tab.
|
||||||
|
.br
|
||||||
|
crafter\ \ \ force CR after keyword.
|
||||||
|
.br
|
||||||
|
upper\ \ \ prints keyword all uppercase
|
||||||
|
.br
|
||||||
|
lower\ \ \ prints keyword all lowercase
|
||||||
|
.br
|
||||||
|
capital\ \ \ capitalizes keyword: 1st letter
|
||||||
|
.br
|
||||||
|
\ \ \ \ uppercase, rest lowercase.
|
||||||
|
.PP
|
||||||
|
|
||||||
|
The option "dindonkey" requires some extra parameters, which are
|
||||||
|
set by a second line for that keyword (the one with the square brackets), which is
|
||||||
|
therefore only needed if the options contain "dinkdonkey" (contraction of
|
||||||
|
de\-indent on assiociated keyword).
|
||||||
|
.PP
|
||||||
|
"dinkdonkey" deindents if any of the keywords specified by the extra options of the
|
||||||
|
square-bracket line is found.
|
||||||
|
.PP
|
||||||
|
.SH Example
|
||||||
|
|
||||||
|
The line
|
||||||
|
|
||||||
|
else=crbefore,dindonkey,inbytab,upper
|
||||||
|
.br
|
||||||
|
[else]=if,then,else
|
||||||
|
.PP
|
||||||
|
|
||||||
|
Means:
|
||||||
|
|
||||||
|
The keyword this is about is
|
||||||
|
.I else
|
||||||
|
, it's on the LEFT side of both equal signs.
|
||||||
|
.PP
|
||||||
|
|
||||||
|
When the ptop parser finds ELSE, the options tell it to do the following
|
||||||
|
things:
|
||||||
|
|
||||||
|
\- (crbefore) Don't allow other code on the line before
|
||||||
|
.br
|
||||||
|
\ the keyword. (ELSE alone on a line)
|
||||||
|
.br
|
||||||
|
\- (dindonkey) De\-indent on the keywords
|
||||||
|
.br
|
||||||
|
\ in square brackets line (if,then,else)
|
||||||
|
.br
|
||||||
|
\- (inbytab) indent by tab.
|
||||||
|
.br
|
||||||
|
\- (upper) uppercase the keyword (ELSE)
|
||||||
|
.PP
|
||||||
|
|
||||||
|
Try to play with the configfile until you find the effect you desire. The
|
||||||
|
configurability and possibilities of ptop are quite large compared to shareware
|
||||||
|
source beautifier found on e.g. SIMTEL.
|
||||||
|
.PP
|
||||||
|
|
||||||
|
.SH Acknowledgements
|
||||||
|
|
||||||
|
The writer of the program, Michael van Canneyt, who also helped out explaining
|
||||||
|
the format of ptop.cfg.
|
||||||
|
.PP
|
||||||
|
Questions/corrections can be mailed to fpc\-devel@vekoll.saturnus.vein.hu
|
||||||
|
.PP
|
||||||
|
Also thanks to the rest of the FPC development team.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.IP "ptop binary"
|
||||||
|
.BR ptop (1)
|
||||||
|
.IP "Compiler"
|
||||||
|
.BR ppc386 (1)
|
||||||
|
.IP "Other FPC utils"
|
||||||
|
.BR ppdep (1)
|
||||||
|
.BR ppudump (1)
|
||||||
|
.BR ppumove (1)
|
||||||
|
.BR h2pas (1)
|
Loading…
Reference in New Issue
Block a user