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 _______________________________________________ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus