2009/9/7 Boris Dušek <boris.dusek@gmail.com>
Then I compiled with architecture=x86 address-model=32_64 and got universal binaries as I needed:

$ lipo -info lib/libboost_iostreams-xgcc42-mt.dylib 
Architectures in the fat file: lib/libboost_iostreams-xgcc42-mt.dylib are: i386 ppc7400 x86_64

$ lipo -info lib/libboost_iostreams-xgcc42-mt-1_40.dylib
Architectures in the fat file: lib/libboost_iostreams-xgcc42-mt-1_40.dylib are: i386 x86_64

I also tried architecture=combined address-model=32_64 (after I removed -arch ppc64 from tools/darwin.jam), and confirmed that again, the "-m64" is what causes errors (I tested that it somehow forces 64-bit even if you previously specify 32-bit arch(s) with -arch option). With the same fix for -m64, this works:


screwed this up, should be:

Then I compiled with architecture=x86 address-model=32_64 and got universal binaries as I needed:

$ lipo -info lib/libboost_iostreams-xgcc42-mt-1_40.dylib
Architectures in the fat file: lib/libboost_iostreams-xgcc42-mt-1_40.dylib are: i386 x86_64

I also tried architecture=combined address-model=32_64 (after I removed -arch ppc64 from tools/darwin.jam), and confirmed that again, the "-m64" is what causes errors (I tested that it somehow forces 64-bit even if you previously specify 32-bit arch(s) with -arch option). With the same fix for -m64, this works:

$ lipo -info lib/libboost_iostreams-xgcc42-mt.dylib 
Architectures in the fat file: lib/libboost_iostreams-xgcc42-mt.dylib are: i386 ppc7400 x86_64