when you add additional libraries to your FPC and/or Lazarus installation, how do you normally do it? where do you normally place them?
i'm thinking of libraries like synapse, fpGUI, tiOPF and similar...

Mailing lists / fpc-pascal / 2012-11
5 messages · 3 people · –
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
when you add additional libraries to your FPC and/or Lazarus installation, how do you normally do it? where do you normally place them?
i'm thinking of libraries like synapse, fpGUI, tiOPF and similar...
waldo kitty wrotewhen you add additional libraries to your FPC and/or Lazarus installation, how do you normally do it? where do you normally place them?
Do you mean your directory layout on your hard drive?
Regards,
- Graeme -
yes, sorry...
currently i have something like this...
\freepascal\
\freepascal\binutils\ latest release of ppc386.exe and i386-win32 directory \freepascal\fpc\
\freepascal\fpc\2.6.0\ svn sources and compiled version \freepascal\laz\ svn sources and compiled version \freepascal\libs\ considering this for add-on libraries \freepascal\libs\synapse39 eg: for synapse release 39 \freepascal\libs\synapse40 eg: for synapse release 40 \freepascal\projects\ projects hierarchy directory
i know that some of these libraries have lazarus packages... i don't want to get them mixed up with the FPC and/or Laz sources from svn and have problems there if i have to wipe those directories to start all over like i've had to do in the past... plus i don't always use lazarus for my editor... the big thing is that i also copy some projects over to my OS/2 box and compile over there with fpc directly so everything has to be the same on both boxes as far as the directory layout goes...
is that better? ;)
when you add additional libraries to your FPC and/or Lazarus installation, how do you…
waldo kitty wrotewhen you add additional libraries to your FPC and/or Lazarus installation, how do you normally do it? where do you normally place them? i'm thinking of libraries like synapse, fpGUI, tiOPF and similar...
It depends. If the libraries contains GUI elements (which requires an installation in lazaurus), I put them under
lazarus/3rdparty/$PACKAGENAME
Non-visual units like synapse, I put under a /libs directory in the specific project. So every project could have an other version of the library.
project1/libs/synapse <- contains version 39 of synapse project1/libs/tidypas <- last version of tidy pascal wrapper
project2/libs/synapse <- contains version 40 of synapse
In this case, I also have the libs in my subversion repository.
Michael
yes, sorry... currently i have something like this... \freepascal\ \freepascal\binutils\ …
waldo kitty wroteyes, sorry...
OK, I currently have the following layout. I like to keep paths to libraries and projects as should as possible. I used to use /opt/fpc-x.y.z/ and /opt/laz/ etc. /opt and /home is normally in separate partitions so that if I update (reinstall) my Linux OS, I can format / and my /opt and /home partitions are not affected. This has worked very well for many years.
But for some reason I decided with my latest PC to only have two partitions. / and /home so now all my programming work is in my home directory. Here is my directory layout.
$HOME/devel/
is where all my programming content lives. I then have the following structure under that directory.
Most used frameworks are top level to shorten directory paths - like for mseide or maximus.
|-data [Firebird *.fdb database files etc.] |-docs
|---inf [RTL,FCL,LCL,fpGUI,tiOPF etc help for DocView] |---pdf [docs from FPC but in PDF format - hardly used] |-<client_name> [I group paid work by client and project] |---<project_name>
|-fpc-2.6.0 [I have one ~/.fpc.cfg for all FPC versions] |---src
|---x86_64-linux
|------bin
|------lib
|------...
|---i386-linux
|------bin
|------lib
|------...
|---i386-win32
|------bin
|------lib
|------...
|-fpc-2.7.1
|---... [same structure as v2.6.0 above] |-lazarus [this is trunk]
|-lazarus-0.9.30.4 [stable release for production work] |-mseide [I sometimes use this IDE too] |-fpgui
|-tiopf2
|---src
|---website
|---supportapps
|-tiopf3
|---src
|-fptest [Free Pascal fork of DUnit2 project] |-3rdparty
|---onguard
|---synapse
|---fpc_docs [FPC Docs subversion checkout] |---pwu
|---dcpcrypt
|---zeos
|---ibx
|-personal
|---<any_private_projects>
|-tests
|---<any_test_projects>
used for testing components or bugs reports
For my virtual machines (I use VirtualBox), I'll setup a share which points to $HOME/devel/
The above setup is on my actual PC running OpenSUSE. I'm moving all my development work into virtual machines. So I'll end up with three development VM's - one for 64-bit Linux, and one for 32-bit Windows and one for 64-bit FreeBSD. All of these are already setup, except for the 64-bit Linux VM - the last setup to be completed this week.
I then have other testing VM's for 32-bit Linux, 64-bit Windows, ReactOS, Solaris etc. Some have a FPC compiler setup, others are just for testing cross-compiled apps.
The nice thing of having your development work setup as VM's, is that if you have hardware troubles, I can move the VM's to another system, install VirtualBox, and continue as normal - until my main desktop PC is fixed.
also copy some projects over to my OS/2 box and compile over there with fpc directly so everything has to be the same on both boxes as far as the directory layout goes...
With virtual machines (like VirtualBox), I can create a virtual shared drive. So I could actually setup all my development software on that, and simply add it as a second drive to any of my VM's.
And that is it! Hope it helps.
Regards,
- Graeme -