To start building Mumble's dependencies, double-click the "MumbleBuild - cygwin" shortcut. This will open a cygwin terminal inside it type:

+

To start building Mumble's dependencies, double-click the "MumbleBuild - cygwin" shortcut. This will open a cygwin terminal. To change the current directory to the ''build environment's local clone'' of the mumble-releng repository type:

cd mumble-releng/buildenv/1.3.x/win32-static

cd mumble-releng/buildenv/1.3.x/win32-static

−

to change directory to the ''build environment's local clone'' of the mumble-releng repository.

+

{{Elaboration|message=

{{Elaboration|message=

−

This is not the same mumble-releng clone than what you used to create the ''%USERPROFILE%\MumbleBuild'' directory. Use the one you checked out first (on your own) to update the ''MumbleBuild'' directory should the need arise.

+

This mumble-releng directory is a copy. Should you want to update your build environment, proceed from the original.

}}

}}

−

To make the .bash files inside this directory executable do

+

−

chmod +x *.bash

+

To download and build all dependencies (this will take a long time!), execute

−

and then start the dependency fetch&compile operation with

./build-all.bash

./build-all.bash

−

This operation will take a long time (like you can eat something in between long), depending on your hardware and internet connection.

−

Once all dependencies are built, you will be returned to your Cygwin shell.

+

Once all dependencies are built, you will be returned to your Cygwin shell. Make sure it did not stop because of an error.

−

You can double check that everything has been built by inspecting the build environment's root directory. You should see a lot of folders containing installed/built products for all of the Mumble dependencies.

+

The built dependencies are located in the corresponding ''.build'' folder.

== Building Mumble ==

== Building Mumble ==

Revision as of 00:02, 5 April 2017

Building Guides

This page is one of a set of Building pages/guides for the different OSes with information on building Mumble/Murmur.

Commandline instructions

you're supposed to enter it in that command shell (or copy it from this webpage and right click in the command window and select Paste).

Note that each line is a separate command. So, if you wanted to do the following,

cd mumble
nmake

you would type "cd mumble" in your command prompt, and press enter, and then you would type "nmake", and press enter.

Ok. So you're ready to start working.

Build using MSVC on Windows

Introduction

Mumble has quite a few dependencies for building on Windows, and as the feature set grows, so does the list of dependencies. Therefore we have built some automated scripts to create a sane build environment for Mumble. To make this build environment as similar as possible across all of Mumble's supported Platforms, the Windows build is strongly dependent on Cygwin.

Software you will need

Visual C++ Build Tools 2015: We need the MSVC 2015 compilation tools. This is provided either by Visual Studio, or this "Build Tools" package (if you have Visual Studio 2015 installed, make sure it is up to date, then you shouldn’t need these Build Tools). During the installation you can deselect the Windows SDKs, because we are going to install the up-to-date one, listed below.

In the terminal window, change to the directory the scripts for Windows (32-bit) and static build reside in.

cd mumble-releng/buildenv/1.3.x/win32-static

and execute

setup.cmd

This should install a Mumble build environment in your C:\MumbleBuild directory named with a date and shortened commit hash like win32-static-1.3.x-2015-05-25-1234ab7.

If everything went right Windows Explorer should open up the new build environment directory as named above.

Build Mumble's dependencies

To start building Mumble's dependencies, double-click the "MumbleBuild - cygwin" shortcut. This will open a cygwin terminal. To change the current directory to the build environment's local clone of the mumble-releng repository type:

cd mumble-releng/buildenv/1.3.x/win32-static

Elaboration: This mumble-releng directory is a copy. Should you want to update your build environment, proceed from the original.

To download and build all dependencies (this will take a long time!), execute

./build-all.bash

Once all dependencies are built, you will be returned to your Cygwin shell. Make sure it did not stop because of an error.

The built dependencies are located in the corresponding .build folder.

Building Mumble

To build Mumble itself using your newly-built build environment, you should use the "MumbleBuild - cmd" shortcut to launch a Windows command prompt.

Next, make a checkout of the Mumble source tree and enter the root of the source tree with

Note:This build environment does not install the libraries and headers needed to build Mumble with G15 LCD or ASIO audio support. If you want to build Mumble with one of them you need to install them to the build environment on your own. In this case remove no-g15 or rather no-asio accordingly.

After all this preparation start the actual Mumble compilation with

nmake

You should end up with a mumble.exe and a murmur.exe binary (and a whole collection of .DLL files to go along with the two) in the "release" directory in the root of the Mumble source tree.

If you want to distribute your own mumble.exe you can either create an installer (see below) or collect mumble.exe and the needed .DLL files yourself.

(Optional) Visual Leak Detector

Note:VLD is no longer a default requirement for a Mumble build environment. You only have to install it if you want to use it in which case you have to manually enable it with CONFIG+=vld.

If you're using Visual C++ Express Edition, you will need to manually extract the files using a tool like 7-zip . Extract it to C:\dev\ and adjust the VLD_PATH to point to it.

Note:VLD is only enabled for debug builds. If you only compile Release builds you do not need it.

(Optional) Custom Dependency Paths

The build files were modified to support custom dependency paths a while ago. This is for the people who have the dependencies installed in some other place than the autogenerated directory structure. To specify the custom paths you need to create a winpaths_custom.pri file to the root of your Mumble project. In this file you can override all paths found in winpaths_default.pri. For example:

Would make the build process search its OpenSSL and Ice dependencies in the specified folders and use defaults for everything else. Note that you should only override the variables for dependencies you actually installed in non-default locations to prevent clashes with possible future updates.

Note: If you copied winpaths_default.pri to create your winpaths_custom.pri make sure to delete the following lines from your winpaths_custom.pri file:

Build using MXE on Debian and derivates

Introduction

It is possible to cross-compile Mumble using a MinGW toolchain. If you're more comfortable with a Unix-like system, you will probably prefer this method. The easiest way to cross-compile Mumble is by using MXE, which provides all the required dependencies.

Features currently not available with MinGW:

Overlay

Logitech G15 LCD

ZeroC Ice

Bonjour

Note:In the guide there are some commands with ${ARCH} in them.
You need to replace it with the desired architecture, which can be x86-64 (64 bit) or i686 (32 bit).