GDC on psptoolchain

Lars Ivar Igesund larsivar at igesund.net
Wed Jul 23 15:23:52 PDT 2008


Vincent Richomme wrote:

> Hi,
> 
> Sorry to participate to this discussion but we may have some common goals.
> Actually my company is actually working on generating a cross-compiler
> running on windows CE device.
> We have almost finished, there are some minors bugs but it's pretty close.
> Now I agree with you it would be great if we could compile with no
> dependencies to libphobos and actually it's possible if you pass
> -nophoboslib to linker.
> But more generally we are working on a framework called Gynoid that
> targets embedded platforms(Windows CE, Symbian, Darwin) and it would be
> great if we could add support for PSP...
> 
> There something I don't understand in your sentence below :
> 
>  > Would it be possible to use a stripped down version of Tango orPhobos,
>  > perhaps something that has the base type/classinfo and memory
>  > management stuff and leave the rest alone? I just need auto memory
>  > management and classes and I can use all the sce* psp sdk functions for
>  > other things.
> 
> I thought that memory management was part of the language and not in
> phobos lib, in this case I really agree that it would be interesting to
> remove libphobos dependency and to allow developpers to developp their
> own lib.

The Garbage Collector, threading plus some language support routines (array
operations in particular) are part of libphobos. Passing -nophoboslib
generally means you need to pass something else with enough functionality.

You probably don't want to do that yourself, as parts of it are very
dependent on the compiler (or the other way round).

With Tango, whatever you want to achieve, will be easier. In Tango, the
tango.* namespace/imports (roughly equivalent to std.* in Phobos) is a
separate library, and the runtime (language support) one library (typically
called libtango-base-* where the * is the compiler). Going further, this
runtime is cleanly divided into 3 separate parts, the GC, compiler specific
stuff (Tango currently has support for GDC and DMD), and common stuff
(non-GC functionality common for all compilers, like threading + some
smaller features not present in Phobos). If one for some reason do wish to
replace parts of the runtime, this will be much easier with this setup. In
Tango, the interface provided by the runtime is well specified, and
Tangobos (a Phobos port) in addition to Tango works on top of it.

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango


More information about the D.gnu mailing list