[fpc-devel] New FPC Target: AROS

Karoly Balogh charlie at scenergy.dfmk.hu
Fri Aug 5 21:59:31 CEST 2011


On Fri, 5 Aug 2011, Marcus Sackrow wrote:

> perhaps I didnt choose the name for the define well
> in fact I'm a little bit in trouble here because normaly at amiga
> /xxx/ would be in something like ../xxx/ (in Linux)  and so its implemented in
> FExpand atm,
> but the make util (and much other tools for development) in Aros always give
> pathes like /System/Development/ .... which should be resolved to
> System:Development/
> in principle both cases are not distiguishable
> to get fpc self compileable at Aros I had to add this function to FExpand...
> I'm open to other ideas.

This is because GNU make port is based on ixemul, which is a POSIX layer
on top of Amiga-like systems, so it uses POSIX paths, while AmigaDOS under 
the non-ixemul FPC port expect Amiga-style paths. 

In general, the compiler should work with Amiga paths (like on MorphOS), 
but accept and output Un*x paths, where GNU tools expect it. On MorphOS
it has a platform specific PathConv() function in the RTL, which is 
triggered at the required places. Since this is highly Amiga/ixemul
specific, and the mixture of two different path concepts, it should be 
kept outside of /rtl/inc, IMO.

Though I'm not really familiar with AROS, so there could be caveats there, 
I'm unaware of. :) If something is missing, it can still be added to a 
platform-specific extension.

The problem with your example in particular that /System/Development as
Amiga path is perfectly valid, as it means ../System/Development in POSIX
path, not System:Development/ Having this in FExpand() affects all apps
using the RTL on AROS, and can end with tons of random side effects.


More information about the fpc-devel mailing list