<div dir="auto"><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">Boian Mitov via fpc-devel <<a href="mailto:fpc-devel@lists.freepascal.org">fpc-devel@lists.freepascal.org</a>> schrieb am Mi., 26. Aug. 2020, 03:02:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div dir="ltr">
<div style="FONT-SIZE:10pt;FONT-FAMILY:'Arial';COLOR:#000000">
<div> Hello everyone,</div>
<div> </div>
<div>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.</div>
<div>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?</div>
<div>Can someone help me setup so I can start to study the code and see how I
can start working on it?</div></div></div></div></blockquote></div><div dir="auto"><br></div><div dir="auto">It would be great if we'd get Extended RTTI support. </div><div dir="auto"><br></div><div dir="auto">As others already wrote, the sources are available in SVN, though we also have an unofficial Git mirror. I personally use git-svn. </div><div dir="auto"><br></div><div dir="auto">Building the source is done using</div><div dir="auto"><br></div><div dir="auto">make all FPMAKEOPT="-T <Threads>" -j <Threads></div><div dir="auto"><br></div><div dir="auto">Where <Threads> is the number of threads that should be used while building (I usually use the number of CPU cores). </div><div dir="auto"><br></div><div dir="auto">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</div><div dir="auto"><br></div><div dir="auto">make full TEST_FPC=/path/to/created/ppc - j <Threads></div><div dir="auto"><br></div><div dir="auto">The ppc will be for example compiler/ppcx64 for a x84_64 compiler on Linux or compiler/ppc386.exe for a i386 Windows.</div><div dir="auto">Sidenote: if you use a Lazarus project to build the compiler the path will be compiler/<CPU>/pp(.exe)</div><div dir="auto"><br></div><div dir="auto">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. </div><div dir="auto"><br></div><div dir="auto">Regarding the topic of Extended RTTI itself, please also take note of this: <a href="https://foundation.freepascal.org/projects/project-1">https://foundation.freepascal.org/projects/project-1</a></div><div dir="auto">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). </div><div dir="auto"><br></div><div dir="auto">Regards, </div><div dir="auto">Sven </div><div class="gmail_quote" dir="auto"></div></div>