Skip to content

Commit a48fa5f

Browse files
committed
Update for latest FPC / Delphi versions
1 parent 94157cc commit a48fa5f

2 files changed

Lines changed: 40 additions & 34 deletions

File tree

src/CompilingPasDoc.asciidoc

Lines changed: 31 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,57 @@
11
:doctitle: Compiling PasDoc from sources
2+
:sectnums:
3+
:toc: left
4+
:toclevels: 4
25

3-
How to compile link:index[PasDoc]?
6+
## Get the source code
47

5-
## [[fpc]] FPC
6-
7-
The preferred http://www.freepascal.org/[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.
8-
9-
Compile by simply executing
8+
First of all, get https://github.com/pasdoc/pasdoc/[our source code from GitHub]. E.g.
109

1110
```
12-
make
11+
git clone https://github.com/pasdoc/pasdoc.git
1312
```
1413

15-
in the main repository directory.
16-
17-
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 http://www.mingw.org/[MinGW] or http://www.cygwin.com/[Cygwin]). Under FreeBSD it's called `gmake`.
18-
19-
### [[lazarus]] Lazarus
14+
## [[fpc]] Build with command-line FPC
2015

21-
Lazarus version required is 1.0.10 or later. Using the latest stable Lazarus version is always adviced and best tested.
16+
You can build with command-line https://www.freepascal.org/[Free Pascal Compiler (FPC)].
2217

23-
* You can install pasdoc components by installing `source/packages/lazarus/pasdoc_package.lpk`. This package is used by console `pasdoc` and by `pasdoc_gui`.
24-
* You can compile console pasdoc from Lazarus by compiling `source/console/pasdoc.lpi`.
25-
* You can compile `pasdoc_gui` from Lazarus by compiling `source/gui/pasdoc_gui.lpi`.
18+
_Requirements_: We need FPC with `Generics.Collections` support, which implies FPC >= 3.2.0.
2619

27-
## [[delphi]] Delphi
20+
From the command-line, compile by simply executing
2821

29-
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.
22+
```
23+
make
24+
```
3025

31-
### [[compiling-from-the-ide-1]] Compiling from the IDE
26+
in the main repository directory.
3227

33-
Open the Delphi project in `source/console/` and build as usual.
28+
[NOTE]
29+
====
30+
You must use _GNU make_.
3431
35-
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.
32+
- Under Linux this is the standard `make`.
33+
- Under Windows it is included with FPC installation (you can also get it with http://www.mingw.org/[MinGW] or http://www.cygwin.com/[Cygwin]).
34+
- Under FreeBSD it's called `gmake`.
35+
- Under MacOS it's called `gmake` and you can install it with `brew install make` (using https://brew.sh/[Homebrew]).
36+
====
3637

37-
### [[compiling-using-the-makefile-1]] Compiling using the Makefile
38+
### [[lazarus]] Build with Lazarus
3839

39-
You can compile using the command
40+
https://www.lazarus-ide.org/[Lazarus is an IDE using FPC under the hood].
4041

41-
```
42-
make build-delphi-win32
43-
```
42+
_Requirements_: Any Lazarus version that supports FPC >= 3.2.0 should be able to compile pasdoc.
4443

45-
### [[delphi-5-specific-notes]] Delphi 5 specific notes
44+
- First, open and build the package with our components by installing `source/packages/lazarus/pasdoc_package.lpk`.
4645
47-
You must do one specific thing to compile pasdoc with Delphi 5 (and not later):
46+
- Build the command-line PasDoc by opening the `source/console/pasdoc.lpi` project in Lazarus and compiling it.
4847
49-
* Add "..\component\strutils" to your units search path.
48+
- Build the GUI PasDoc by opening the `source/gui/pasdoc_gui.lpi` project in Lazarus and compiling it.
5049
51-
### [[using-fastmm-memory-manager]] Using FastMM memory manager
50+
## [[delphi]] Build with Delphi
5251

53-
You can speed up pasdoc a little (about 17%) by using http://sourceforge.net/projects/fastmm[FastMM memory manager]. Just download FastMM, add it to your Delphi units path, and define symbol USE_FASTMM when compiling.
52+
_Requirements_: Any Delphi with `Generics.Collections` support should be good, which in theory means >= 2009. We actively test (using GitHub Actions) with Delphi 10 and 12 right now.
5453

55-
This is not necessary with newer Delphi versions, as they already include FastMM.
54+
To build the command-line PasDoc, open the Delphi project in `source/console/` and build as usual.
5655

5756
## [[see-also-release-making]] See also: release making
5857

src/ReleaseMaking.asciidoc

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
:doctitle: Process of making new PasDoc release
2+
:sectnums:
3+
:toc: left
4+
:toclevels: 4
25

3-
Release making process:
6+
## Introduction
7+
8+
This page describes the process of making a new https://github.com/pasdoc/pasdoc/releases[PasDoc release]. Unless you're a PasDoc maintainer, you probably don't care about the details described here.
49

510
## Change version number to next stable
611

@@ -77,7 +82,9 @@ For basic test of pasdoc_gui, open the project with pasdoc's autodoc source/aut
7782
7883
* Go to https://github.com/pasdoc/pasdoc/releases and create a new release from tag
7984
80-
* Upload there the release. Right now Michalis has this automated by https://github.com/github-release/github-release[github-release] on https://github.com/castle-engine/castle-engine/wiki/Cloud-Builds-(Jenkins)[Castle Game Engine Jenkins infrastructure] server.
85+
* Upload there the release.
86+
87+
* Mark it as "latest", make sure https://github.com/pasdoc/pasdoc/releases/latest[latest release] page links to it.
8188
8289
## [[final-things-to-do]] Final things to do
8390

0 commit comments

Comments
 (0)