On 21 Oct 2013, at 21:01, Lloyd Sargent <[email protected]> wrote:
> Okay, much of you answer is clear as mud to me as I don't know what they mean: > > 1. non-fragile ABI is indicated by the -fobjc-nonfragile-abi if I'm not > correct. I have compiled the sample program and get the same issue. That's the legacy mechanism for doing it. Now, it's largely subsumed by the -fobjc-runtime= flag. If you specify gnustep then it will generate code understandable by ANY version of the GNUstep runtime. This version of the ABI is incompatible with the version required by ARC. If you specify -fobjc-nonfragile-abi, then it will use the pre-ARC modern ABI, which is compatible with ARC. > 2. If the issue is that EVERYTHING needs to be compiled with the > -objc-nonfragile-abi, then I'm at a loss at how to do this - nor does the > GNUstep website indicate how to do so. Everything must be compiled with an ABI that is compatible with the ABI that is required for ARC. > 3. What does gnustep-1.7 mean? Is that the legacy (non-ARC) or the (ARC) or > GC or something altogether different? -fobjc-runtime=gnustep-1.7 means generate code that will work on version 1.7 (or later) of the GNUstep Objective-C runtime. This will generate object code with an ABI that is compatible with ARC. > 4. I appreciate your answer, but it still doesn't suggest a way for me to get > from where I am (code not running) to where I want to be. BTW, libdispatch > and base appear to work just fine, it is the gui that crashes and burns. Well, the easiest way is to use FreeBSD, where you have out-of-the-box packages that Just Work, but in the absence of that: Configure -make with --enable-objc-nonfragile-abi --enable-native-objc-exceptions I'd also recommend configuring -base with --disable-mixedabi (this isn't essential, but if you're building everything with the non-fragile ABI then it will save some memory). For good measure, I generally set OBJCFLAGS='-fobjc-runtime=gnustep-1.7 -fblocks' GNUstep-make ought to do this automatically, I think, but it doesn't seem to. David _______________________________________________ Discuss-gnustep mailing list [email protected] https://lists.gnu.org/mailman/listinfo/discuss-gnustep
