mirror of
https://github.com/Tha14/toxic.git
synced 2024-11-14 18:43:01 +01:00
3f2826bd66
The release build uses -O2 and flto, and has no debug symbols. -Wmissing-field-initializer was removed due to false positives on newer versions of clang
4.0 KiB
4.0 KiB
Installation
Dependencies
Name | Needed by | Debian package |
---|---|---|
Tox Core | BASE | None |
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 |
Python 3 | PYTHON | python3-dev |
AsciiDoc | DOCUMENTATION1 | asciidoc |
1: see Documentation
OS X Notes
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
You can omit libnotify
if you intend to build without desktop notifications enabled.
Compiling
make
sudo make install
Documentation
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.
Notes
Compilation variables
-
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 focus tracking)DISABLE_AV=1
→ Disable audio call supportDISABLE_SOUND_NOTIFY=1
→ Disable sound notifications supportDISABLE_QRCODE
→ Disable QR exporting supportDISABLE_QRPNG
→ Disable support for exporting QR as PNGDISABLE_DESKTOP_NOTIFY=1
→ Disable desktop notifications supportENABLE_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
-
DESTDIR=""
Specifies the base install directory for binaries and data files (e.g.: DESTDIR="/tmp/build/pkg")
Environment variables
- 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.