Changes between Initial Version and Version 1 of BuildingOsx

Show
Ignore:
Timestamp:
03/23/08 19:51:42 (2 years ago)
Author:
admin
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BuildingOsx

    v1 v1  
     1==== Dependencies ==== 
     2 
     3  * Python 2.4 
     4 
     5Either use latest official binary from www.python.org (this has the advantage of being a Universal binary and supporting correct launch of applications via the python binary). Or install boost's python2.4 (which is required for boost anyway). 
     6 
     7    Ensure current python includes are in /usr/include e.g. /usr/include/python2.4 
     8 
     9(This is only necessary for the Openlibraries build, which does not allow you to specify the python root) 
     10 
     11  * BOOST 
     12 
     13Use darwinports "boost +python" 
     14 
     15   * Python 2.4 (Darwinports version)  
     16 
     17To ensure that libboost_python is linked against the correct Framework ensure that the bjam variable PYTHON_ROOT is set to /opt/local/Library/Frameworks. 
     18 
     19Or use the following bjam command: 
     20 
     21  bjam --prefix=/opt/local --layout=system -sTOOLS=darwin -sPYTHON_ROOT=/opt/local/Library/Frameworks/Python.framework/Versions/2.4  
     22  --with-python -sPYTHON_VERSION=2.4 stage 
     23 
     24--layout=system is required, or else the file names include the boost version. This is in-compatible with the olib build. 
     25 
     26This will stage libboost_python in the boost source tree. 
     27 
     28  * Qt v3 
     29ftp://ftp.trolltech.com/qt/source/ 
     30 
     31  ./configure -fast -thread -pch -plugin-imgfmt-png -plugin-imgfmt-jpeg -plugin-imgfmt-mng 
     32 
     33  * FFMpeg (ffmpeg.sourceforge.net) 
     34 
     35Fetch latest from SVN: 
     36 
     37  svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg 
     38 
     39Run configure: 
     40 
     41  ./configure  --prefix=/opt/local --enable-shared --extra-cflags=-DHAVE_LRINTF 
     42 
     43Optionally the following flags if you want gpl'd plugins: 
     44 
     45  --enable-faac --enable-faad --enable-mp3lame --enable-gpl  
     46 
     47Then make and make install. 
     48 
     49FFmpeg exists as a darwinports port, but this version is stale - don't use with olibs. 
     50   Add --extra-cflags="-DHAVE_LOCALTIME_R" to Portfile to avoid duplicate symbol with OS library  
     51   (see http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2004-April/025312.html) 
     52    Edit 'configure' to remove -mdynamic-no-pic flag.  
     53    This flag leaves relocatable entries in the read-only __TEXT section of the static library,  
     54    which prevent openlibraries from linking. 
     55    Then run 'ranlib' on libav*.a 
     56 
     57  * GLEW (glew.sourceforge.net or darwinports) 
     58  * OpenEXR (darwinports) 
     59  * pkg-config (darwinports) 
     60  * Nvidia Cg framework: http://developer.nvidia.com/object/cg_toolkit.html 
     61 
     62  * Openlibraries 
     63 
     64Ensure current python includes are in /usr/include e.g. /usr/include/python2.4 (configure script doesn't seem to respect CPPFLAGS so an alternative would be to add -I/opt/local/include to CFLAGS) 
     65 
     66Configure using: 
     67 
     68  ./configure --prefix=/opt --with-boostprefix=/opt/local --with-qtinclude=/usr/local/qt/include  
     69  --with-qtlib=/usr/local/qt/lib --enable-openalframework --with-pythonversion=2.4 --enable-gpl 
     70 
     71Currently (7/8/06) openlibraries use incorrect flags when linking the python plugins. They should use -bundle to produce a MH_BUNDLE shared library. However they currently use -dyanmiclib, which produces a dynamic shared libary of type MH_DYLIB. To work around this I have just "hacked" the dylib link by copying the command line, removing -dynamiclib (and associated flags) and replacing with -bundle. This need to be added to the configure/make system. 
     72 
     73