On Apr 19, 2005, at 12:09 AM, Peter O'Gorman wrote:
Ah, how silly of me, of course I need to specify g++-3.3 on tiger.

That or pass -fabi-version=1. Sorry for the confusion! My intro to this kinda sucked before, so according to what we know now, these are some examples of what should work and what should not.


1. On Panther, fabi-version=1 can't link to programs with the default fabi-version=-1, so this should break:

(Panther)
make clean; make CC_LIB=g++ CC='g++ -fabi-version=1'


2. On Panther, you can link everything with fabi-version=X, or everything without. Similarly on Tiger. So these should work:

(Panther)
make clean; make CC_LIB=g++ CC=g++
make clean; make CC_LIB='g++ -fabi-version=1' CC='g++ -fabi-version=1'

(Tiger)
make clean; make CC_LIB=g++ CC=g++
make clean; make CC_LIB=g++-3.3 CC=g++-3.3
(etc)

3. On Tiger, the default for fabi-version appears to be 1 (not -1), so these should work:

(Tiger) make clean; make CC_LIB=g++-3.3 CC='g++-3.3 -fabi-version=1' Note that this broke on Panther!

(Panther) make clean; make CC_LIB='g++-3.3 -fabi-version=1' (Tiger) make CC='g++-3.3 -fabi-version=1'


And these should break:

(Panther) make clean; make CC_LIB=g++ libbreak.dylib (Tiger) make CC=g++-3.3
(Panther) make clean; make CC_LIB=g++ libbreak.dylib (Tiger) make CC='g++ -fabi-version=1'


That last example is the critical one, since it means that the way things are currently built on Panther cannot be linked to on Tiger! *grumble*

Note that I don't actually have Tiger to build on, so my results here are based on previous tests. I'd appreciate if someone could verify these, especially that last example, since I clearly had not explained things particularly well before.

Dave

Attachment: PGP.sig
Description: This is a digitally signed message part



Reply via email to