[fpc-devel] Planning to experiment with FPC extentions

Sven Barth pascaldragon at googlemail.com
Wed Aug 26 11:27:30 CEST 2020


Boian Mitov via fpc-devel <fpc-devel at lists.freepascal.org> schrieb am Mi.,
26. Aug. 2020, 03:02:

>   Hello everyone,
>
> I have been planning for long time to try to add support for advanced RTTI
> to FPC, but never had the chance to work on it.
> I don’t even know how to start. Is there any information on how to setup
> for recompiling the compiler sources and even where the sources and the
> project files for the compiler are?
> Can someone help me setup so I can start to study the code and see how I
> can start working on it?
>

It would be great if we'd get Extended RTTI support.

As others already wrote, the sources are available in SVN, though we also
have an unofficial Git mirror. I personally use git-svn.

Building the source is done using

make all FPMAKEOPT="-T <Threads>" -j <Threads>

Where <Threads> is the number of threads that should be used while building
(I usually use the number of CPU cores).

Before you do any changes I suggest to do a full build and a testsuite run
once. For the testsuite you go to the tests directory and run

make full TEST_FPC=/path/to/created/ppc - j <Threads>

The ppc will be for example compiler/ppcx64 for a x84_64 compiler on Linux
or compiler/ppc386.exe for a i386 Windows.
Sidenote: if you use a Lazarus project to build the compiler the path will
be compiler/<CPU>/pp(.exe)

After you've run the testsuite I suggest you to backup the
tests/output/<CPU>-<OS>/faillist file. This will be your baseline that you
need to compare against when developing a new feature.

Regarding the topic of Extended RTTI itself, please also take note of this:
https://foundation.freepascal.org/projects/project-1
I had written up some requirements for the Extended RTTI for the Foundation
and that information is still valid. For further question you can ask them
here on the list (especially general build questions or about compiler
internals).

Regards,
Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20200826/5a619534/attachment.htm>


More information about the fpc-devel mailing list