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
makein 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 calledgmake. | 
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 consolepasdocand bypasdoc_gui.
- 
You can compile console pasdoc from Lazarus by compiling source/console/pasdoc.lpi.
- 
You can compile pasdoc_guifrom 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.