On Tue, Mar 3, 2009 at 7:51 AM, Michael Jackson <mike.jackson@bluequartz.net> wrote:
Well, basically I am confused. Is ICU bundled with Boost? It has been a Looooong time since I dug into the boost sources.

And, yes, CMake has the CMAKE_OS_X_ARCH variable which you can set to any combination of ppc,ppc64,x86,x86_64 for any where from a "single binary to a quad binary".
 
 
ICU is a 3rd party dependency that you have to install yourself. It is not included with Boost or OS X as far as I know. ICU has an autoconf build system.

I tried the generic trick with various permutations of:
export CFLAGS="-arch ppc -arch i386 -arch ppc64 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk"

But the build breaks part way through:




gcc  -DU_IO_IMPLEMENTATION  -I../common -I../i18n  -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk  -fvisibility=hidden -fno-common -c  -dynamic -o ucln_io.o ucln_io.c
g++ -dynamiclib -dynamic -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk  -fvisibility=hidden -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk   -Wl,-compatibility_version -Wl,40 -Wl,-current_version -Wl,40.0 -install_name libicuio.40.dylib -o ../lib/libicuio.40.0.dylib locbund.o ufile.o ufmt_cmn.o uprintf.o uprntf_p.o uscanf.o uscanf_p.o ustdio.o sprintf.o sscanf.o ustream.o ucln_io.o -L../lib -licuuc -L../lib -L../stubdata -licudata -L../lib -licui18n -lpthread -lm
rm -f ../lib/libicuio.40.dylib && ln -s libicuio.40.0.dylib ../lib/libicuio.40.dylib
rm -f ../lib/libicuio.dylib && ln -s libicuio.40.0.dylib ../lib/libicuio.dylib
make[0]: Making `all' in `extra'
make[1]: Making `all' in `uconv'
cd ../.. \
     && CONFIG_FILES=extra/uconv/pkgdata.inc CONFIG_HEADERS= /bin/sh ./config.status
config.status: creating extra/uconv/pkgdata.inc
DYLD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$DYLD_LIBRARY_PATH  MAKEFLAGS= ../../bin/pkgdata -p uconvmsg -O pkgdata.inc -m static -s uconvmsg -d uconvmsg -T uconvmsg uconvmsg/uconvmsg.lst
cat uconvmsg/uconvmsg.lst > uconvmsg/uconvmsg_static.lst
DYLD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$DYLD_LIBRARY_PATH  ../../bin/icupkg -tl -c -s uconvmsg -a uconvmsg/uconvmsg_static.lst new uconvmsg/uconvmsg.dat
DYLD_LIBRARY_PATH=../../lib:../../stubdata:../../tools/ctestfw:$DYLD_LIBRARY_PATH  ../../bin/genccode -a gcc-darwin -n uconvmsg -e uconvmsg -d uconvmsg uconvmsg/uconvmsg.dat
generating assembly code for uconvmsg/uconvmsg.dat
gcc   -I../../common -I../../common -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk  -fno-common -c   -o uconvmsg/uconvmsg_dat.o uconvmsg/uconvmsg_dat.s
rm -rf uconvmsg/uconvmsg_dat.s
/usr/bin/ar r uconvmsg/libuconvmsg.a uconvmsg/uconvmsg_dat.o
ar: uconvmsg/libuconvmsg.a is a fat file (use libtool(1) or lipo(1) and ar(1) on it)
ar: uconvmsg/libuconvmsg.a: Inappropriate file type or format
gnumake[3]: *** [uconvmsg/libuconvmsg.a] Error 1
make[2]: *** [package-resfiles] Error 2
make[1]: *** [all-recursive] Error 2
make: *** [all-recursive] Error 2



I see the message about "generating assembly code" which suggests to me that I need some different tricks.


Thanks,
Eric