Binary versions
===============

Binary versions for Win32 of the most recent version of mumble are provided
at http://www.mumble.info/

The only legitimate releases of Mumble will be on www.mumble.info, any other
place offering Mumble is likely to contain trojans or viruses.

Windows pre-requisites
======================

Detailed build instructions are available at
http://wiki.mumble.info/wiki/BuildingWindows and it is highly recommended
to follow them to the letter.

Mac OS X pre-requisites
=======================

Detailed build instructions are available at
http://wiki.mumble.info/wiki/BuildingMacOSX and it is highly recommended
to follow them to the letter.

Linux pre-requisites
====================

Detailed build instructions are available at
http://wiki.mumble.info/wiki/BuildingLinux and it is highly recommended
to follow them to the letter.

Please note that in addition to the depending libraries, you also need
lsb_release installed.

Building Mumble and Murmur
==========================

To build mumble and murmur, type
qmake main.pro
make release

You may need to specify dependency installation paths. Please refer to the
files in the qmake directory. (For windows, copy winpaths_default.pri to
winpaths_custom.pri and adjust the copies contents.)
After building, the binaries will be in the release/ directory.

The qmake step supports a number of configurations options. To enable an
option, simply add CONFIG+=<option> to the end. If you want to change these
after your initial setup, you'll also need to pass -recursive.
So, to build without the server and without ASIO, the above line would be

qmake main.pro CONFIG+=no-server CONFIG+=no-asio -recursive

CONFIG+=no-client
 Don't build the client (Mumble)

CONFIG+=no-server
 Don't build the server (Murmur)

CONFIG+=no-bundled-celt (Mumble)
 Don't use the included version of CELT, but look for one on the system.
 Note that this requires that you have CELT 0.7.0 or 0.7.1 installed on
 your system as CELT does not maintain bitstream compatibility.

CONFIG+=no-bundled-speex (Mumble)
 Don't use the included version of Speex, but look for one on the system.
 Note that this requires your system-installed Speex to be at least version
 1.2.0.

CONFIG+=no-opus (Mumble)
 Don't build Opus support at all.

CONFIG+=no-bundled-opus (Mumble)
 Don't use the included version of Opus, but look for one on the system.

CONFIG+=no-rnnoise (Mumble)
 Don't build RNNoise support at all.

CONFIG+=no-bundled-rnnoise (Mumble)
 Don't use the included version of RNNoise, but look for one on the system.

CONFIG+=sbcelt (Mumble, Linux, OSX, FreeBSD)
 Use the SBCELT library for decoding CELT frames. Enabling this option will
 build Mumble in a mode that forces all CELT frames to be decoded in a
 separate, sandboxed, helper process. CELT frames will still be encoded using
 Mumble's bundled CELT library.  This option implies CONFIG+=bundled-celt.

CONFIG+=optimize
 Build a heavily optimized version, specific to the machine it's being
 compiled on.

CONFIG+=static (Mumble)
 Build Mumble as a static binary.

CONFIG+=no-crash-report (Mumble)
 Don't include support for reporting crashes to the Mumble developers.

CONFIG+=no-plugins (Mumble)
 Don't build plugins.

CONFIG+=universal (OSX)
 Build a universal binary build of Mumble for i386 and ppc instead of the
 default x86-64-only build. The universal build is meant to be used with
 the Carbon version of Qt, and is compatible with 10.4+.
 The x86-64 build of Mumble is compatible with 10.5+ and requires a Cocoa
 version of Qt.

CONFIG+=no-dbus (Mumble)
 Don't include DBus support on Mumble. This has no effect on Murmur, which
 requires DBus to work.

CONFIG+=no-g15 (Mumble)
 Don't include support for the G15 keyboard (and compatible devices).

CONFIG+=no-jackaudio (Mumble)
 Don't build support for JackAudio.

CONFIG+=no-asio (Mumble, Win32)
 Don't build support for ASIO audio input.

CONFIG+=no-directsound (Mumble, Win32)
 Don't build support for DirectSound.

CONFIG+=no-wasapi (Mumble, Win32)
 Don't build support for WASAPI.

CONFIG+=portaudio (Mumble, Unix, OSX)
 Build support for PortAudio.

CONFIG+=no-pulseaudio (Mumble, Unix)
 Don't build support for PulseAudio.

CONFIG+=no-oss (Mumble, Linux)
 Don't build support for OSS. Mumble supports OSS4 if you have the correct
 header files.

CONFIG+=no-alsa (Mumble, Linux)
 Don't build support for ALSA.

CONFIG+=no-speechd (Mumble, Linux)
 Don't build support for Speech Dispatcher.

CONFIG+=no-update (Mumble)
 Default disable the checking of new versions. (For distributions)

CONFIG+=no-vorbis-recording (Mumble)
 Don't include support for ogg format for recordings.

CONFIG+=no-embed-qt-translations (Mumble)
 Don't embed the translations for Qt, load them from the system. (For
 distributions).

CONFIG+=no-ice (Murmur)
 Don't build support for Ice RPC.

CONFIG+=grpc (Murmur, Linux)
 Include experimental support for gRPC.
 We do not currently recommend that packagers
 ship packages to end users with gRPC enabled.
 The gRPC library's API is not yet stable, and
 Murmur's gRPC interface is not yet frozen, and
 will most likely change in the future.
 Support for gRPC requires Qt 5.

CONFIG+=no-bonjour
 Don't build support for Bonjour.

CONFIG+=no-overlay (Mumble)
 Don't build the overlay library.

CONFIG+=no-xinput2 (Mumble, Linux)
 Don't build support for XI2.

CONFIG+=no-gkey (Mumble, Win32)
 Don't build in support for Logitech G-Keys.
 Note: This feature does not require any build-
 time dependencies, and requires Logitech Gaming
 Software to be installed to have any effect at
 runtime.

CONFIG+=no-qssldiffiehellmanparameters
 Don't build in support for custom Diffie-Hellman
 parameters, even if the QSslDiffieHellmanParameters
 class is available in the version of Qt you are
 building against.

CONFIG+=no-xboxinput (Mumble, Win32)
 Don't build in support for global shortcuts
 from Xbox controllers via the XInput DLL.

CONFIG+=g15-emulator (Mumble, Win32)
 Build the g15helper executable in emulator
 mode. This will cause an emulated G15 window
 to appear on screen. Allows the use of Mumble's
 G15 support without owning the physical hardware.

CONFIG+=no-manual-plugin (Mumble)
 Don't include the built-in 'manual' positional
 audio plugin.

CONFIG+=qtspeech (Mumble)
 Use Qt's text-to-speech system (part of the experimental
 Qt Speech module), if available, instead of Mumble's own
 OS-specific text-to-speech implementations.

CONFIG+=dpkg-buildflags
 Add CFLAGS, CXXFLAGS, CPPFLAGS and LDFLAGS
 from dpkg-buildflags to Mumble's build flags.

CONFIG+=no-classic-theme
 Don't include the classic theme.
