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 )
- [Usage ](#usage )
< 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-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
```
Then clone this repo and run:
```bash
2013-07-22 09:12:00 +08:00
mkdir build & & cd build
cmake ..
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-01 05:06:04 +08:00
< a name = "homebrew" / >
2013-07-31 14:37:31 +08:00
####Homebrew:
```
2013-08-01 10:08:59 +08:00
brew install libtool automake autoconf libconfig libsodium cmake
2013-07-31 14:37:31 +08:00
cmake .
make
sudo make install
```
2013-08-01 05:06:04 +08:00
< a name = "non-homebrew" / >
2013-07-31 14:37:31 +08:00
####Non-homebrew:
Much the same as Linux, remember to install the latest XCode and the developer tools (Preferences -> Downloads -> Command Line Tools).
2013-07-30 05:34:19 +08:00
Users running Mountain Lion and the latest version of XCode (4.6.3) will also need to install libtool, automake and autoconf.
They are easy enough to install, grab them from http://www.gnu.org/software/libtool/, http://www.gnu.org/software/autoconf/ and http://www.gnu.org/software/automake/, then follow these steps for each:
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-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-07-22 01:15:05 +08:00
and make your life more annoying.
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-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
< a name = "usage" / >
## Usage
- [Start Guide ](start_guide.md )