[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Next release
From: |
David Ayers |
Subject: |
Re: Next release |
Date: |
Mon, 18 Aug 2003 18:13:51 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 |
Ed Waldmire wrote:
To all concerned,
I just want to make clear that this error is NOT from Mac OS X, but
rather pure Darwin on x86. I admit, I am not sure if this makes a
difference for the error, but I felt it best to make this clear.
Hmm, yes it does make a difference. Darwin doesn't come with
Foundation/AppKit so you actually need to build the library combonation
apple-gnu-gnu (Apple's ObjC Runtime, GNUstep-base, GNUstep-gui) or
gnu-gnu-gnu.
In this case I would /want/ to advise you to install the FSF GCC. Yet I
can't say which version because I believe the newest version already
doesn't allow you to build objc on Darwin. This has to do with the
problems of installing two objc runtimes on the same machine. I'm
currently working on a (hacky) patch to show how it could work.
Could someone who has GNUstep on Darwin installed help out here? I'm
not sure what is the best aproach. Making GNUstep work with Apple's
runtime or making -fgnu-runtime/-fnext-runtime work with the FSF GCC on
Darwin.
FWIW, I've attached the patch I'm using to tweak FSF GCC to allow
-fgnu-runtime/-fnext-runtime... but this is currently in the state "it
works for me" and has a couple of implications that may need dealing
with. (You can't install a runtime in /usr/local [but that's the case
now allready and I see no way of changing it.] and the search path is
extended for every language.)
Cheers,
David
? objcruntime.patch
Index: gcc/c-incpath.c
===================================================================
RCS file: /cvsroot/gcc/gcc/gcc/c-incpath.c,v
retrieving revision 1.9
diff -u -r1.9 c-incpath.c
--- gcc/c-incpath.c 29 Jul 2003 22:26:09 -0000 1.9
+++ gcc/c-incpath.c 18 Aug 2003 13:38:51 -0000
@@ -28,6 +28,8 @@
#include "c-incpath.h"
#include "cppdefault.h"
+extern int flag_next_runtime;
+
/* Windows does not natively support inodes, and neither does MSDOS.
Cygwin's emulation can generate non-unique inodes, so don't use it.
VMS has non-numeric inodes. */
@@ -123,7 +125,9 @@
const struct default_include *p;
size_t len;
- if (iprefix && (len = cpp_GCC_INCLUDE_DIR_len) != 0)
+ len = cpp_GCC_INCLUDE_DIR_len;
+
+ if (len != 0 && iprefix)
{
/* Look for directories that start with the standard prefix.
"Translate" them, ie. replace /usr/local/lib/gcc... with
@@ -141,6 +145,14 @@
{
char *str = concat (iprefix, p->fname + len, NULL);
add_path (str, SYSTEM, p->cxx_aware);
+
+ /* The following should only be included if
+ configured with objc. */
+ if (!flag_next_runtime)
+ {
+ str = concat (str, "/libobjc", NULL);
+ add_path (str, SYSTEM, p->cxx_aware);
+ }
}
}
}
@@ -159,6 +171,15 @@
str = update_path (p->fname, p->component);
add_path (str, SYSTEM, p->cxx_aware);
+
+ /* The following should only be included if
+ configured with objc. */
+ if (!strncmp (p->fname, cpp_GCC_INCLUDE_DIR, len)
+ && !flag_next_runtime)
+ {
+ str = concat (str, "/libobjc", NULL);
+ add_path (str, SYSTEM, p->cxx_aware);
+ }
}
}
}
Index: libobjc/Makefile.in
===================================================================
RCS file: /cvsroot/gcc/gcc/libobjc/Makefile.in,v
retrieving revision 1.24
diff -u -r1.24 Makefile.in
--- libobjc/Makefile.in 23 May 2003 20:04:58 -0000 1.24
+++ libobjc/Makefile.in 18 Aug 2003 13:39:07 -0000
@@ -330,10 +330,10 @@
# Copy Objective C headers to installation include directory.
install-headers:
- $(SHELL) $(toplevel_srcdir)/mkinstalldirs
$(DESTDIR)$(libsubdir)/include/objc
+ $(SHELL) $(toplevel_srcdir)/mkinstalldirs
$(DESTDIR)$(libsubdir)/include/libobjc/objc
for file in $(OBJC_H); do \
realfile=$(srcdir)/objc/$${file}; \
- $(INSTALL_DATA) $${realfile} $(DESTDIR)$(libsubdir)/include/objc; \
+ $(INSTALL_DATA) $${realfile}
$(DESTDIR)$(libsubdir)/include/libobjc/objc; \
done
check uninstall install-strip dist installcheck installdirs: