<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>
<title></title>
</head>
<body>
<p style="margin: 0px;"><span> </span></p>
<p style="margin: 0px;"></p>
<div style="margin: 5px 0px 5px 0px;">
Hans-Peter Diettrich <DrDiettrich1@aol.com> hat am 3. Februar 2011 um 14:16 geschrieben:<br/>
<br/>
> Mattias Gaertner schrieb:<br/>
><br/>
> > The LCL is only recompiled if needed, that means:<br/>
> > If the project defines another target (widget/os/cpu) and the LCL was<br/>
> > not yet compiled for that target, the LCL will be recompiled.<br/>
> > Or if you change the compiler, e.g. you switch from 2.4.2 to 2.5.1.<br/>
> > Or if you change the source of the LCL.<br/>
> > Or if you change the IDEBuildOptions.<br/>
><br/>
> How can I find out the reason for the rebuild, in detail when different<br/>
> build options are involved?
</div>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">Start the ide with --debug-log=log.txt</p>
<p style="margin: 0px;">It logs the exact reason.</p>
<p style="margin: 0px;"> </p>
<div style="margin: 5px 0px 5px 0px;">
> When the former procedure missed to find applicable compiled units, it simply rejected to proceed, and I could<br/>
> rebuild the LCL manually with known settings.
</div>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">?</p>
<p style="margin: 0px;"> </p>
<div style="margin: 5px 0px 5px 0px;">
> Nowadays I'm somewhat lost, and most rebuilds don't complete so that I have to restart from<br/>
> "make clean all" :-(
</div>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">If lazarus does not compile please create a bug report with the build log.</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<div style="margin: 5px 0px 5px 0px;">
><br/>
> Most recompilations stop with "file not found" errors, with different<br/>
> files. Since the files exist, and are found by the IDE, I assume that<br/>
> search path options are involved.
</div>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">In the last week some people had trouble, because they didn't make clean or had mixed an older lazarus with a newer lazarus or they used an outdated mirror.</p>
<p style="margin: 0px;">An older IDE can not compile the current. You must use make. If you use the snapshot, make sure to clean up the old directory.</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<div style="margin: 5px 0px 5px 0px;">
><br/>
> > If you spot a recompile without need please report the bug.<br/>
><br/>
> What information should I include, so that a bug report makes sense?
</div>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">The --debug-log and the way how you installed lazarus. </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<div style="margin: 5px 0px 5px 0px;">
>[...]<br/>
> > The lazarus.lpi has disabled compile in its compiler options. You can<br/>
> > compile via the Tools / Build Lazarus.<br/>
><br/>
> How do I build a new IDE, without overwriting the old (working) one?
</div>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">First of all: Backup the working one. Backups are always a good idea.</p>
<p style="margin: 0px;">You can pass an -o option if you want.</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<div style="margin: 5px 0px 5px 0px;">
<br/>
>[...]<br/>
> > The LCL is compiled separately from the project and uses its own<br/>
> > compiler settings. Therefore the debug and optimization settings of the<br/>
> > project are not applied to the LCL.<br/>
><br/>
> Hmm, then I wonder why after "make clean all" the LCL is recompiled<br/>
> later.
</div>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">Maybe you defined some options in the "Configure build lazarus" dialog?</p>
<p style="margin: 0px;">These are the IDEBuildOptions. The debug-log will tell.</p>
<p style="margin: 0px;"> </p>
<div style="margin: 5px 0px 5px 0px;">
> I already checked the environment options, to match the "make" > options, but I'm not really sure. It would be nice to have some<br/>
> indication, which config files etc. are used by "make", so that the IDE<br/>
> can be configured to use the same settings.
</div>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">For the LCL "make" uses only your fpc.cfg. This is also used by the IDE. But the IDE can add IDEBuildOptions and project options.</p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;"> </p>
<div style="margin: 5px 0px 5px 0px;">
> <br/>
> >> Code navigation (goto declaration...) and stepping through LCL<br/>
> >> code, down to the widgetset level, seems to require a debug version of<br/>
> >> the LCL.<br/>
> ><br/>
> > Code navigation ignores all debug settings.<br/>
><br/>
> But what's missing then, when I cannot go to lower level source code in<br/>
> the IDE? Currently I cannot follow the call chain (go to declaration)<br/>
> into the win32 (target) specific source files.
</div>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">Can you be more specific? What find declaration does not work? </p>
<p style="margin: 0px;"> </p>
<p style="margin: 0px;">Mattias</p>
<p style="margin: 0px;"> </p>
</body>
</html>