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 console pasdoc and by pasdoc_gui.

  • You can compile console pasdoc from Lazarus by compiling source/console/pasdoc.lpi.

  • You can compile pasdoc_gui from Lazarus by compiling source/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.

Compiling using the Makefile

You can compile using the command

make build-delphi-win32

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.