Browse Source

+ Moved to subdirectories for easier packing

michael 25 years ago
parent
commit
1973473209

+ 60 - 0
install/man/man1/delp.1

@@ -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 - 0
install/man/man1/fpcmake.1

@@ -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 - 0
install/man/man1/h2pas.1

@@ -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 - 0
install/man/man1/ppc386.1

@@ -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 - 0
install/man/man1/ppdep.1

@@ -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 - 0
install/man/man1/ppudump.1

@@ -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 - 0
install/man/man1/ppufiles.1

@@ -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 - 0
install/man/man1/ppumove.1

@@ -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 - 0
install/man/man1/ptop.1

@@ -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\[email protected]
+.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 - 0
install/man/man5/fpcmake.5

@@ -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 - 0
install/man/man5/ppc386.cfg.5

@@ -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 - 0
install/man/man5/ptop.cfg.5

@@ -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\[email protected]
+.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)