[fpc-devel] New FPC Target: AROS
Karoly Balogh
charlie at scenergy.dfmk.hu
Fri Aug 5 21:59:31 CEST 2011
Hi,
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.
Greetings,
--
Charlie
More information about the fpc-devel
mailing list