This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Your patch: don't configure libobjc on Darwin


Stan Shebs wrote:

Ziemowit Laski wrote:


On Friday, Jul 18, 2003, at 11:46 US/Pacific, Stan Shebs wrote:


Nicola Pero wrote:

It seems to me that you have applied a radical patch causing a major
regression (since the GNU Objective-C runtime was available on Darwin in
all previous releases of GCC, and is no longer available now) just because
you don't want to spend twenty minutes figuring out how to install both
runtimes together on darwin and switch safely between the two. I'm afraid
you'll have to fix your laziness, or revert your damaging patch.


It's a bit more than a 20-minute job I'm afraid, because on Darwin
both the NeXT and GNU libraries and headers are mutually exclusive
and will try to override each other in bad ways.  I poked at this
very issue a couple years ago, and it took about 20 minutes :-) to
learn the full nastiness of the problem; for instance, dealing with
conflicting headers would probably require significant fixincludes
hacking, so that you don't get disasterized by seeing NeXT headers
when compiling with -fgnu-runtime.

Why not pick a separate location for the (GNU) ObjC headers to be installed,
and then have the compiler search in it iff -fgnu-runtime is specified
(explicitly or implicitly) before it looks into /usr/include?


Hmm, that sounds like a good idea, sort of like how libstdc++ headers
go into a special place now.


First of all, let me point out that Nicola's suggestion "to spend twenty minutes figuring out how to install both runtimes together on darwin and switch safely between the two" falls exactly into this typ of approach. No one insinuated that both sets of headers should be reachable in all cases.

Eventhough the suggestion to install the GNU runtime headers in a different location will solve the technical problem, I still think the priorities are a bit distorted. Instead of installing the free GNU runtime headers into a special directory which will require extra -I flags, I think the NeXT runtime headers should be located there. I'm don't think the gcj java runtime maintainers would prefer a different runtime to thiers either. I think Nicola has a very valid point. The GNU ObjC runtime should be the default of the FSF GCC. Of course Apple will be free to do as they like with the GCC that they deliver. I could imagine a configure option which indicates which runtime headers get installed in a special place.

If no one is willing to do this, my offer stands.

Cheer,
David



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]