[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: compiling GNUstep on OpenBSD - various compiler/runtime options

From: Johannes Brakensiek
Subject: Re: compiling GNUstep on OpenBSD - various compiler/runtime options
Date: Fri, 03 Jan 2020 12:40:17 +0100

On 3 Jan 2020, at 11:08, Richard Frith-Macdonald wrote:

This gives us the following combinations possible:

1) gcc + own runtime (make detects this config all by itself)

2) gcc + libobjc2 (make configured with gnu-gnu-gnu)

3) clang + libobjc2 and make configured gnu-gnu-gnu

4) clang + libobjc2 and make configured ng-gnu-gnu

The introduction of the ng runtime specification was supposed to mean that we *don't* have those four options: it means we support only two setups (1) and (4) above. The combinations you list as (2) and (3) are unsupported/invalid because
1. means the original (also called legacy) objc
4. means all the latest next-gen stuff (next-gen because we didn't want to use the objc-2.0 lable) There's nothing in between as a simple recognition of the realities of what compiler works reliably with each runtime. In practice, clang may be able to build code for the old runtime (so individuals might get 3 to work for them, but we can't support them)

This really seems a little complicated because regarding next-gen stuff we have the 1.x runtimes supporting another (mixed?) ng ABI than the 2.0 runtime (which supports private ivars and stuff, but does not support the GCC ABI anymore if I understood correctly).

Maybe somebody is able to update this FAQ which seems a little outdated?

It even seems to me there are some contradictions. Below „Which Runtime Should I use?“ it reads: „If you want to make use of fast enumeration or declared properties, you can use the GCC runtime and GCC 4.6 or later.“

Below „Which Bits of Objective-C 2 Work?“ I’m reading: „Currently, no features of Objective-C 2 work with GCC.“

Thanks in advance

reply via email to

[Prev in Thread] Current Thread [Next in Thread]