Re: Porting Prima

From: Dmitry Karasik <dmitry_at_karasik.eu.org>
Date: 14 Aug 2003 13:56:05 +0200
To: prima_at_prima.eu.org

        Hi Sean!

On 13 Aug 03 at 15:22, "Sean" (Sean Healy) wrote:

 Sean> I'd like to port Prima to BeOS. This is my favorite OS, and I've
 Sean> been using Prima so much lately on my Windows and Linux machines
 Sean> that it's becoming annoying not to have it in BeOS. However, after
 Sean> checking the source code for the various 'guts' portions, I'm
 Sean> confused - I expected that they'd have the same repertoire of
 Sean> functions, and that the actual code in the functions would be the
 Sean> different part.

No, they do - look into include/apricot.h for functions with apc_ prefix. There
are ( historically ) couple of guts functions without apc_ in their names,
but these are easy to figure out.

 Sean> At some point, there must be something that's the same, so that the
 Sean> system-independent part can call it without caring what system it's
 Sean> on. But what is that something? What are the functions, classes,
 Sean> etc. that need to be in the system-dependent part for the
 Sean> system-independent part to use?

No classes, and no common data structures declared into the system-dependent
part is exported to the system-independent part. Only apc functions are, but
these, in turn, do use classes and data structures declared in the
system-independent part.

I have no idea about whether there is any sort of X11 API emulation under
BeOS, but if there isn't any, and if BeOS API is far from OS/2 or Win32,
the porting business wouldn't be easy. Plus, noone ever before was
interested into porting of such scale, so there are no API docs. OTOH, it's
not that scary. If you're unsure how a piece of code should behave, you
either ask here or check the function on another OS, and usually the names
of apc functions speak for themselves.

-- 
Sincerely,
	Dmitry
--- www.karasik.eu.org ---
Life ain't fair, but the root password helps.
                      - BOFH
Received on Thu 14 Aug 2003 - 13:56:08 CEST

This archive was generated by hypermail 2.2.0 : Sat 19 Mar 2011 - 18:35:04 CET