I'm looking at how core/base gets built and installed on my OS X. There are lots of references to darwin so it clearly used to work but almost as many to next-runtime. And the configuration check for objc fails because the test program won't link when -fnext-runtime is used but does link and even runs when I hardcode -fobjc-runtime=gnustep-1.7 in the configuration script in its place. I wonder if anyone is using the latest gnustep source on darwin? My impression is that no one is. No one has offered to say how they get it to build on this thread and this mailing list has no mention of OS X successes in some time.
-fnext-runtime seems to be an old option to clang. As of clang 3.2, a new -fobjc-runtime= option was introduced and -fnext-runtime seems pushed to the side, marginally supported but not showing up in the --help output by 3.3.
To fix this, do we keep making the configuration script more and more complicated so it can stay backwards compatible even though we don't see it working for anyone? If so, I guess we could test for the version of clang being used and if it is 3.2 or greater and the objc2 library is found to be installed, build up the objc compile and link arguments differently.
I have to admit I don't know how well the current configuration script would work if I hadn't installed the objc2 library first. I'm not interested in trying to match some of the gnustep code with some of the OS X supplied objective-c code for myself. My goal is to build and test code on OS X that will also build and run on FreeBSD and Linux systems, using gnustep/objc2/dispatch and standard C libraries and headers.
If we get core/base building again for OS X 10.8 using a new clang, I can test if it works without objc2 installed.
So what do folks think. How do we decide how to move the configuration script forward so it works with the new compiler and is actually testing the options that will be used for the build?
-Frank