Changes between Version 3 and Version 4 of OSXUniversalDependencies


Ignore:
Timestamp:
07/21/2006 05:48:18 PM (18 years ago)
Author:
diane
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • OSXUniversalDependencies

    v3 v4  
    88
    99{{{
    10 configure --prefix=/usr/local/qt/4.1.4 -qt-libpng -system-zlib -qt-libjpeg -qt-gif -qt-libmng -fast -confirm-license -universal "$@"
     10configure --prefix=/usr/local/qt/4.1.4 -qt-libpng -system-zlib -qt-libjpeg -qt-gif -qt-libmng -fast -confirm-license -universal
    1111}}}
    1212
     
    1717== Boost ==
    1818
     19Boost unfortunately uses its own unique build system, and getting the options right isn't nearly as easy.
     20
     21This blob of bjam options wil build with optimization and debugging on.
     22
     23{{{
     24bjam --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
    1930== PostgreSQL ==
    2031
     32Qt 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.
    2133
     34In 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
     36With that bit of assitance the following should work.
     37
     38{{{
     39export CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386
     40export LD="<path to uld>/uld -arch i386 -arch ppc"
     41./configure
     42make
     43}}}
     44
     45One 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).