[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Swarm and GNUstep
From: |
Marcus G. Daniels |
Subject: |
Re: Swarm and GNUstep |
Date: |
Tue, 01 Oct 2002 11:57:56 -0600 |
User-agent: |
Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.2a) Gecko/20020909 |
Paul E Johnson wrote:
I'm trying to figure why Swarm has its own libobjc. I've compared the
header files of Swarm's libobjc files and the gcc-3.0.4 and the
differences are minor.
libobjc is in Swarm for three reasons.
1) Historically, Cygwin has not included the Objective C compiler or
the runtime.
Because it was necessary to pull the runtime into the Java
environment, it
was going to be necessary to have it on hand in order to link it
into a DLL.
(Unlike the Unix shared library model, Windows DLLs are fully
resolved links.)
2) There have been small but significant fixes for the sake of 64 bit
systems like
Tru64 in the Swarm copy of the libobjc runtime. Packaging
libobjc with Swarm
was an easy way to provide control over such things, e.g. when
the fix was fragile
and potentially bounded to known usages in Swarm.
3) At the time, Objective C was pretty much dead. Apple has brought
Objective C
back to life to some extent, and it would now make sense to
identify the
fixes and feed them back into the mainline (when there isn't an
alternative fix in the
modern sources). Note, the mframe code lives in the Swarm copy
of libobjc,
and would need to be merged with GNUstep, if it still has that
(again, there are a number of Swarm-private changes to that code,
which was taken
from an old, stale codebase). mframe is used for taking apart
forwarded call frames
for resending to Java by FCall.
There should be no problem merging Swarm with GNUstep, since the
Objective C data structures are the same. Note, however, that the
phase-oriented programming model is different enough that in practice it
would be no more `natural' to use GNUstep Objecitve C than Java.
==================================
Swarm-Support is for discussion of the technical details of the day
to day usage of Swarm. For list administration needs (esp.
[un]subscribing), please send a message to <address@hidden>
with "help" in the body of the message.