[lazarus] Compiler Options

Michael Van Canneyt michael.vancanneyt at wisa.be
Wed Mar 22 05:00:17 EST 2000

On Wed, 22 Mar 2000, Michal Bukovjan wrote:

> "Michael A. Hess" wrote:
> > Curtis White wrote:
> > >
> > > > For the storage of Lazarus options, I would recommend using
> > > > something like ~/lazarus/.compileroptions.xml instead.
> >
> > This should be the only place.
> >
> > > > In the above directory, these would be user-specific options. The
> > > > global defaults should go to /etc/lazarus/.compileroptions.xml
> >
> > This would be bad. In a single user work station this would be OK but
> > given Linux's multiuser organization and the fact that a business might
> > want to use FPC with multiple developers I would not be happy if my
> > defaults settings would change because somebody else set theirs in a
> > different manor. All of the settings need to be placed in the users home
> > ~/ directory tree.
> I agree. This should not be the only place, though. For me it seems logical
> to have some this structure :
> Hardcoded defaults -> System-wide settings (/etc/lazarus) -> User specific
> settings (~/lazarus)
> The settings would then be looked up in this order. When user settings are
> not found, a system wide fallback would be used. If not found, hardcoded
> defaults would take place. This method is used in Afterstep, Gnome, and
> bunch of other apps I looked so far. The problem you describe above can be
> solved by copying system wide settings into your user directory the first
> time Lazarus is launched.
> >
> > > I agree with this, but then how do we do it on Windows?  I'm not sure
> > > exactly how to handle this without putting in $IFDEF's to determine if
> > > we are in Linux or Windows.  And I don't think we are using IFDEFs
> > > like that. So how do I handle this?
> >
> > The best way is to do what the FCL does. Create 2 seperate files. One
> > for Linux in a Linux directory and one for Windows in a Win32 directory.
> > When the program is linked the Makefile will use the correct directory
> > in it's units setting. The LCL code will just call the same procedure
> > and the Makefile makes sure the correct .ppu is linked for the correct
> > platform. In fact we need to do more of this with other items.
> >
> > If I can ever get my butt in gear and finish it this is how the
> > TRegistry will work. The Win32 files will use the REAL Windows Registry
> > and the Linux files will use an XML look alike. The correct .ppu pointed
> > to linked in by the Makefile.

If you implement TRegistry, I suggest you send it to me, so I can include
it in the FCL - after all, it isn't a visual component...


More information about the Lazarus mailing list