2013-08-01 05:06:04 +08:00
#Install Instructions
- [Installation ](#installation )
- [Linux ](#linux )
- [OS X ](#osx )
- [Homebrew ](#homebrew )
- [Non-Homebrew ](#non-homebrew )
- [Windows ](#windows )
< a name = "installation" / >
2013-07-19 04:29:59 +08:00
##Installation
2013-08-01 05:06:04 +08:00
< a name = "linux" / >
2013-07-19 04:29:59 +08:00
###Linux:
2013-07-30 01:32:00 +08:00
Build dependencies:
```bash
2013-07-31 00:29:52 +08:00
apt-get install build-essential libtool autotools-dev automake libconfig-dev ncurses-dev cmake checkinstall
2013-07-30 01:32:00 +08:00
```
2013-08-03 19:16:52 +08:00
2013-08-03 19:32:56 +08:00
On Fedora:
2013-08-03 19:16:52 +08:00
```bash
yum groupinstall "Development Tools"
yum install libtool autoconf automake libconfig-devel ncurses-devel cmake
```
2013-07-31 01:27:32 +08:00
Note that `libconfig-dev` should be >= 1.4.
2013-07-30 01:32:00 +08:00
2013-07-19 04:29:59 +08:00
You should get and install [libsodium ](https://github.com/jedisct1/libsodium ):
```bash
git clone git://github.com/jedisct1/libsodium.git
cd libsodium
git checkout tags/0.4.2
./autogen.sh
./configure & & make check
2013-07-30 21:40:16 +08:00
sudo checkinstall --install --pkgname libsodium --pkgversion 0.4.2 --nodoc
2013-07-19 04:29:59 +08:00
sudo ldconfig
```
2013-08-03 19:36:01 +08:00
Or if checkinstall is not easily available for your distribution (e.g. Fedora),
2013-08-03 19:37:15 +08:00
this will install the libs to /usr/local/lib and the headers to /usr/local/include:
2013-08-03 19:36:01 +08:00
2013-08-03 19:16:52 +08:00
```bash
git clone git://github.com/jedisct1/libsodium.git
cd libsodium
git checkout tags/0.4.2
./autogen.sh
./configure
2013-08-03 19:19:39 +08:00
make check
2013-08-03 19:16:52 +08:00
sudo make install
```
2013-08-02 03:14:48 +08:00
Then clone this repo and generate makefile:
2013-07-19 04:29:59 +08:00
```bash
2013-08-02 03:14:48 +08:00
git clone git://github.com/irungentoo/ProjectTox-Core.git
cd ProjectTox-Core
2013-07-22 09:12:00 +08:00
mkdir build & & cd build
cmake ..
2013-07-19 04:29:59 +08:00
```
2013-08-02 03:14:48 +08:00
Note that you should call cmake on the root [`CMakeLists.txt` ](/CMakeLists.txt ) file only.
2013-07-19 04:29:59 +08:00
2013-07-22 09:12:00 +08:00
Then you can build any of the [`/testing` ](/testing ) and [`/other` ](/other ) that are currently supported on your platform by running:
2013-07-19 04:29:59 +08:00
```bash
make name_of_c_file
```
For example, to build [`Messenger_test.c` ](/others/Messenger_test.c ) you would run:
```bash
make Messenger_test
```
2013-07-22 09:12:00 +08:00
Or you could just build everything that is supported on your platform by running:
```bash
make
```
2013-08-01 05:06:04 +08:00
< a name = "osx" / >
###OS X:
2013-07-22 01:15:05 +08:00
2013-08-03 01:42:30 +08:00
You need the latest XCode with the Developer Tools (Preferences -> Downloads -> Command Line Tools).
The following libraries are required along with libsodium and cmake for Mountain Lion and XCode 4.6.3 install libtool, automake and autoconf. You can download them with Homebrew, or install them manually.
2013-08-03 01:50:02 +08:00
There are no binaries/executables going to /bin/ or /usr/bin/ now. Everything is compiled and ran from the inside your local branch. See [Usage ](#usage ) below.
2013-08-03 01:42:30 +08:00
2013-08-01 05:06:04 +08:00
< a name = "homebrew" / >
2013-07-31 14:37:31 +08:00
####Homebrew:
```
2013-08-01 18:25:40 +08:00
brew install libtool automake autoconf libconfig libsodium cmake
2013-07-31 14:37:31 +08:00
cmake .
make
```
2013-08-01 05:06:04 +08:00
< a name = "non-homebrew" / >
2013-07-31 14:37:31 +08:00
####Non-homebrew:
2013-08-03 01:42:30 +08:00
Grab the following packages:
* http://www.gnu.org/software/libtool/
* http://www.gnu.org/software/autoconf/
* http://www.gnu.org/software/automake/
2013-08-03 01:50:02 +08:00
* http://www.cmake.org/
* https://github.com/jedisct1/libsodium
2013-08-04 05:46:52 +08:00
* http://www.hyperrealm.com/libconfig/
2013-08-03 01:42:30 +08:00
2013-08-03 01:50:02 +08:00
Uncompress and install them all. Make sure to follow the README as the instructions change, but they all follow the same pattern below:
2013-07-22 01:15:05 +08:00
2013-07-30 02:15:06 +08:00
```bash
2013-07-22 01:15:05 +08:00
./configure
make
sudo make install
2013-07-30 02:15:06 +08:00
```
2013-07-22 01:15:05 +08:00
2013-08-03 01:42:30 +08:00
In your local TOX repository:
```bash
cmake .
make
2013-07-30 02:15:06 +08:00
```
2013-07-22 01:15:05 +08:00
2013-07-30 05:34:19 +08:00
Do not install them from macports (or any dependencies for that matter) as they get shoved in the wrong directory
2013-08-04 05:46:52 +08:00
(or the wrong version gets installed) and make your life more annoying.
2013-07-22 01:15:05 +08:00
Another thing you may want to install is the latest gcc, this caused me a few problems as XCode from 4.3
no longer includes gcc and instead uses LLVM-GCC, a nice install guide can be found at
http://caiustheory.com/install-gcc-421-apple-build-56663-with-xcode-42
2013-08-01 05:06:04 +08:00
< a name = "windows" / >
2013-07-19 04:29:59 +08:00
###Windows:
You should install:
- [MinGW ](http://sourceforge.net/projects/mingw/ )'s C compiler
- [CMake ](http://www.cmake.org/cmake/resources/software.html )
2013-07-27 08:39:16 +08:00
2013-07-27 09:05:24 +08:00
You have to [modify your PATH environment variable ](http://www.computerhope.com/issues/ch000549.htm ) so that it contains MinGW's bin folder path. With default settings, the bin folder is located at `C:\MinGW\bin` , which means that you would have to append `;C:\MinGW\bin` to the PATH variable.
2013-07-19 04:29:59 +08:00
Then you should either clone this repo by using git, or just download a [zip of current Master branch ](https://github.com/irungentoo/ProjectTox-Core/archive/master.zip ) and extract it somewhere.
2013-07-30 11:41:09 +08:00
After that you should get precompiled package of libsodium from [here ](https://download.libsodium.org/libsodium/releases/libsodium-win32-0.4.2.tar.gz ) and extract the archive into this repo's root. That is, `sodium` folder should be along with `core` , `testing` and other folders.
2013-07-19 04:29:59 +08:00
Navigate in `cmd` to this repo and run:
```cmd
2013-07-22 09:12:00 +08:00
mkdir build & & cd build
cmake -G "MinGW Makefiles" ..
2013-07-19 04:29:59 +08:00
```
2013-08-02 03:14:48 +08:00
Note that you should call cmake on the root [`CMakeLists.txt` ](/CMakeLists.txt ) file only.
2013-07-19 04:29:59 +08:00
2013-07-22 09:12:00 +08:00
Then you can build any of the [`/testing` ](/testing ) and [`/other` ](/other ) that are currently supported on your platform by running:
2013-07-19 04:29:59 +08:00
```cmd
mingw32-make name_of_c_file
```
For example, to build [`Messenger_test.c` ](/others/Messenger_test.c ) you would run:
```cmd
mingw32-make Messenger_test
2013-07-22 01:15:05 +08:00
```
2013-07-22 09:12:00 +08:00
Or you could just build everything that is supported on your platform by running:
```bash
mingw32-make
```
2013-08-01 05:06:04 +08:00