swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Linux to MacOSX port effort.


From: Marc-Antoine Parent
Subject: Re: Linux to MacOSX port effort.
Date: Tue, 23 Apr 2002 19:40:34 -0400

  1) seems to be thoroughly beaten, the cvs sources will compile almost
every time.  The resulting compiler works nicely with Project Builder.
Apple have just released a version (tag gcc3-1041) on the April 2002
Developer Tools as a beta of the next shipping compiler (Jaguar?).

Yes, two things we should remember in that respect:

a) We are dealing with gcc3.1. The Objective C core compiler is normally patched for swarm; and the patch (designed for 3.0) changes lines that have changed between gcc3.0 and 3.1. Has anybody re-examined how to upgrade the patch code to gcc3.1? Is it even still necessary? (Did somebody propose that patch to Gnu?)

b) If you build the apple version of gcc from CVS (the tag I heard about was nervous-weasel-branch), it does not build libobjc, unlike the GNU stock gcc3.1. Now, I understand that swarm has its own libobjc, so it probably does not matter. (I tried building that one under the GNU gcc and ran in trouble, BTW. But that is another story.) But it means being extra careful about the DYLD_LIBRARY_PATH, as it will contain two libobjc!


  2) and 4)With some considerable assistance from Jim Ingham at Apple, I
have got the Aqua port of Tcl/Tk to compile (with gcc 3.1) in such a way
as it should be usable to compile BLT. These are Frameworks with Project
Builder builds.
I think I now understand enough to get BLT2.4x to at least compile within
a matter of days.  Bugs are another matter.
Hopefully this should remove the need for the X-windows installation.

Good work!

So what progress has been made by others out there on the needed libraries
and even compiling the Swarm libraries?

Most of the other libraries (hd5 etc.) can be found in the fink packaging system ( http://fink.sourceforge.net/ ). Since a lot of people have it, I suggest we all go that route.

A few simple build notes: (I'm not done either, but just to avoid people losing time over the same hurdles)
(This is based on swarm-2002-01-14)

in configure:
add .dylib to the many places that list library suffixes (look for ".so .sl .a")

remove -Werror (in OBJCFLAGS)

Change a few JDK targets:
jdkincludedir=$jdkdir/include
expand_jdkincludedir=$expand_jdkdir/include
becomes
jdkincludedir=$jdkdir/Headers
expand_jdkincludedir=$expand_jdkdir/Headers

and in the list of tests about where to find the Java libraries (around line 11863), add the following case

    elif test -f $expand_jdkincludedir/jni_md.h; then
      JAVALIBS='/System/Library/Frameworks/JavaVM.framework/Libraries'
      threads=native
      proc=ppc

I used
configure --prefix=/usr/local/swarm --disable-shared --with-
defaultdir=/sw --with-jdkdir=/System/Library/Frameworks/JavaVM.framework
(/sw is the fink root)

I also had to
cp libobjc/config/powerpc/compiler-info-linux-gnu.h libobjc/config/powerpc/compiler-info-generic.h

in avcall:

Add a darwin line with syntax linux (l. 130)

replace libtool with as in line 132:
        $(LIBTOOL_COMPILE) $(CC) -x none -c $(srcdir)/avcall-
rs6000-$${syntax}.s ; \
as -Wa,-force_cpusubtype_ALL $(srcdir)/avcall-rs6000-$${syntax}.s -o avcall-rs6000-$${syntax}.lo; \
 in avcall/avcall-rs6000-linux.s: __builtin_avcall -> ___builtin_avcall

in src/Makefile, l. 222:
libswarm_la_LDFLAGS = -version-info $(CURRENT):$(REVISION):$(AGE) -rpath $(libdir) $(foreach module,$(SWARMMODULES),-L./$(module)) -L../libobjc $(SUPPORTLDFLAGS)

(add the ./ before ($module) in the -L term)

Good luck to you folks, we'll get it working!
Marc-Antoine Parent


                 ==================================
  Swarm-Support is for discussion of the technical details of the day
  to day usage of Swarm.  For list administration needs (esp.
  [un]subscribing), please send a message to <address@hidden>
  with "help" in the body of the message.



reply via email to

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