<commit_before>Objective-C
===========

This README file explains how to build and install the TightDB
language binding for Objective-C. It assumes that the TightDB core
library has already been installed.


Prerequisites
-------------

You need the standard set of build tools. This includes an
Objective-C/C++ compiler and GNU make. The Objective-C language
binding is thoroughly tested with Clang. It is known to work with
Clang 3.0 and newer.

If you are going to modify the Objective-C language binding, you will
need Cheetah for Python (http://www.cheetahtemplate.org). It is needed
because some source files are generated from Cheetah templates.

Currently, the Objective-C binding is availble only on Mac OS X (and
iPhone). The following is a suggestion of how to install the
prerequisites on Mac OS X 10.7 and 10.8:

Clang comes with Xcode, so install Xcode if it is not already
installed. If you have a version that preceeds 4.2, we recommend that
you upgrade. This will ensure that the Clang version is at least
3.0. Run the following command in the command prompt to see if you
have Xcode installed, and, if so, what version it is:

    xcodebuild -version

Make sure you also install "Command line tools" found under the
preferences pane "Downloads" in Xcode.

Download the latest version of Python Cheetah
(https://pypi.python.org/packages/source/C/Cheetah/Cheetah-2.4.4.tar.gz),
then:

    tar xf Cheetah-2.4.4.tar.gz
    cd Cheetah-2.4.4/
    sudo python setup.py install


Building, testing, and installing
---------------------------------

    sh build.sh config
    sh build.sh clean
    sh build.sh build
    sh build.sh test
    sh build.sh test-debug
    sh build.sh test-gdb
    sudo sh build.sh install
    sh build.sh test-intalled

Headers are installed in:

    /usr/local/include/tightdb/objc/<commit_msg>Notes about Xcode and command line tools on OS X 10.9 (Mavericks)<commit_after>Objective-C
===========

This README file explains how to build and install the TightDB
language binding for Objective-C. It assumes that the TightDB core
library has already been installed.


Prerequisites
-------------

You need the standard set of build tools. This includes an
Objective-C/C++ compiler and GNU make. The Objective-C language
binding is thoroughly tested with Clang. It is known to work with
Clang 3.0 and newer.

If you are going to modify the Objective-C language binding, you will
need Cheetah for Python (http://www.cheetahtemplate.org). It is needed
because some source files are generated from Cheetah templates.

Currently, the Objective-C binding is availble only on Mac OS X (and
iPhone). The following is a suggestion of how to install the
prerequisites on Mac OS X 10.7, 10.8, and 10.9:

The build procedure uses Clang as the C/C++ compiler by default. It
needs at least Clang 3.0 which comes with Xcode 4.2. On OS X 10.9
(Mavericks) we recommend at least Xcode 5.0, since in some cases when
a previous version of OS X is upgraded to 10.9, you will be left with
a malfunctioning set of command line tools (in particular the `lipo`
command), and this is most easily fixed by upgrading to Xcode 5. Run
the following command in the command prompt to see if you have Xcode
installed, and, if so, what version it is:

    xcodebuild -version

If you have Xcode 5 or later, you will already have the required
command line tools installed. In Xcode 4, however, the "Command line
tools" is an optional Xcode add-on that you must install. You can find
it under the "Downloads" pane of the "Preferences" dialog in the Xcode
4 menu.

Download the latest version of Python Cheetah
(https://pypi.python.org/packages/source/C/Cheetah/Cheetah-2.4.4.tar.gz),
then:

    tar xf Cheetah-2.4.4.tar.gz
    cd Cheetah-2.4.4/
    sudo python setup.py install


Building, testing, and installing
---------------------------------

    sh build.sh config
    sh build.sh clean
    sh build.sh build
    sh build.sh test
    sh build.sh test-debug
    sh build.sh test-gdb
    sudo sh build.sh install
    sh build.sh test-intalled

Headers are installed in:

    /usr/local/include/tightdb/objc/
{'fraction_non_alphanumeric': 0.08385999027710257, 'fraction_numerical': 0.014584346135148274, 'mean_word_length': 3.2248459958932236, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3882474', 'n_tokens_mistral': 1253, 'n_tokens_neox': 1173, 'n_words': 589}