[Lazarus] How to use two different versions of FPC

Mark Morgan Lloyd markMLl.lazarus at telemetry.co.uk
Wed May 9 13:48:44 CEST 2018


On 09/05/18 10:45, Joost van der Sluis via Lazarus wrote:
> Op 08-05-18 om 13:46 schreef Giuliano Colla via Lazarus:> E.G. you may 
> have a full tree (fpc+Lazarus) in ~/development/ another > one in 
> ~/production and a third one in ~/experiments. The main trick, as > far 
> as fpc is concerned, is to have as fpc executable an fpc.sh (a name > 
> which is accepted by Lazarus) which sets up whatever is needed. This is 
>  > a sample of fpc.sh:> >> #!/bin/sh # This script starts the fpc 
> compiler installed by fpcup # >> and ignores any system-wide fpc.cfg 
> files # Note: maintained by fpcup; >> do not edit directly, your edits 
> will be lost. >> /home/colla/development/fpc/bin/x86_64-linux/fpc -n >> 
> @/home/colla/development/fpc/bin/x86_64-linux/fpc.cfg "$@" That's more a 
> hack then a solution, and the real solution is simple and also works 
> outside Lazarus: place the fpc.cfg in ~/experiments/etc, 
> ~/development/etc etc, as already suggested by Ingo. Or, even better, 
> just alongside the compiler-executable. You can call 'fpc -va' to check 
> which configuration file is used.
> See the documentation for more info: 

On Linux and Solaris I have a /usr/local/bin/fpc.d directory containing 
multiple versions. In /usr/local/bin I basically have

fpc
fpc.d
fpcres
ppcx64 -> ppcx64-3.0.2
ppcx64-2.6.4 -> /usr/local/lib/fpc/2.6.4/ppcx64
ppcx64-3.0.0 -> /usr/local/lib/fpc/3.0.0/ppcx64

It works well except for building FPC itself when I have to modify the 
ppcx64 symlink, and there were problems with trunk at some point when it 
ignored instruction to install into e.g. fpc.d/2.7.1

-- 
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]


More information about the Lazarus mailing list