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
CFLAGS
andLDFLAGS
environment variables to add specific flags to the Makefile - The
PREFIX
environment variable specifies a base install directory for binaries and data files. This is interchangeable with theDESTDIR
variable, and is generally used by systems that have thePREFIX
environment variable set by default.
Note:sudo
does not preserve user environment variables by default on some systems. See thesudoers
manual for more information.