Compiling PasDoc from sources
How to compile PasDoc?
FPC
The preferred FreePascal version should always be the latest stable FPC release. Any FPC >= 2.6.0 is supported, although compilation with older versions is less extensively tested. Using the latest stable FPC is always the best option.
Compile by simply executing
make
in the main repository directory.
Note
|
You must use GNU make. Under Linux this is the standard make . Under Windows it is included with FPC installation (you can also get it with MinGW or Cygwin). Under FreeBSD it’s called gmake .
|
Lazarus
Lazarus version required is 1.0.10 or later. Using the latest stable Lazarus version is always adviced and best tested.
-
You can install pasdoc components by installing
source/packages/lazarus/pasdoc_package.lpk
. This package is used by consolepasdoc
and bypasdoc_gui
. -
You can compile console pasdoc from Lazarus by compiling
source/console/pasdoc.lpi
. -
You can compile
pasdoc_gui
from Lazarus by compilingsource/gui/pasdoc_gui.lpi
.
Delphi
In theory, the project can support even Delphi versions >= 5. However, it wasn’t tested with so old Delphi versions for a long time. Using Delphi >= 11 is advised.
Compiling from the IDE
Open the Delphi project in source/console/
and build as usual.
Note
|
The reason why the project file does not contain a list of all units including full filenames is that older versions of Delphi do not support a forward slash in paths while Kylix does not support backslashes. We may fix it, since we longer support Kylix. |
Delphi 5 specific notes
You must do one specific thing to compile pasdoc with Delphi 5 (and not later):
-
Add "..\component\strutils" to your units search path.
Using FastMM memory manager
You can speed up pasdoc a little (about 17%) by using FastMM memory manager. Just download FastMM, add it to your Delphi units path, and define symbol USE_FASTMM when compiling.
This is not necessary with newer Delphi versions, as they already include FastMM.
See also: release making
Compiling, testing and other things related to release making are described on this page: ReleaseMaking.