[fpc-pascal] OS/2 $fpctarget macro in FPC .cfg files

Tomas Hajny XHajT03 at hajny.biz
Sun Nov 8 14:26:36 CET 2015

On Sun, November 8, 2015 12:03, Graeme Geldenhuys wrote:

Hi Graeme,

> I have use the $fpctarget macro for unit output for years, and this
> works under Windows, Linux and FreeBSD.
> eg:
>   -FU../lib/$fpctarget/
> The output is normally something like "../lib/i386-linux/" or
> "../lib/x86_64-freebsd/".
> But under OS/2 that macro translates only to to the text "os2", thus the
> Unit Output Path ends up being:  "..\lib\os2\" when I actually expected
> "..\lib\i386-os2\"
> Why isn't the "i386-" part added? Is this expected behaviour?

Yes, it works as designed. The same happens with target GO32v2. The reason
is that these targets may be used with 8.3-limited file system (the
original FAT) and thus the target OS is used there without the CPU prefix
to reduce the barriers (it doesn't have any unwanted side-effectsn because
these targets are not supported on other CPUs anyway). Most users wouldn't
even notice it (especially considering the fact that cross-compilation to
the OS/2 target from other hosts isn't very easy at the moment).


More information about the fpc-pascal mailing list