diff options
author | mannol <eniz_vukovic@hotmail.com> | 2014-02-18 00:35:26 +0100 |
---|---|---|
committer | mannol <eniz_vukovic@hotmail.com> | 2014-02-18 00:35:26 +0100 |
commit | 186c852aa646367e3965729333288f33f6146da7 (patch) | |
tree | eccfb91e4fee1eda79ce238cad87e196bc12696d | |
parent | 34a5fc8b4706ad2948b360b85c914827d25df0a7 (diff) |
Ugh
-rw-r--r-- | .travis.yml | 27 | ||||
-rw-r--r-- | INSTALL.md | 218 | ||||
-rw-r--r-- | configure.ac | 33 |
3 files changed, 201 insertions, 77 deletions
diff --git a/.travis.yml b/.travis.yml index 9d175564..bd5f6a59 100644 --- a/.travis.yml +++ b/.travis.yml | |||
@@ -30,21 +30,28 @@ before_script: | |||
30 | - sudo make install > /dev/null | 30 | - sudo make install > /dev/null |
31 | - cd .. | 31 | - cd .. |
32 | #installing libsdl1.2, needed for displaying video frames | 32 | #installing libsdl1.2, needed for displaying video frames |
33 | - wget http://www.libsdl.org/release/SDL-1.2.15.tar.gz > /dev/null | 33 | #- wget http://www.libsdl.org/release/SDL-1.2.15.tar.gz > /dev/null |
34 | - tar -xvzf SDL-1.2.15.tar.gz > /dev/null | 34 | #- tar -xvzf SDL-1.2.15.tar.gz > /dev/null |
35 | - cd SDL-1.2.15 | 35 | #- cd SDL-1.2.15 |
36 | - ./configure > /dev/null | 36 | #- ./configure > /dev/null |
37 | - make -j3 /dev/null | 37 | #- make -j3 /dev/null |
38 | - sudo make install > /dev/null | 38 | #- sudo make install > /dev/null |
39 | - cd .. | 39 | #- cd .. |
40 | #installing libopenal, needed for audio capture/playback | 40 | #installing libopenal, needed for audio capture/playback |
41 | - sudo apt-get install libopenal-dev > /dev/null | 41 | - sudo apt-get install libopenal-dev > /dev/null |
42 | #installing yasm, needed for compiling ffmpeg | 42 | #installing yasm, needed for compiling ffmpeg |
43 | - sudo apt-get install yasm > /dev/null | 43 | - sudo apt-get install yasm > /dev/null |
44 | #installing ffmpeg, needed for capturing and encoding/decoding video | 44 | #installing ffmpeg, needed for capturing and encoding/decoding video |
45 | - wget https://www.ffmpeg.org/releases/ffmpeg-2.0.2.tar.gz > /dev/null | 45 | #- wget https://www.ffmpeg.org/releases/ffmpeg-2.0.2.tar.gz > /dev/null |
46 | - tar -xvzf ffmpeg-2.0.2.tar.gz > /dev/null | 46 | #- tar -xvzf ffmpeg-2.0.2.tar.gz > /dev/null |
47 | - cd ffmpeg-2.0.2 | 47 | #- cd ffmpeg-2.0.2 |
48 | #- ./configure > /dev/null | ||
49 | #- make -j3 >/dev/null | ||
50 | #- sudo make install > /dev/null | ||
51 | #- cd .. | ||
52 | #installing vpx | ||
53 | - git clone http://git.chromium.org/webm/libvpx.git > /dev/null | ||
54 | - cd libvpx | ||
48 | - ./configure > /dev/null | 55 | - ./configure > /dev/null |
49 | - make -j3 >/dev/null | 56 | - make -j3 >/dev/null |
50 | - sudo make install > /dev/null | 57 | - sudo make install > /dev/null |
@@ -7,6 +7,14 @@ | |||
7 | - [Non-Homebrew](#non-homebrew) | 7 | - [Non-Homebrew](#non-homebrew) |
8 | - [Windows](#windows) | 8 | - [Windows](#windows) |
9 | 9 | ||
10 | - [Additional](#additional) | ||
11 | - [Advance configure] (#aconf) | ||
12 | - [A/V support](#av) | ||
13 | - [libtoxav] (#libtoxav) | ||
14 | - [Test phone] (#phone) | ||
15 | - [Bootstrap daemon] (#bootstrapd) | ||
16 | - [nTox] (#ntox) | ||
17 | |||
10 | <a name="installation" /> | 18 | <a name="installation" /> |
11 | ##Installation | 19 | ##Installation |
12 | 20 | ||
@@ -20,18 +28,14 @@ Note: package fetching commands may vary by OS. | |||
20 | On Ubuntu: | 28 | On Ubuntu: |
21 | 29 | ||
22 | ```bash | 30 | ```bash |
23 | sudo apt-get install build-essential libtool autotools-dev automake libconfig-dev ncurses-dev checkinstall check git libswscale-dev libsdl-dev libopenal-dev libopus-dev libvpx-dev yasm | 31 | sudo apt-get install build-essential libtool autotools-dev automake checkinstall check git yasm |
24 | ``` | ||
25 | If you get the "Unable to locate package libopus-dev" message, add the following ppa | ||
26 | ```bash | ||
27 | sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update && sudo apt-get dist-upgrade | ||
28 | ``` | 32 | ``` |
29 | 33 | ||
30 | On Fedora: | 34 | On Fedora: |
31 | 35 | ||
32 | ```bash | 36 | ```bash |
33 | yum groupinstall "Development Tools" | 37 | yum groupinstall "Development Tools" |
34 | yum install libtool autoconf automake libconfig-devel ncurses-devel check check-devel | 38 | yum install libtool autoconf automake check check-devel |
35 | ``` | 39 | ``` |
36 | 40 | ||
37 | On SunOS: | 41 | On SunOS: |
@@ -73,22 +77,13 @@ make check | |||
73 | sudo make install | 77 | sudo make install |
74 | cd .. | 78 | cd .. |
75 | ``` | 79 | ``` |
80 | |||
76 | If your default prefix is /usr/local and you happen to get an error that says "error while loading shared libraries: libtoxcore.so.0: cannot open shared object file: No such file or directory", then you can try running ```sudo ldconfig```. If that doesn't fix it, run: | 81 | If your default prefix is /usr/local and you happen to get an error that says "error while loading shared libraries: libtoxcore.so.0: cannot open shared object file: No such file or directory", then you can try running ```sudo ldconfig```. If that doesn't fix it, run: |
77 | ``` | 82 | ``` |
78 | echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf | 83 | echo '/usr/local/lib/' | sudo tee -a /etc/ld.so.conf.d/locallib.conf |
79 | sudo ldconfig | 84 | sudo ldconfig |
80 | ``` | 85 | ``` |
81 | 86 | ||
82 | You also need recent [FFmpeg](https://git.videolan.org/?p=ffmpeg.git) libraries: | ||
83 | ```bash | ||
84 | git clone git://source.ffmpeg.org/ffmpeg.git | ||
85 | cd ffmpeg | ||
86 | git checkout n2.0.2 | ||
87 | ./configure --prefix=`pwd`/install --disable-programs | ||
88 | make && make install | ||
89 | cd .. | ||
90 | ``` | ||
91 | |||
92 | Then clone this repo and generate makefile: | 87 | Then clone this repo and generate makefile: |
93 | ```bash | 88 | ```bash |
94 | git clone git://github.com/irungentoo/ProjectTox-Core.git | 89 | git clone git://github.com/irungentoo/ProjectTox-Core.git |
@@ -98,17 +93,7 @@ autoreconf -i | |||
98 | make | 93 | make |
99 | sudo make install | 94 | sudo make install |
100 | ``` | 95 | ``` |
101 | Advance configure options: | 96 | |
102 | - --prefix=/where/to/install | ||
103 | - --with-libsodium-headers=/path/to/libsodium/include/ | ||
104 | - --with-libsodium-libs=/path/to/sodiumtest/lib/ | ||
105 | - --enable-silent-rules less verbose build output (undo: "make V=1") | ||
106 | - --disable-silent-rules verbose build output (undo: "make V=0") | ||
107 | - --disable-tests build unit tests (default: auto) | ||
108 | - --disable-ntox build nTox client (default: auto) | ||
109 | - --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto) | ||
110 | - --enable-shared[=PKGS] build shared libraries [default=yes] | ||
111 | - --enable-static[=PKGS] build static libraries [default=yes] | ||
112 | 97 | ||
113 | <a name="osx" /> | 98 | <a name="osx" /> |
114 | ###OS X: | 99 | ###OS X: |
@@ -153,17 +138,6 @@ make | |||
153 | make install | 138 | make install |
154 | ``` | 139 | ``` |
155 | 140 | ||
156 | Advance configure options: | ||
157 | - --prefix=/where/to/install | ||
158 | - --with-libsodium-headers=/path/to/libsodium/include/ | ||
159 | - --with-libsodium-libs=/path/to/sodiumtest/lib/ | ||
160 | - --enable-silent-rules less verbose build output (undo: "make V=1") | ||
161 | - --disable-silent-rules verbose build output (undo: "make V=0") | ||
162 | - --disable-tests build unit tests (default: auto) | ||
163 | - --disable-ntox build nTox client (default: auto) | ||
164 | - --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto) | ||
165 | - --enable-shared[=PKGS] build shared libraries [default=yes] | ||
166 | - --enable-static[=PKGS] build static libraries [default=yes] | ||
167 | 141 | ||
168 | <a name="non-homebrew" /> | 142 | <a name="non-homebrew" /> |
169 | ####Non-homebrew: | 143 | ####Non-homebrew: |
@@ -194,17 +168,6 @@ autoreconf -i | |||
194 | make | 168 | make |
195 | make install | 169 | make install |
196 | ``` | 170 | ``` |
197 | Advance configure options: | ||
198 | - --prefix=/where/to/install | ||
199 | - --with-libsodium-headers=/path/to/libsodium/include/ | ||
200 | - --with-libsodium-libs=/path/to/sodiumtest/lib/ | ||
201 | - --enable-silent-rules less verbose build output (undo: "make V=1") | ||
202 | - --disable-silent-rules verbose build output (undo: "make V=0") | ||
203 | - --disable-tests build unit tests (default: auto) | ||
204 | - --disable-ntox build nTox client (default: auto) | ||
205 | - --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto) | ||
206 | - --enable-shared[=PKGS] build shared libraries [default=yes] | ||
207 | - --enable-static[=PKGS] build static libraries [default=yes] | ||
208 | 171 | ||
209 | Do not install them from macports (or any dependencies for that matter) as they get shoved in the wrong directory | 172 | Do not install them from macports (or any dependencies for that matter) as they get shoved in the wrong directory |
210 | (or the wrong version gets installed) and make your life more annoying. | 173 | (or the wrong version gets installed) and make your life more annoying. |
@@ -246,6 +209,23 @@ autoreconf -i | |||
246 | make | 209 | make |
247 | make install | 210 | make install |
248 | ``` | 211 | ``` |
212 | |||
213 | <a name="Clients" /> | ||
214 | ####Clients: | ||
215 | While [Toxic](https://github.com/tox/toxic) is no longer in core, a list of Tox clients are located in our [wiki](http://wiki.tox.im/client) | ||
216 | |||
217 | |||
218 | |||
219 | |||
220 | |||
221 | <a name="additional" /> | ||
222 | ##Additional | ||
223 | |||
224 | |||
225 | |||
226 | <a name="aconf" /> | ||
227 | ###Advance configure: | ||
228 | |||
249 | Advance configure options: | 229 | Advance configure options: |
250 | - --prefix=/where/to/install | 230 | - --prefix=/where/to/install |
251 | - --with-libsodium-headers=/path/to/libsodium/include/ | 231 | - --with-libsodium-headers=/path/to/libsodium/include/ |
@@ -253,11 +233,141 @@ Advance configure options: | |||
253 | - --enable-silent-rules less verbose build output (undo: "make V=1") | 233 | - --enable-silent-rules less verbose build output (undo: "make V=1") |
254 | - --disable-silent-rules verbose build output (undo: "make V=0") | 234 | - --disable-silent-rules verbose build output (undo: "make V=0") |
255 | - --disable-tests build unit tests (default: auto) | 235 | - --disable-tests build unit tests (default: auto) |
256 | - --disable-ntox build nTox client (default: auto) | 236 | - --disable-av disable A/V support (default: auto) see: [libtoxav](#libtoxav) |
257 | - --disable-dht-bootstrap-daemon build DHT bootstrap daemon (default: auto) | 237 | - --enable-phone build phone (default: no) see: [Test phone](#phone) |
238 | - --enable-ntox build nTox client (default: no) see: [nTox](#ntox) | ||
239 | - --enable-daemon build DHT bootstrap daemon (default: no) see: [Bootstrap daemon](#bootstrapd) | ||
258 | - --enable-shared[=PKGS] build shared libraries [default=yes] | 240 | - --enable-shared[=PKGS] build shared libraries [default=yes] |
259 | - --enable-static[=PKGS] build static libraries [default=yes] | 241 | - --enable-static[=PKGS] build static libraries [default=yes] |
260 | 242 | ||
261 | <a name="Clients" /> | 243 | |
262 | ####Clients: | 244 | <a name="av" /> |
263 | While [Toxic](https://github.com/tox/toxic) is no longer in core, a list of Tox clients are located in our [wiki](http://wiki.tox.im/client) | 245 | ###A/V support: |
246 | |||
247 | <a name="libtoxav" /> | ||
248 | ####libtoxav: | ||
249 | |||
250 | 'libtoxav' is needed for A/V support and it's enabled by default. You can disable it by adding --disable-av argument to ./configure script like so: | ||
251 | ```bash | ||
252 | ./configure --disable-av | ||
253 | ``` | ||
254 | There are 2 dependencies required for libtoxav: libopus and libvpx. If they are not installed A/V support is dropped. | ||
255 | |||
256 | Install on fedora: | ||
257 | ```bash | ||
258 | yum install libopus-devel libvpx-devel | ||
259 | ``` | ||
260 | |||
261 | Install on ubuntu: | ||
262 | ```bash | ||
263 | sudo apt-get install libopus-dev libvpx-dev | ||
264 | ``` | ||
265 | If you get the "Unable to locate package libopus-dev" message, add the following ppa and try again: | ||
266 | ```bash | ||
267 | sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo apt-get update && sudo apt-get dist-upgrade | ||
268 | ``` | ||
269 | |||
270 | Install from source (example for most unix-like OS's): | ||
271 | |||
272 | libvpx: | ||
273 | ```bash | ||
274 | git clone http://git.chromium.org/webm/libvpx.git | ||
275 | cd libvpx | ||
276 | ./configure | ||
277 | make -j3 | ||
278 | sudo make install | ||
279 | cd .. | ||
280 | ``` | ||
281 | libopus: | ||
282 | ```bash | ||
283 | wget http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz | ||
284 | tar xvzf opus-1.0.3.tar.gz | ||
285 | cd opus-1.0.3 | ||
286 | ./configure | ||
287 | make -j3 | ||
288 | sudo make install | ||
289 | cd .. | ||
290 | ``` | ||
291 | |||
292 | |||
293 | <a name="phone" /> | ||
294 | ####Test phone: | ||
295 | |||
296 | Test phone is disabled by default. You can enable it by adding --enable-phone argument to ./configure script like so: | ||
297 | ```bash | ||
298 | ./configure --enable-phone | ||
299 | ``` | ||
300 | It can be compiled with or without video capturing enabled. There are 4 dependencies for phone: openal, ffmpeg, sdl and swscale. If any of the later 3 are not installed video support is dropped. | ||
301 | |||
302 | Install on fedora: | ||
303 | ```bash | ||
304 | yum install libopenal-devel libswscale-devel SDL* | ||
305 | ``` | ||
306 | |||
307 | Install on ubuntu: | ||
308 | ```bash | ||
309 | sudo apt-get install libopenal-dev libswscale-dev libsdl-dev | ||
310 | ``` | ||
311 | |||
312 | Now grap recent [FFmpeg](https://git.videolan.org/?p=ffmpeg.git) libraries and install them: | ||
313 | ```bash | ||
314 | git clone git://source.ffmpeg.org/ffmpeg.git | ||
315 | cd ffmpeg | ||
316 | git checkout n2.0.2 | ||
317 | ./configure --prefix=`pwd`/install --disable-programs | ||
318 | make && make install | ||
319 | cd .. | ||
320 | ``` | ||
321 | |||
322 | You are ready to compile phone! | ||
323 | |||
324 | |||
325 | |||
326 | |||
327 | <a name="bootstrapd" /> | ||
328 | ###Bootstrap daemon: | ||
329 | |||
330 | Daemon is disabled by default. You can enable it by adding --enable-daemon argument to ./configure script like so: | ||
331 | ```bash | ||
332 | ./configure --enable-daemon | ||
333 | ``` | ||
334 | There dependency required for bootstrap daemon: libconfig. | ||
335 | |||
336 | Install on fedora: | ||
337 | ```bash | ||
338 | yum install libconfig-devel | ||
339 | ``` | ||
340 | |||
341 | Install on ubuntu: | ||
342 | ```bash | ||
343 | sudo apt-get install libconfig-dev | ||
344 | ``` | ||
345 | |||
346 | OS X homebrew: | ||
347 | ``` | ||
348 | brew install libconfig | ||
349 | ``` | ||
350 | OS X non-homebrew: | ||
351 | Grab the following [package] (http://www.hyperrealm.com/libconfig/), uncompress and install | ||
352 | |||
353 | |||
354 | |||
355 | <a name="ntox" /> | ||
356 | ###nTox test cli: | ||
357 | |||
358 | nTox is disabled by default. You can enable it by adding --enable-ntox argument to ./configure script like so: | ||
359 | ```bash | ||
360 | ./configure --enable-ntox | ||
361 | ``` | ||
362 | There dependency required for nTox: libncurses. | ||
363 | |||
364 | Install on fedora: | ||
365 | ```bash | ||
366 | yum install ncurses-devel | ||
367 | ``` | ||
368 | |||
369 | Install on ubuntu: | ||
370 | ```bash | ||
371 | sudo apt-get install ncurses-dev | ||
372 | ``` | ||
373 | |||
diff --git a/configure.ac b/configure.ac index 2b4fad78..066c919a 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -32,11 +32,11 @@ if test "x${prefix}" = "xNONE"; then | |||
32 | prefix="${ac_default_prefix}" | 32 | prefix="${ac_default_prefix}" |
33 | fi | 33 | fi |
34 | 34 | ||
35 | BUILD_DHT_BOOTSTRAP_DAEMON="yes" | 35 | BUILD_DHT_BOOTSTRAP_DAEMON="no" |
36 | BUILD_NTOX="yes" | 36 | BUILD_NTOX="no" |
37 | BUILD_TESTS="yes" | 37 | BUILD_TESTS="yes" |
38 | BUILD_AV="yes" | 38 | BUILD_AV="yes" |
39 | BUILD_PHONE="yes" | 39 | BUILD_PHONE="no" |
40 | BUILD_TESTING="yes" | 40 | BUILD_TESTING="yes" |
41 | 41 | ||
42 | NCURSES_FOUND="no" | 42 | NCURSES_FOUND="no" |
@@ -57,25 +57,25 @@ AC_ARG_ENABLE([nacl], | |||
57 | 57 | ||
58 | PKG_PROG_PKG_CONFIG | 58 | PKG_PROG_PKG_CONFIG |
59 | 59 | ||
60 | AC_ARG_ENABLE([av], | 60 | AC_ARG_ENABLE([phone], |
61 | [AC_HELP_STRING([--disable-av], [build AV support libraries (default: auto)]) ], | 61 | [AC_HELP_STRING([--enable-phone], [build test phone (default: auto)]) ], |
62 | [ | 62 | [ |
63 | if test "x$enableval" = "xno"; then | 63 | if test "x$enableval" = "xno"; then |
64 | BUILD_AV="no" | ||
65 | BUILD_PHONE="no" | 64 | BUILD_PHONE="no" |
66 | elif test "x$enableval" = "xyes"; then | 65 | elif test "x$enableval" = "xyes"; then |
67 | BUILD_AV="yes" | 66 | BUILD_PHONE="yes" |
68 | fi | 67 | fi |
69 | ] | 68 | ] |
70 | ) | 69 | ) |
71 | 70 | ||
72 | AC_ARG_ENABLE([phone], | 71 | AC_ARG_ENABLE([av], |
73 | [AC_HELP_STRING([--disable-phone], [build test phone (default: auto)]) ], | 72 | [AC_HELP_STRING([--disable-av], [build AV support libraries (default: auto)]) ], |
74 | [ | 73 | [ |
75 | if test "x$enableval" = "xno"; then | 74 | if test "x$enableval" = "xno"; then |
75 | BUILD_AV="no" | ||
76 | BUILD_PHONE="no" | 76 | BUILD_PHONE="no" |
77 | elif test "x$enableval" = "xyes"; then | 77 | elif test "x$enableval" = "xyes"; then |
78 | BUILD_PHONE="yes" | 78 | BUILD_AV="yes" |
79 | fi | 79 | fi |
80 | ] | 80 | ] |
81 | ) | 81 | ) |
@@ -92,7 +92,7 @@ AC_ARG_ENABLE([tests], | |||
92 | ) | 92 | ) |
93 | 93 | ||
94 | AC_ARG_ENABLE([ntox], | 94 | AC_ARG_ENABLE([ntox], |
95 | [AC_HELP_STRING([--disable-ntox], [build nTox client (default: auto)]) ], | 95 | [AC_HELP_STRING([--enable-ntox], [build nTox client (default: auto)]) ], |
96 | [ | 96 | [ |
97 | if test "x$enableval" = "xno"; then | 97 | if test "x$enableval" = "xno"; then |
98 | BUILD_NTOX="no" | 98 | BUILD_NTOX="no" |
@@ -102,8 +102,8 @@ AC_ARG_ENABLE([ntox], | |||
102 | ] | 102 | ] |
103 | ) | 103 | ) |
104 | 104 | ||
105 | AC_ARG_ENABLE([dht-bootstrap-daemon], | 105 | AC_ARG_ENABLE([daemon], |
106 | [AC_HELP_STRING([--disable-dht-bootstrap-daemon], [build DHT bootstrap daemon (default: auto)]) ], | 106 | [AC_HELP_STRING([--enable-daemon], [build DHT bootstrap daemon (default: auto)]) ], |
107 | [ | 107 | [ |
108 | if test "x$enableval" = "xno"; then | 108 | if test "x$enableval" = "xno"; then |
109 | BUILD_DHT_BOOTSTRAP_DAEMON="no" | 109 | BUILD_DHT_BOOTSTRAP_DAEMON="no" |
@@ -345,6 +345,7 @@ AC_TYPE_UINT64_T | |||
345 | AC_TYPE_UINT8_T | 345 | AC_TYPE_UINT8_T |
346 | AC_C_BIGENDIAN | 346 | AC_C_BIGENDIAN |
347 | 347 | ||
348 | |||
348 | # Checks for library functions. | 349 | # Checks for library functions. |
349 | AC_FUNC_FORK | 350 | AC_FUNC_FORK |
350 | AC_CHECK_FUNCS([gettimeofday memset socket strchr malloc]) | 351 | AC_CHECK_FUNCS([gettimeofday memset socket strchr malloc]) |
@@ -430,6 +431,12 @@ if test "x$BUILD_PHONE" = "xyes"; then | |||
430 | ) | 431 | ) |
431 | fi | 432 | fi |
432 | 433 | ||
434 | #If all dependencies are here add support video define for phone.c | ||
435 | if test "x$BUILD_PHONE" == "xyes"; then | ||
436 | #Set FFMpeg define | ||
437 | AC_DEFINE([TOX_FFMPEG], [1], [Support video]) | ||
438 | fi | ||
439 | |||
433 | if test "x$BUILD_AV" = "xyes"; then | 440 | if test "x$BUILD_AV" = "xyes"; then |
434 | PKG_CHECK_MODULES([OPUS], [opus], | 441 | PKG_CHECK_MODULES([OPUS], [opus], |
435 | [], | 442 | [], |