[Lazarus] Using different FPC versions

patspiper patspiper at gmail.com
Mon Feb 10 18:45:44 CET 2014


On 10/02/14 19:26, Mattias Gaertner wrote:
> On Mon, 10 Feb 2014 19:01:28 +0200
> patspiper <patspiper at gmail.com> wrote:
>
>> [...]
>>> You can not (yet) override environment variables like PATH when invoking FPC.
>>> Once this is implemented, it can be done by "additions and overrides" too.
>> Although it is a welcome feature, it will make the usage really
>> complicated considering build modes might cater for debug/release, FPC
>> version, win/linux, etc...
> You *can* override an env var, you don't need to. You can still use your
> script and set env vars and restart the IDE.

This is exactly what I meant. I was maybe not 'verbose' enough.

>
>   
>> I instead propose to have a field next to the compiler path in the IDE
>> options that accepts fpc's -Xp parameter. Xp allows one to specify the
>> relative folder of the actual compiler (ppcxxx) with respect to the fpc
>> executable. That would work well since each ppcxxx's location is fixed
>> with respect to its associated fpc executable.
> "fpc -h" does not mention -Xp.
> "fpc -Xpdummy" does not give any error.
> What does it do?

It allows the caller to specify the location (AFAIK it can be a relative 
path) of ppcxxx (the actual compiler). That option removes the need to 
rely on env variables to specify the fpc and ppcxxx paths. It would be 
enough to provide a qualified path in the IDE options for the fpc 
executable, and coupled with a -Xp field, it would allow fpc to locate 
the ppcxxx executable.
ex: ./fpc -h -Xp../lib/fpc/2.6.3

I suppose -Xp is not included in fpc -h output because its functionality 
is in the fpc executable whereas the general help is in the ppcxxx 
executable. Probably the same applies to the -V option (to use 
ppcx64-<version).

Stephano




More information about the Lazarus mailing list