| Name | Needed by | Debian package |
|---|---|---|
| Tox Core | BASE | libtoxcore-dev |
| NCurses | BASE | libncursesw5-dev |
| LibConfig | BASE | libconfig-dev |
| GNUmake | BASE | make |
| libcurl | BASE | libcurl4-openssl-dev |
| libqrencode | QRCODE | libqrencode-dev |
| OpenAL | AUDIO, SOUND NOTIFICATIONS | libopenal-dev |
| OpenALUT | SOUND NOTIFICATIONS | libalut-dev |
| LibNotify | DESKTOP NOTIFICATIONS | libnotify-dev |
| X11 | VIDEO, DESKTOP FOCUS | libx11-dev |
| Python 3 | PYTHON | python3-dev |
| AsciiDoc | DOCUMENTATION1 | asciidoc |
1: see Documentation
make
sudo make install
Run make doc in the build directory after editing the asciidoc files to regenerate the manpages.
Note for developers: asciidoc files and generated manpages will need to be committed together.
Note for everyone: asciidoc (and this step) is only required for regenerating manpages when you modify them.
Using Homebrew:
brew install curl qrencode openal-soft freealut libconfig libpng
brew install --HEAD https://raw.githubusercontent.com/Tox/homebrew-tox/master/Formula/libtoxcore.rb
brew install libnotify
export PKG_CONFIG_PATH=/usr/local/opt/openal-soft/lib/pkgconfig
make
To compile Toxic on FreeBSD you'll need to use gmake instead of make, and you may need to manually tell pkg-config where to find the toxcore library.
In order to build with audio/video support you'll need to install the v4l_compat port.
The following commands should work for a default installation of both toxcore and toxic:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
gmake
sudo -E gmake install
-
You can add specific flags to the Makefile with
USER_CFLAGS=""andUSER_LDFLAGS=""passed as arguments to make, or as environment variables -
Default compile options can be overridden by using special variables:
DISABLE_X11=1→ Disable X11 support (needed for video and window focus tracking)DISABLE_AV=1→ Disable audio call supportDISABLE_SOUND_NOTIFY=1→ Disable sound notifications supportDISABLE_QRCODE=1→ Disable QR exporting supportDISABLE_QRPNG=1→ Disable support for exporting QR as PNGDISABLE_DESKTOP_NOTIFY=1→ Disable desktop notifications supportDISABLE_GAMES=1→ Disable support for gamesENABLE_PYTHON=1→ Build toxic with Python scripting supportENABLE_RELEASE=1→ Build toxic without debug symbols and with full compiler optimizationsENABLE_ASAN=1→ Build toxic with LLVM Address Sanitizer enabled (reduces performance but increases security)ENABLE_TOX_EXPERIMENTAL=1→ Build with support for Tox's experimental API functionality
-
DESTDIR=""Specifies the base install directory for binaries and data files (e.g.: DESTDIR="/tmp/build/pkg")
- You can use the
CFLAGSandLDFLAGSenvironment variables to add specific flags to the Makefile - The
PREFIXenvironment variable specifies a base install directory for binaries and data files. This is interchangeable with theDESTDIRvariable, and is generally used by systems that have thePREFIXenvironment variable set by default.
Note:sudodoes not preserve user environment variables by default on some systems. See thesudoersmanual for more information.