[Lazarus] TMS Software to trial FPC & Lazarus

Graeme Geldenhuys graemeg.lists at gmail.com
Tue Aug 5 09:08:18 CEST 2008



Dear Sirs ,


I want to suggest a directory structure for Lazarus which
will be constructed during installation of Lazarus .

Justification :

( All of the directory examples are given with respect
  to Windows and its directory symbols . )

At present , Lazarus is installed in the C:\lazarus\ and
its FPC in , as an example , C:\lazarus\fpc\2.2.2\ .

This structure is NOT allowing presence of different
Lazarus versions ( such as 0.9.24 - 2.2.0 ,
                           0.9.25 - 2.2.0 ,
                           0.9.25 - ... daily snapshots ,
                           0.9.25 - 2.2.2rc1 ,
                           0.9.25 - 2.2.2rc2 ,
                           etc. .
                  )
to reside in the system simultaneously .

Installing one is removing the another .

Renaming is possible but difficult
( requires renaming from desktop icon ( with its
internals ) to operating system "All programs" list entries to
PATH .


(A)

Suggested directory structure :

  C:\Lazarus\     

with its sub-directories based on
    ( Version of Lazarus - Version of  FPC )
such as listed above :

  C:\Lazarus\0.9.24-2.2.0\
     
  C:\Lazarus\0.9.24-2.2.2rc1\
  C:\Lazarus\0.9.24-2.2.2rc2\
  C:\Lazarus\0.9.25-2.3.1\

etc. .


When Lazarus IDE "Environment options" panel is displayed
for any version group it will be seen as follows ,
as an example :


Lazarus directory ( default for all projects )
   C:\lazarus\0.9.24-2.2.0\

Compiler path ( e.g. ppc386.exe )
   C:\lazarus\0.9.24-2.2.0\fpc\2.2.0\ ...

And , in "All Programs" list , and under the Desktop
icons the names may be seen as follows ,
as an example :

   Lazarus 0.9.24 ( 2.2.0 )
   Lazarus 0.9.25 ( 2.2.2rc2 )
   Lazarus 0.9.25 ( 2.3.1 )
   etc.


(B)

It is seen that , all of the Lazarus variants
is using own ...\fpc\... directory which means
they are duplicates of others .

My other primary suggestion is to separate these
directories .

If a different FPC release is required , install it
under the C:\fpc\ directory with its own version
number .

When there are different programs which they are
not in FPC releases , these programs may be located
in a directory such as

  C:\lazarus\0.9.24-2.2.0\bin\i386-win32\ ...
    ( when they are dependent on Lazarus version )

or

  C:\lazarus\bin\i386-win32\ ...
    ( when they are independent from Lazarus version ) .

In that way , instead of holding ,

as an example ,
   ( 3 different Lazarus versions ) multiplied by
   ( 4 different FPC  versions ) directories
   which will be twelve directories .

there will be needed only

   ( 3 different Lazarus versions ) added by
   ( 4 different FPC  versions ) directories
   which will be seven directories .

In computing applications ( more replications )
is ( MUCH more difficulties ) .


(C)

Personally I tried to separate Lazarus and
FPC directories but I could not be successful
because it seems that Lazarus in some points
are constructing fpc related directory names
from parts . In this case , specification of
a different path from its default is not
matching to its constructed names .

Instead of such a name construction , a single
variable holding the fpc directory may be used
throughout in all of the sources .

Also changing FPC related directory names in
project related ( project1.lpi ) XML file is
not effective . It seems that Lazarus is NOT
reflecting the directory names in *.LPI file
into its internal names .


(D)

Such a directory structure may be very useful
because in a program development environment ,
during use of a stable version , it will be
possible to experiment with the new version(s)
without disturbing or destroying program
development process and without requirement
of a new computer for experimental works with
new version(s) .


Thank you very much ,

Mehmet Erol Sanliturk




More information about the Lazarus mailing list