[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ABI compatibility with Cocoa
From: |
Luboš Doležel |
Subject: |
Re: ABI compatibility with Cocoa |
Date: |
Mon, 06 Aug 2012 17:34:29 +0200 |
User-agent: |
Roundcube Webmail/0.5 |
On Mon, 6 Aug 2012 15:41:20 +0100, David Chisnall wrote:
You might be interested in a NetBSD project that did the same thing
about 8 years ago. They eventually gave up because all of the
interesting OS X software (e.g. the window server) has hooks so
deeply
into the Mach layer, and everything on top of it has close
dependencies on it, that you effectively need 99% of OS X to have
anything interesting.
Oh yes, I've read all about that NetBSD project. But their approach was
quite different from mine. They actually tried to make *the system* be
like Darwin/OS X, while I'm doing everything in the user space. Just
like Wine doesn't emulate any sort of very low level windowing
functionality, they simply reimplemented the Windows APIs that are used
to create GUIs.
That means I will certainly not be dealing with the window server the
level the NetBSD guys did, I'll only be providing a
semi-reimplementation of the upper-level libraries the applications use.
I'm also not making any modifications to the Linux kernel at all.
Replacing Cocoa's AppKit with GNUstep is difficult. In theory, you
should be able to just add Apple runtime parts for the
runtime-specific things in, for example, NSObject. This isn't
trivial, because OS X does layering in different places to us.
You'll
also find problems from any applications that rely on implementation
details of the OS X frameworks.
David
Right, I know there will be a lot of missing libs that will have to be
rewritten. But as long as the function calls remain the same API/ABI
wise (e.g. same arguments...) between GNUstep and AppKit, it could get
many apps running.
Well, I'll let you know of my progress! If things work out, I think it
could get more people interested in improving GNUstep.
--
Luboš Doležel