Commit Graph

76 Commits

Author SHA1 Message Date
Davide Beatrici
1ecd30025f 3rdparty: update 'minhook-src' submodule
We merged 3 pull requests in our fork:

- "Added CLang support": https://github.com/TsudaKageyu/minhook/pull/51
- "Add CMake support": https://github.com/TsudaKageyu/minhook/pull/58
- "Add <intrin.h> for MSVC": https://github.com/TsudaKageyu/minhook/pull/75
2019-09-30 06:51:26 +02:00
Davide Beatrici
65d395f898 3rdparty/opus-build: update sources 2019-09-26 06:10:41 +02:00
Davide Beatrici
32f9144287 Update opus-src submodule (Opus v1.3.1)
https://people.xiph.org/~jm/opus/opus-1.3
2019-09-26 06:09:52 +02:00
Davide Beatrici
15831dbca8 Add missing includes for "no-pch" build
This commit adds all the missing includes when the PCH header is not used.

Also, some includes are reordered and/or made consistent (e.g. "#include <QtEndian>" -> "#include <QtCore/QtEndian>").
2019-09-12 22:08:39 +02:00
Davide Beatrici
5a07244a44 Don't include PCH headers directly
According to Qt's documentation the PCH header doesn't need to be included.

From https://doc.qt.io/qt-5/qmake-precompiledheaders.html:

"To make your project use precompiled headers, you only need to define the PRECOMPILED_HEADER variable in your project file."

"qmake will handle the rest, to ensure the creation and use of the precompiled header file. You do not need to include the precompiled header file in HEADERS, as qmake will do this if the configuration supports precompiled headers."
2019-09-12 00:13:35 +02:00
Davide Beatrici
b1f89643e9 3rdparty/opus-build: build as shared library even if it's a static build
This is the behavior of "celt-0.7.0-build" and "celt-0.11.0-build".

We need it for "opus-build" too because we load it at runtime since e0ee016e5c.
2019-04-05 00:51:23 +02:00
Davide Beatrici
b427333257 Auto-update LICENSE.header in source files 2019-01-25 04:56:19 +01:00
Davide Beatrici
b6cc8e7c93 rnnoise-build: define USE_MALLOC to use malloc() and free() instead of variable length arrays 2018-07-07 00:40:18 +02:00
Davide Beatrici
0e9944f91e rnnoise-build: define _USE_MATH_DEFINES for MSVC, to add the M_PI macro 2018-07-07 00:40:18 +02:00
main()
8060171958 Add RNNoise support 2018-07-07 00:40:05 +02:00
Davide Beatrici
8ca51d09d8 Compile Opus as shared library 2018-07-06 20:14:37 +02:00
davidebeatrici
209255df67 3rdparty: don't set custom build directories, aside from the two CELT versions 2018-02-18 23:56:34 +01:00
Mikkel Krautz
f6ba3a52bf Auto-update LICENSE.header in source files. 2018-01-01 23:05:37 +01:00
Mikkel Krautz
828d9301f5 Remove DIST directive from all .pro files.
We used to use DIST for referencing extra files that should be included
in our tarballs created by 'make dist'.

However, we've since migrated away relying on 'make dist' in release.pl.
Instead, we include everything, and have a list of items to exclude, such
as IETF RFC drafts distributed in 3rdparty/speex-src that do not adhere to
the Debian Free Software Guidelines.
2017-08-06 20:38:14 +02:00
Jan Klass
23e763888f Fix assignment spacing in pro files
Consistently use single space before assignment operator.
2017-08-05 20:44:00 +02:00
Jan Klass
27a983d094 Fix indentation in pro files
Make them consistently two spaces indentation.

In two places a wrong indentation level was fixed.
2017-08-05 20:37:19 +02:00
davidebeatrici
e4bcededd2 Update Opus to v1.2.1 2017-07-04 20:53:13 +02:00
Davide Beatrici
a1a1ff103a 3rdparty/opus-build: remove unnecessary shared library handling for macOS
This removes a section of opus-build.pro that sets the proper install name on the Opus shared library.
This commit removes it because it is not needed anymore -- we only ever build Opus as a static library on Unix-like systems.
2017-03-22 23:26:44 +01:00
Davide Beatrici
bb5c365b2b opus-build.pro: Don't use MSVC-specific SSE config options options for MinGW 2017-03-17 19:14:19 +01:00
Davide Beatrici
594d010dde opus-build: Rename "Win32" folder to "win32"
This fixes the following error with MinGW on Linux:
../opus-src/celt/bands.c:31:20: fatal error: config.h: No such file or directory
 #include "config.h"
                    ^
2017-03-17 19:14:18 +01:00
Davide Beatrici
633f50b38f minhook-build.pro: Remove MSVC flags for MinGW 2017-03-17 19:14:16 +01:00
Davide Beatrici
d84dc1a4dd speex-build.pro: Use Unix-like config.h for the MinGW build, instead of win32/config.h" 2017-03-17 19:14:16 +01:00
Davide Beatrici
322e7112d3 celt-0.7.0-build.pro: Use Unix-like config.h for the MinGW build, instead of win32/config.h" 2017-03-17 19:14:16 +01:00
Davide Beatrici
0e460bad26 celt-0.11.0-build.pro: Use Unix-like config.h for the MinGW build, instead of win32/config.h" 2017-03-17 19:14:15 +01:00
Davide Beatrici
d04995899a Move .pri files and "toolchain" folder in "qmake" 2017-03-05 15:48:16 +01:00
Mikkel Krautz
aa25435a7b CryptographicRandom: new class for acquiring random data for cryptographic purposes.
The class implements an API similar to OpenBSD's arc4random:

 - A way to get a random uint32_t. (arc4random)
 - A way to get a random uint32_t with an upper bound. (arc4random_uniform)
 - A way to fill a buffer with random data. (arc4random_buf)
2017-03-01 23:29:07 +01:00
Davide Beatrici
2dee4ea3ed minhook-build.pro: Fix paths
- Rename "HDE" folder to "hde", the name was changed in 28338f33fa

- Use "$$SOURCEDIR" instead of manually specifying the folder name
2017-02-08 10:42:53 +01:00
Mikkel Krautz
b005b71851 3rdparty/minhook-src: update MinHook to v1.3.3.
Primarily to get MinGW support.
2017-02-07 21:19:40 +01:00
Mikkel Krautz
91ebb8b0b5 Update tree copyrights to 2017. 2017-01-08 21:05:57 +01:00
Mikkel Krautz
0502f612c9 3rdparty/opus-build: update verison references in config.h for Unix-like systems to 1.1.3. 2016-12-04 13:15:02 +01:00
Mikkel Krautz
94493ac00f 3rdparty/opus-src: update to 1.1.3.
This updates Opus to our mumble-voip/opus 1.1.3+msvc2013.3-alignment
branch.

Fixes mumble-voip/mumble#2146
2016-12-04 13:10:14 +01:00
Mikkel Krautz
5cffbf3bd3 Always prepend 'release' or 'debug' dirs when adding to QMAKE_LIBDIR.
This commit changes various pri and pro files to always prepend
the global build output directory (which can be either 'release'
or 'debug', depending on the current build configuration).

Otherwise, if a library that we build ourselves, such as -lspeex in
CONFIG+=bundled-speex, is also available in one of the other lib dirs,
we can't be sure that the one in our build output directory will be used.

This is a problem on FreeBSD, where we add /usr/local/lib
to the QMAKE_LIBDIR in compiler.pri. That directory might contain
its own -lspeex.

With this change, we now prefer libraries in our build output directory
to system libraries.
2016-11-27 01:13:57 +01:00
Mikkel Krautz
ca8a117fae 3rdparty/speex-build: add CONFIG += no_batch to speex-build.pro.
If we don't do it ourselves, qmake will add it automatically, and
warn to stdout.

The reason we need it here is because we use two VPATHs that include
files with the same names. That confuses nmake's inference rules, so
we have to disable them with no_batch.
2016-11-26 13:08:34 +01:00
Mikkel Krautz
21a603c3f9 3rdparty/qqbonjour-src: in BonjourServiceResolver, always tear down ResolveRecord on error.
This fixes mumble-voip/mumble#2223

Before this commit, BonjourServiceResolver would not consistently
tear down the ResolveRecord when an error occurred.

The 100% CPU usage problem from issue 2223 happens in
BonjourServiceResolver::bonjourResolveReply, where previously,
the ResolveRecord was removed from qmResolvers for both error
and success -- but was never deleted on error. To fix this issue,
we delete the ResolveRecord for bonjourResolveReply's error case.

For constency, we also introduce similar code in the
BonjourServiceResolver::bonjourSocketReadyRead method.
Now, if DNSServiceProcessResult returns an error, we tear down
the ResolveRecord and remove it from qmResolvers.
2016-11-25 22:27:10 +01:00
Mikkel Krautz
302afdacb3 3rdparty/xinputcheck-src: add Xbox One controller (w/ 3.5 mm jack).
Apparently, this one has a different GUID as well.
2016-08-06 20:23:14 +02:00
Mikkel Krautz
5ca9503d5d 3rdparty/xinputcheck-src: add Xbox One S wireless (non-Bluetooth) and Xbox One Elite wireless.
In my initial testing, I apparently missed that the Xbox One S wireless
controller has a different GUID than a regular Xbox One wireless
controller when used with the Xbox wireless dongle for Windows.

Also, add the GUID for the Xbox One Elite wireless controller, which
also has a different GUID than the regular Xbox One wireless when
used in wireless mode.
2016-08-06 14:15:50 +02:00
Mikkel Krautz
8ee2bbc51c 3rdparty/xinputcheck-src: add Xbox One controller GUIDs to avoid device list querying for Xbox One controllers.
Querying the device list and checking whether IG_ is in the name does
not work on Windows 10 Anniversary Update (1607).

To work around that, we add the GUIDs for all Xbox One controllers.

This should fix the problem for the most common XInput devices for now.

Presumably, Microsoft will fix this later on. But for now, this will do.

The good thing about doing it this way is that it isn't a workaround per
se -- it's an optimization that already exists in the code.

Fixes mumble-voip/mumble#2483
2016-08-04 02:24:11 +02:00
Mikkel Krautz
295961dc16 Convert all remaining uses of LIBPATH in qmake files to use QMAKE_LIBDIR instead.
LIBPATH is deprecated in favor of QMAKE_LIBDIR.
2016-07-05 23:07:27 +02:00
Mikkel Krautz
84aa1aeb35 3rdparty: update to use LICENSE.header. 2016-05-10 22:42:04 +02:00
Mikkel Krautz
5c17181b02 Move smallft to 3rdparty/smallft-src and add to 3rdPartyLicenses.
The smallft code is not under Mumble's license, so it should
live under 3rdparty, and have a proper license notice in our
binaries.
2016-04-28 13:11:33 +02:00
Mikkel Krautz
6beb46e631 Move src/bonjour to 3rdparty/qqbonjour-src and add its license to the third party license list.
Fixes mumble-voip/mumble#2160
2016-03-13 13:30:56 +01:00
Mikkel Krautz
bc12e8eb7b XInputCheck: add string.h and stdlib.h includes to xinputcheck.cpp. 2016-03-04 01:07:52 +01:00
Mikkel Krautz
cbff56b1d7 XInputCheck: fix missing file reference in the README. 2016-03-04 01:07:51 +01:00
Mikkel Krautz
da12c2bdeb XInputCheck: add comment at the top of the file describing development practices and origin of the code. 2016-03-04 01:07:50 +01:00
Mikkel Krautz
25b88a7444 XInputCheck: add documentation for XInputCheck_IsGuidProductXInputDevice. 2016-03-04 01:07:49 +01:00
Mikkel Krautz
0f8053351b XInputCheck: add XInputCheck_ClearDeviceCache(). 2016-03-04 01:07:43 +01:00
Mikkel Krautz
6f1331b2e6 GlobalShortcutWin: Exclude XInput devices from DirectInput.
This adds a dependency on a small library, XInputCheck, which is
a function abstracted away from SDL. All it does is check whether
a given DirectInput guidProduct is an XInput device.
2016-03-03 16:13:26 +01:00
Mikkel Krautz
e82debb847 3rdparty/opus-build: re-structure qmake logic for including SSE, SSE2 and SSE4.1 sources into the build.
This should fix the OS X Universal build.
2015-12-30 16:37:00 +01:00
Mikkel Krautz
a97c4bb067 3rdparty/minhook-build: disable third-party warnings by default in MinHook. 2015-12-28 01:26:03 +01:00
Mikkel Krautz
da8a95e541 3rdparty/opus-build: only enable OS X SIMD for x86-64 (non-universal) build. 2015-12-26 02:01:13 +01:00