[Lazarus] New compiler options page "Additions and Overrides"

Mattias Gaertner nc-gaertnma at netcologne.de
Sat Jun 8 14:59:05 CEST 2013


On Sat, 08 Jun 2013 12:13:58 +0100
Martin <lazarus at mfriebe.de> wrote:

>[...]
> > AFAIK the editor-mouse-settings is rarely used. It is not rocket
> > science, but it is used so seldom, that you quickly forget how it
> > worked and you have to learn it again on every use.
> I was talking about the advanced mouse settings. They do require a lot 
> of knowledge/understanding.

That's the one I meant.


>[...]
> Yes the usage frequency is difference. Mouse options are set once and 
> never again....
> Build modes (or at least certain aspects of it), are changed every once 
> in a while.
> 
> Many aspects of the new page will nt be used, but by a very small 
> percentage of people. For those the usage frequency is equal to that of 
> the (advanced) mouse opts.

These are only guestimations. It's new, nobody knows yet, what will be
used how often.

 
> > Michael's point was that casual/normal users do not want build modes at
> > all.
> I think differently:
> 
> A majority of users want an easy to use debug/release build mode. 

I doubt that. I know more people not needing build modes. They
ship/install there programs as they have tested them.


> And it should be possible to set it up / edit it with very little effort.
> 
> Further:
> With the problems that GDB causes on some systems, it is very important 
> to be able to set all packages to the same debug type (and this may for 
> some users be stabs, for others dwarf, and yet others it may be no debug 
> info on packages.)

We can discuss that topic in a separate thread.

 
> >> 3) Having pre defined buildmodes, there could be a simplified page, with
> >> common options (like the mouse opts). Those would probably all be stored
> >> in the lpi (the place I guess beginners would expect it, as all the
> >> other options go there too). So there could be things (all acting o the
> >> currunt B.M>, as do all other chek-boxes)) like:
> >> - add/strip debug to/from ALL packages
> >> - set optimization (0..3) to all packages
> >> - define ( -dSYMBOL) for all packages
> >> - set option for all packages
> > If you mean adding all the compiler options pages in the
> > environment options: -1
> No I did not mean that.
> 
> I meant adding a simplified page in the project options, that allows to 
> control a subset of the new functionality (very much like the mouse is a 
> subset of the advanced mouse)

I see a difference here. The normal mouse options has a few
controls and can do a few things. The advanced mouse options have
lots of tables and you can fine tune a lot of settings.
OTOH the new 'Additions and Overrides' has a few cells with custom
options, IDE macros and output directories. You want to add page(s) with
many controls that can do less.

 
>[...]
> >> like the mouse-opts, this would create the correct advanced settings.
> >> (Though in the xml, it is stored as the 2pre defined setting)
> >>
> >> One thing this can do, is it can force setting on packages. This can not
> >> be (easily) done with the other options.
> > Forcing arbitrary options on packages is dangerous. The GUI should not
> > invite to do such things. The new page allows this, but the comments
> > in this long thread made me confident that normal users will think
> > twice before using it.
> > Dangerous options should be hard to set.
> Ok. but that is a matter of selecting the correct subset, for the 
> simplified package
> 
> "debug type info" should be an option that a user may force on any package.

Let's discuss that in another thread.

 
> "optimization level" most likely too.

Some packages fail with some optimizations. For example we have
currently a few workarounds in the LCL to work with some optimizations.

 
> "removal of -Criot / run time checks" (NOTE removal, NOT adding) should 
> be save in most cases (to be honest, a package that requires it to be 
> set would at least be suspicious... That is, it can probably be 
> constructed, but as for real live...)

Do you want one checkbox to add -Cr- -Ci- -Co- -Ct-?
What about the other checks?

Mattias




More information about the Lazarus mailing list