Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2012-11

adding additional libraries

5 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

waldo kitty

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...

Graeme Geldenhuys
to waldo kitty
waldo kitty wrote
when 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 -

waldo kitty
to Graeme Geldenhuys
Graeme Geldenhuys wrote 6 lines
On 2012-11-09 19:53, waldo kitty wrote: > > when 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?

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? ;)

Michael Fuchs
to waldo kitty: when you add additional libraries to your FPC and/or Lazarus installation, how do you…
waldo kitty wrote
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...

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

Graeme Geldenhuys
to waldo kitty: yes, sorry... currently i have something like this... \freepascal\ \freepascal\binutils\ …
waldo kitty wrote
yes, 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 -