which however does this:
Index: library-combo.make
===================================================================
--- library-combo.make (revision 38886)
+++ library-combo.make (revision 38887)
@@ -108,8 +108,8 @@
OBJC_LDFLAGS =
OBJC_LIB_DIR =
OBJC_LIBS = $(OBJC_LIB_FLAG) -fobjc-nonfragile-abi
- RUNTIME_FLAG = -fobjc-runtime=gnustep -fblocks -fno-objc-legacy-dispatch
- RUNTIME_DEFINE = -DGNU_RUNTIME=1 -D_NONFRAGILE_ABI=1
+ RUNTIME_FLAG = -fobjc-runtime=gnustep-1.8 -fblocks -fno-objc-legacy-dispatch
+ RUNTIME_DEFINE = -DGNUSTEP_RUNTIME=1 -D_NONFRAGILE_ABI=1
endif
ifeq ($(OBJC_RUNTIME_LIB), gnugc)
I'm not sure how correct or useful this is. I'm specifying this:
$ ./configure --with-layout=fhs --enable-debug-by-default --enable-objc-nonfragile-abi --enable-native-objc-exceptions --prefix=/usr
I guess I'm supposed to manually specify the ng-gnu-gnu combo? Otherwise I still get:
configure:5968: checking whether we should use the nonfragile ABI
configure:5998: clang -c -fobjc-runtime=gnustep-1.7 -x objective-c -I. -I/usr/include -L/usr/lib -fgnu-runtime -DGNU_RUNTIME -fobjc-nonfragile-abi conftest.c >&5
How do I go about that? And should we really be adding a completely new combo?
I see the new environment variable OBJC_RUNTIME_LIB being used in 38887, which, if used with value of 'ng', seems to be activating 'libobjc2'-specific code. I think this should be documented in INSTALL and announced widely.
--------------------------
Additionally, output of 'svn diff -r 38886:38887' is bizarre and the probable cause of the failure I'm seeing. I think this has actually broken the build, as the diff randomly inserts 'int[newline]main ()[newline]{' into configure. How was 'configure' regenerated?
Failure:
configure:5998: clang -c -fobjc-runtime=gnustep-1.7 -x objective-c -I. -I/usr/include -L/usr/lib -fgnu-runtime -DGNU_RUNTIME -fobjc-nonfragile-abi conftest.c >&5
clang: warning: argument unused during compilation: '-L/usr/lib'
conftest.c:19:1: error: function definition is not allowed here
{
^
1 error generated.
configure:5998: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| /* end confdefs.h. */
|
| int
| main ()
| {
|
| /* Note that we never execute this code so it does not really matter
| what it is. We are testing that the compiler accepts the
| '-fobjc-nonfragile-abi' flag. */
| int
| main()
| {
| #ifndef __has_feature
| #define __has_feature(x) 0
| #endif
| return __has_feature(objc_nonfragile_abi) ? 0 : 1;
| }
|
| ;
| return 0;
| }
configure:6004: result: no
configure:6009: The nonfragile ABI was requested, but the compiler
configure:6011: doesn't support it.
configure:6013: error: compiler doesn't support nonfragile ABI