Changes between Version 3 and Version 4 of OSXUniversalDependencies
- Timestamp:
- 07/21/2006 05:48:18 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
OSXUniversalDependencies
v3 v4 8 8 9 9 {{{ 10 configure --prefix=/usr/local/qt/4.1.4 -qt-libpng -system-zlib -qt-libjpeg -qt-gif -qt-libmng -fast -confirm-license -universal "$@"10 configure --prefix=/usr/local/qt/4.1.4 -qt-libpng -system-zlib -qt-libjpeg -qt-gif -qt-libmng -fast -confirm-license -universal 11 11 }}} 12 12 … … 17 17 == Boost == 18 18 19 Boost unfortunately uses its own unique build system, and getting the options right isn't nearly as easy. 20 21 This blob of bjam options wil build with optimization and debugging on. 22 23 {{{ 24 bjam --with-python-version=2.3 "-sTOOLS=darwin" \ 25 "-sGXX=g++ -O3 -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" \ 26 "-sGCC=gcc -O3 -g -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" \ 27 "-sBUILD=,-Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386" 28 }}} 29 19 30 == PostgreSQL == 20 31 32 Qt has a database layer that can connect to several databases such as sqlite3, postres, and mysql. Since I h ad a non-universal copy of postgresql installed, Qt detected it and tried to build with it, and then failed with it tried to link the single archtecture library against a fat binary. Because I was stubborn, I upgraded postgres unstead of telling Qt to not include Postgres. 21 33 34 In several places the Postgres make files attempt to construct an .o file out of several other .o files using ld. On OS X ld can only handle single architectures, and developers are supposed to switch to libtool. I didn't want to modify the postgres build system so I wrote another small python script source:makelib/uld that wrapps ld with a little bit of glue to handle the multiple architectures. 35 36 With that bit of assitance the following should work. 37 38 {{{ 39 export CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 40 export LD="<path to uld>/uld -arch i386 -arch ppc" 41 ./configure 42 make 43 }}} 44 45 One can't add -arch options to both CFLAGS and LDFLAGS as there are a number of places where the Postgres build system passes both $CFLAGS and $LDFLAGS to gcc which generates a duplicate -arch error message. (In the process breaking configure).