Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changes between Version 2 and Version 3 of dev/MacOSXDependencies


Ignore:
Timestamp:
Dec 5, 2016, 3:55:59 PM (7 years ago)
Author:
ahedges
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • dev/MacOSXDependencies

    v2 v3  
    33In order to get the orxonox dependencies to build properly on the mac, some tricks are needed. This page will contain some or more important tidbits for compiling various dependencies on the mac.
    44
    5 == Configure Flags ==
     5== General Considerations ==
    66
    7 For a list of all possible configure flags, run ../configure --help.
    8 The following are common ones:
     7Build all libraries as 64-bit-only dynamic libraries or frameworks (fat binaries would also work, but we only need the 64 bit part).
    98
    10 || Configure Flag || Description ||
    11 || {{{--enable-universal_binary}}} || Gives you a universal binary running on ppc and i386 OS X variants. ||
    12 || {{{--with-macosx-version-min}}} || For specifing the minimal supported OS X version, eg. --with-macosx-version-min=10.4. ||
    13 || {{{--with-macosx-sdk}}} || For specifing which SDK you want to build against, the maximum system whose API you want to benefit from, ie it can run on newer systems, but newer APIs would not be used, eg --with-macosx-sdk=/Developer/SDKs/MacOSX10.4u.sdk. ||
    14 || {{{--enable-debug}}} || Build the library with debug support (recommended for development phase of your product) ||
    15 || {{{--disable-shared}}} || Builds static libraries. (note: Linking your own applications against dynamic libraries is quicker than against static ones.)(note 2 : do not combine with monolithic) ||
     9LLVM/Clang (the default Xcode compiler) uses a different standard c++ library than gcc (libc++ instead of libstdc++, they are not binary compatible). So make sure that all dependencies are linking against libc++.
    1610
    17 == Compiler Flags ==
     11=== Useful Tools ===
    1812
    19 || Compiler and Linker Flag || Description ||
    20 || {{{-arch}}} || Set both the CFLAGS and the LDFLAGS variable to the desired architecture, i.e. {{{i386, ppc, ppc64, x86_64}}} ||
     13To see what libraries the .dylib is linking against use:
     14{{{
     15otool -L libsomething.dylib
     16}}}
     17
     18To change the library install name or the locations of libraries it links against, use the install_name_tool (see the man page for details).
     19
     20With
     21{{{
     22otool -hv libsomething.dylib
     23}}}
     24you can check the header (useful for determining if you have a 64-bit or a fat binary).
     25
     26To find which symbols the library defines use nm:
     27{{{
     28nm libsomething.dylib
     29}}}
     30
     31=== Dependency list ===
     32
     33|| Library name || Minimum Version || Recommended Version || Notes ||
     34|| [http://www.ogre3d.org/ "OGRE 3D Graphics Engine"] || 1.4 || 1.8.2 ||  ||
     35|| [http://www.cegui.org.uk/wiki/index.php/Main_Page "CEGUI (Crazy Eddie's GUI System)"] || 0.5 || 0.7.9 || We need: CEGUI.framework, CEGUILuaScriptModule.framework and ceguitolua++.framework. Plus, disable all ppc architectures ||
     36|| [http://www.boost.org/ "Boost libraries"]  || 1.35 || 1.49 ||  ||
     37|| [http://www.lua.org/ "Lua (scripting language)"]         || 5.0 or 5.1 || 5.1.4 || Hint: Use the patchfile located in the Tools directory of the dependency package. ($patch -p1 -i patchfile) inside source dir. But preferentially use the Lua version shipped with CEGUI ||
     38|| Tcl (shell script language)      || 8.4 or 8.5 || - || Use Apple system version ||
     39|| OpenAL (audio)                   || (not yet specified) || - || Use Apple system version ||
     40|| ALUT (audio)                     || (not yet specified) || - || Can't be compiled on Apple. Use the package included in dependency package or consult [http://wiki.flightgear.org/index.php/FlightGear_Git_on_Mac_OS_X#Install_the_ALUT.framework "Flight Gear"]. Sadly, I do not know how they compiled this framework. ||
     41|| [http://www.xiph.org/vorbis/ "LibOgg"]                           || (not yet specified) || 1.2.1 ||  ||
     42|| [http://www.xiph.org/vorbis/ "LibVorbis"]                       || (not yet specified) || 1.3.2 ||  ||
     43|| [http://www.xiph.org/vorbis/ "LibVorbisFile"]                    || (not yet specified) || 1.3.2 || Comes with LibVorbis ||
     44|| ZLib (compression)               || (not yet specified) || - || Use Apple system version ||
     45
    2146
    2247== Compiling Ogg and Vorbis ==