[Lazarus] suggestion for lazbuild

Mehmet Erol Sanliturk m.e.sanliturk at gmail.com
Thu Mar 19 01:22:25 CET 2015


On Wed, Mar 18, 2015 at 3:08 PM, Mattias Gaertner <nc-gaertnma at netcologne.de
> wrote:

> On Tue, 17 Mar 2015 14:54:12 -0700
> Mehmet Erol Sanliturk <m.e.sanliturk at gmail.com> wrote:
>
> > On Tue, Mar 17, 2015 at 2:12 PM, Mattias Gaertner <
> nc-gaertnma at netcologne.de
> > > wrote:
> >
> >[...]
> > > > I am using a batch or shell script file to erase all of the .ppu and
> .o
> > > > files before starting the compilation .
> > > >
> > > > Selecting "Build" from Lazarus "Run" menu is starting to build
> Lazarus
> > > > itself which is NOT possible because Lazarus is owned by the "root" .
> > >
> > > I'm not sure what you mean 'build Lazarus itself' and 'Lazarus is owned
> > > by the "root"'.
> > > Can you give more details?
> > >
> > Units supplied by the Lazarus , i.e. , when Lazarus is installed by the
> > "root" , such as
> >
> > /usr/lib64/lazarus/
> >
> > which its owner is "root" .
>
> Ok. So /usr/lib64/lazarus/ is readable by normal users, but not
> writable. This is normal when you installed for example a deb or rpm
> package.
> The deb/rpm packages install ppu files compiled with a specific
> Widgetset and some default compiler options.
>
>
> > When "Build" is selected from the "Run" menu of Lazarus , it should NOT
> > include building of units installed by the Lazarus , but units of the
> user
> > program .
>
> A project can effect the compiler parameters of its packages. For
> example when you change the widgetset of the project to 'qt'. Or when
> you add a parameter to 'Configure Build Lazarus'.
> You can see what and why packages will be rebuilt in View / IDE
> Internals / What needs building.
> You can see why a package was rebuilt by selecting the message 'Compile
> package FooBar', then right click / About / About Compile Package
> FooBar.
>
>
> > There is a menu item in "Tools" about building the Lazarus itself .
> >
> > > > Using -B option seems that it is NOT effective when there are
> existing
> > > .ppu
> > > > and .o files .
> > >
> > > Do you mean lazbuild -B or fpc -B?
> > >
> > >
> > >
> > In one of the fields of the Lazarus menus , ( I could not find it now ) I
> > have set -B option to force the compilation in "Build" mode instead of
> > "Make" mode to make it to recognize record element changes :
>
> Probably you know, but just making sure: The -B option tells the
> compiler to recompile every unit, which has a source. Even if the sources
> have not changed. So basically all units of the project, but no unit of
> the packages.
> Lazarus automatically appends -B when the compiler
> parameter changes.
>
>
> > When Lazarus is starting to compile in GUI mode , it is displaying
> "options
> > changed , ... -B  ..."
> > but it is not taken into consideration the record type changes mentioned
> > above .
>
> Are the altered units in the project or in a package?
>
>

Altered units are in a project ( I never use any "package" ) , not loaded
into Lazarus GUI , but their directories are defined .



>
> > I am not using -B option in lazbuild command line statement because I am
> > assuming that .lpi file contains such an option .
> >
> > I am not using fpc directly to compile the programs : Either by Lazarus
> GUI
> > or lazbuild through scripts without -B option in the command line with
> the
> > assumption that it is specified in .lpi file .
> >
> > Actually , in "Make" mode such changes should be detected .
> >
> >
> > Deleting .ppu and .o files is causing a compile time more than 17 minutes
> > for me instead of a shorter compilation time .
>
> 17 minutes? Even the 3+ millions lines of FPC and Lazarus normally only
> takes a few minutes on a recent machine.
>
>

Yes : Seventeen minutes  ( without debug related additions ) .

Processor :  Intel i5-3470 , Quad-core . 3.2 GigaHerz



Alongside the ( NOT detecting record element additions / changes /deletions
) , another very important problem for me is to

( Discontinuation of compilation on errors )

although in an item "Display error messages up to 1 000 000 ( million )" is
selected .


This number is NOT taken into consideration , and it is stopping
compilation at the end of a unit or after a small number ( around 50 ) .




> Mattias
>
> --
> _______________________________________________
> Lazarus mailing list
> Lazarus at lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20150318/8175df0e/attachment-0003.html>


More information about the Lazarus mailing list