Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2017-03

Manual sources? Some doc questions.

4 messages · 3 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Hans-Peter Suter

I couldn't find the source for the manuals, e.g. [prog.pdf]( http://www.freepascal.org/docs.var). Does someone know where I can find them?

Some other questions:

- In prog.pdf there is a section about "Compiler and RTL source tree structure". Is there some documentation about the (not-mentioned but huge) 'package' folder?
- (I suppose 'rtl' folder is the base for the compiler and 'package' kind of an extended standard library? In 'package' there are folders like 'fcl_<name>', 'rtl_<name>' and (many) <name>, how is this motivated?

- There is wiki docu about fpcmake and FPMake. But I'm still a bit ignorant about the purpose of the latter. Could it be ignored? When I looked up source code installation instructions, in the forum it was mentioned to get the code and then ~ `make distclean; make all; make install`. This sounds more familiar to me than compiling code into a binary FPMake-package
- With FPMake I see the aim to split the code up into packages (with units, binaries, examples and documentation). But I don't (yet) understand why it builds fpmake-executables to do so? (Really ignorant: and why e.g. there isn't 'just a hypothetical github-package-project' which can be cloned, built and installed)? Is there any docu, discussion about this subject?

Thanks a lot.

Reply by email

Michael Van Canneyt
to Hans-Peter Suter
Hans-Peter Suter wrote
I couldn't find the source for the manuals, e.g. [prog.pdf]( http://www.freepascal.org/docs.var). Does someone know where I can find them?

in subversion. See

http://www.freepascal.org/develop.var

Section 'Other repositories'

Show quoted text 6 lines
Some other questions: - In prog.pdf there is a section about "Compiler and RTL source tree structure". Is there some documentation about the (not-mentioned but huge) 'package' folder?

No, this is on my todo list (since ages :/ )

- (I suppose 'rtl' folder is the base for the compiler and 'package' kind of an extended standard library? In 'package' there are folders like 'fcl_<name>', 'rtl_<name>' and (many) <name>, how is this motivated?

"name" are usually import packages for libraries.
"rtl-name" is something which used to be in RTL but has been moved to packages, so the compiler bootstrap cycle would be shorter. "fcl-name" are actively developed classes for use with FPC.

Show quoted text 7 lines
- There is wiki docu about fpcmake and FPMake. But I'm still a bit ignorant about the purpose of the latter. Could it be ignored? When I looked up source code installation instructions, in the forum it was mentioned to get the code and then ~ `make distclean; make all; make install`. This sounds more familiar to me than compiling code into a binary FPMake-package

The makefiles call fpmake. So you cannot ignore them.

Show quoted text 6 lines
- With FPMake I see the aim to split the code up into packages (with units, binaries, examples and documentation). But I don't (yet) understand why it builds fpmake-executables to do so? (Really ignorant: and why e.g. there isn't 'just a hypothetical github-package-project' which can be cloned, built and installed)? Is there any docu, discussion about this subject?

the fpmake executables are exactly meant to enable this github-package-project, without falling back on make.

There are 2 motivations for using fpmake:
1. Make does not understand dependencies as FPC understands them.

2. fpmake is pascal code. Anyone writing pascal code can create a fpmake file, no extra tools need to be learned. This is the main motivation.

Michael.

Reply by email

Marco van de Voort
to Michael Van Canneyt

In our previous episode, Michael Van Canneyt said:

Show quoted text 13 lines
> why it builds fpmake-executables to do so? (Really ignorant: and why e.g. > there isn't 'just a hypothetical github-package-project' which can be > cloned, built and installed)? Is there any docu, discussion about this > subject? the fpmake executables are exactly meant to enable this github-package-project, without falling back on make. There are 2 motivations for using fpmake: 1. Make does not understand dependencies as FPC understands them. 2. fpmake is pascal code. Anyone writing pascal code can create a fpmake file, no extra tools need to be learned. This is the main motivation.

3. fpmake is more complete and performs a lot of operations which make needs external binaries, which are a maintenance hazard on non *nix

Reply by email

Hans-Peter Suter
to Marco van de Voort

@Michael and @Marco,

Very helpful comments, thank you!

Regarding,

in subversion. See

http://www.freepascal.org/develop.var Section 'Other repositories'

Yes, found it. (Tex, I thought so (considering the nicely formatted pdf)).

- In prog.pdf there is a section about "Compiler and RTL source tree

Show quoted text 5 lines
> structure". Is there some documentation about the (not-mentioned but huge) > 'package' folder? > No, this is on my todo list (since ages :/ )

No worries, the docu is huge, and I suppose the todo list also ;) I found many interesting infos already and it certainly was a lot of work to write!

Show quoted text 9 lines
the fpmake executables are exactly meant to enable this github-package-project, without falling back on make. There are 2 motivations for using fpmake: 1. Make does not understand dependencies as FPC understands them. 2. fpmake is pascal code. Anyone writing pascal code can create a fpmake file, no extra tools need to be learned. This is the main motivation. 3. fpmake is more complete and performs a lot of operations which

make needs external binaries, which are a maintenance hazard on non *nix

Ok. - I would have some remarks but wait if/until I better understand some technical details. It works and is fast and at least I now know the connection between the two 'makers' and some rationals.

Reply by email