swarm-hackers
[Top][All Lists]
Advanced

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

Re: [swarm-hackers] Old autoconf build process is broken in current trun


From: Bill Northcott
Subject: Re: [swarm-hackers] Old autoconf build process is broken in current trunk
Date: Thu, 26 Nov 2009 12:28:13 +1100

On 26/11/2009, at 11:33 AM, Scott Christley wrote:
> On Nov 25, 2009, at 3:15 PM, Bill Northcott wrote:
>> 
>> I thought from your previous email that I needed --enable-openstep to use 
>> the Apple runtime.
> 

> I never considered before using tcl/tk GUI together with Apple runtime, as I 
> said before I didn't want to invalidate your previous Mac work which used the 
> GNU runtime.

As I said the old Mac work is totally invalidated by events anyway.  So there 
is no point trying to preserve it
> 
> There will need to be more work to do this properly, because if you use the 
> Apple runtime, you pretty much have to by default use NSObject and Cocoa, 
> they are intimately tied together with the objc runtime.  But we want to 
> compile the tcl/tk GUI classes instead of the Openstep ones.
> 
I think I get the association between Apple's runtime and NSObject,  But as I 
understood it you have amended the code so that the root SwarmObject with its 
phasic architecture is built on NSObject and does not grovel in the runtime 
beyond documented APIs.  What does this have to do with the GUI?

>> I tried without openstep and got:
>> 
>>> libtool: compile:  gcc -B ../../tools -DHAVE_CONFIG_H -I. -I./objc 
>>> -I../../../libobjc -I../../../libobjc/objc -I../../../libobjc 
>>> -DBUILDING_LIBOBJC -g -Os -fnested-functions -B ../../../libobjc/../tools 
>>> -fno-strict-aliasing -Wall -Wno-import -Wno-protocol -Wno-long-long 
>>> -fno-strict-aliasing -Wall -Wno-import -Wno-protocol -Wno-long-long -MT 
>>> Protocol.lo -MD -MP -MF .deps/Protocol.Tpo -c ../../../libobjc/Protocol.m  
>>> -fno-common -DPIC -o .libs/Protocol.o
>>> ../../../libobjc/Protocol.m:79:0 ../../../libobjc/Protocol.m:79: error: 
>>> @defs is not supported in new abi
>>> ../../../libobjc/Protocol.m: In function '-[Protocol 
>>> descriptionForInstanceMethod:]':
>> 
>> There also seems to be an @defs in List.h.  I have no idea what this is 
>> about at this point.
>> Do you know if this code is actually used anymore?  I understand it as a way 
>> of breaking the encapsulation and grovelling in the data structures, which 
>> is not nice unless really needed.  Any way, the compiler does not understand 
>> it.  I suspect this is chopped out by your build.
> 
> No reason to compile the Swarm modified GNU runtime if going to use the Apple 
> runtime...

I would love to see the modified runtime, mframe and avcall all buried and 
removed from the codebase entirely.  It would be a huge simplification for 
future maintenance and adding extra high level features for modellers.  Can we 
use your great work to abstract the runtime to use the standard GNU runtime?
> 
> Can you tell me what other packages I should install.  I essentially just 
> need the TCL/TK framework for Mac?

You need Tcl/Tk and BLT.  PNG, HDF5 are optional frills.  There some issues:
Currently there are three versions of Tk for MacOS X
  1.  The system Tk is fat (i386, x86_64, ppc7400) Carbon based code for 
versions 8.4 and 8.5.  BLT 2.4 assumes X11 and although someone did get BLT 
working with it , but it never got debugged.  The file command shows this Tk as 
including x86_64.  I don't quite get that because it is linked to the Carbon 
framework which is not 64-bit - go figure.  Maybe this helps 
http://www.carbondev.com/site/?page=64-bit+Carbon
2.  The upcoming Tk 8.6 will have a full Cocoa implementation with no Carbon.  
You can easily build this from sources, but I have no idea how to get BLT to 
work with it.
3.  Tk 8.4 and 8.5 can still be built with X11 on MacOS X.  For my last release 
I distributed a Tk 8.4-X11 framework with BLT and I have built an 8.5 version 
but backed off because of the 8.5 font issues which I read about.  I only have 
ppc versions of this code.

My thought was to just build a fat X11 version of Tk8.4 with BLT.  It would use 
the System Tcl which is of course not involved with the GUI.  That would let me 
release a working fat binary for 10.5 and 10.6.
The next stage would be a Cocoa GUI version not using Tcl/Tk.

> 
> I will try to get a system together so I can test along with you.  If your 
> goal is to use tcl/tk GUI with Apple compiler and Apple runtime, I'm positive 
> that no configure settings will give that to you today in Swarm.  
> Modifications are required.
> 
> I don't agree about the libtool/makefile on Mac, but regardless I can work on 
> having the source code recognize a difference between the Apple GUI separated 
> from Apple runtime.

It would be great if you could do that.  I will try to get the Tk -X11 BLT 
framework built.

Cheers
Bill

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

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