<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">Am 28.12.2017 11:30 schrieb "Giuliano Colla" <<a href="mailto:giuliano.colla@fastwebnet.it">giuliano.colla@fastwebnet.it</a>>:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi fpc developers,<br>
<br>
I'm playing a bit with the compiler. In order to debug my changes I need to compile some test programs.<br>
<br>
To stay on the safe side, currently when I modify something I rebuild everything (make all - make install) in order to provide a consistent compilation environment.<br>
<br>
This is rather time consuming and I do compile a lot of unnecessary stuff. Is there a better way?<br>
<br>
Any suggestion is welcome<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">As long as you don't have static changes (e.g. what is written to PPUs) it's sufficient to build the correct compiler using the Lazarus project (e.g. ppcx64.lpi he the x86_64 compiler) and set the run parameters accordingly (I for example use "-n -Furtl/units/x86_64-linux -viwn - FEtestoutput ./fpctests/whatever.pp" with the current directory set to the FPC  directory). With that it is enough to have done a single "make all" beforehand. Depending on the required units for the test I also sometimes rebuild only the RTL. </div><div dir="auto">When I'm satisfied with my changes I do a complete rebuild and run the testsuite to compare the resulting list of failures to the one without my changes. </div><div dir="auto">A "make install" I do only when I need to use the compiler in Lazarus for a different project, for everything else I simply add the unit directories of the needed packages to the run parameters. </div><div dir="auto"><br></div><div dir="auto">I hope this helps you :) </div><div dir="auto"><br></div><div dir="auto">Regards,</div><div dir="auto">Sven </div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div></div>