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 _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
