gnustep-dev
[Top][All Lists]
Advanced

[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:

reply via email to

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