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>").
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."
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.
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.
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"
^
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)
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.
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.
This fixesmumble-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.
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.
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.
Fixesmumble-voip/mumble#2483
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.