OS X Readme =========== This manual explains how to manually build tarantool from sources. Supporting kinds of build with default Apple developer software and external as homebrew as MacPorts. If you want to build at the Homebrew environment execute: brew install https://raw.githubusercontent.com/tarantool/tarantool/master/extra/tarantool.rb --devel Possible flags are: --devel - for installing master's branch version --with-tests - for testing tarantool after building/installing --with-debug - for building tarantool with -DCMAKE_BUILD_TYPE=Debug Target OS: MacOS X "Lion" First of all, make sure mac ports are available (to install packages from). 1. Install necessary packages (ports): ------------- Default build depended by Developer tools by Apple and -DDARWIN_BUILD_TYPE=None: sudo xcode-select --install sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer To enable build type with MacPorts set up the flag -DDARWIN_BUILD_TYPE=Ports: port install autoconf binutils cmake ncurses zlib readline 2. Upgrade clang to 3.2+ ------------- Go to http://developer.apple.com/ to download and install the latest version of "Command Line Tools for Xcode". This package contains /usr/bin/clang and /usr/bin/clang++ binaries. Check that clang version is at least 3.2. 3. Install necessary python modules: pyYAML, python-daemon ------------- If you use latest Mac OS X version it is recommended using easy_install or pip. For instance to install these packages via easy_install just type following commands into terminal: sudo easy_install pyyaml sudo easy_install pydaemon sudo easy_install daemon Otherwise see following instruction NB: it is recommended to install python modules through setup.py, using the default python (which should be >= 2.6.x and < 3.x); tar -xzf module.tar.gz cd module-dir sudo python setup.py install where module is the name of the installed module and module-dir is the name of the directory the module's archive deflates into. 4. Download & build tarantool source code: ------------- NOTE: If you want to get DMG package go to section 6. git clone --recursive git://github.com/tarantool/tarantool.git cd tarantool mkdir build && cd build cmake .. \ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \ -DENABLE_CLIENT=true \ -DDARWIN_BUILD_TYPE=Ports make 5. Run tarantool test suite ------------- NB: the following tests are not runnable on MacOS X at this point: box/lua.test box_big/lua.test connector_c/xlog_rpl.test To disable those add each of them to the 'disabled' clause in suite.ini file in the appropriate directory; for instance, tarantool/test/box/suite.ini must be edited to disable any test in the 'box' suite; To run all tests then, execute: cd ~/build/tarantool/test ./run 6. Build DMG package ------------- Building DMG depended by "Auxiliary Tools for Xcode", which be able to download from: https://developer.apple.com (necessary login with Apple ID account). Execute commands to get DMG package by root (if you not root you'll get files with incorrect permissions): mkdir build && cd build sudo -s cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr/local \ -DCMAKE_BUILD_TYPE=Rel \ -DENABLE_BACKTRACE=OFF \ -DCMAKE_C_COMPILER="clang" \ -DCMAKE_CXX_COMPILER="clang++" \ -DDARWIN_BUILD_TYPE=None \ -DENABLE_CLIENT=ON make package -- EOF