Commit Graph

13 Commits

Author SHA1 Message Date
Stefan Hacker
2c0d37f9ef Switch from old speex to new speex and speexdsp
The speex library has been split into a codec part
(speex) and a dsp part (speex-dsp). As we still need
the codec for compatibility with 3rd party clients
only sending speex but still want the updates that
went into the dsp and codec since then this patch
modifies our build to enable that. To achieve that
we combined the two libraries back together. Doing
it this way might brittle but is only a temporary
solution until we can actually drop the codec part.
2015-05-06 20:22:11 +02:00
Mikkel Krautz
3a6c4f0fee Build two separate Windows overlays - one for x86 and one for x86_64.
This splits fx11 into an x86 variant and an x64 variant.
This creates effects11_x86.lib and effects11_x64.lib, instead
of the single effects11.lib we had previously.

The minhook build is also tweaked. However, since minhook
is only used on x86_64, it is only built for x86_64.
Consequently, the library is still called minhook.lib.

The overlay itself is split into mumble_ol.dll and mumble_ol.exe
for x86, and mumble_ol_x64.dll and mumble_ol_x64.exe for x86_64.
2015-04-22 21:03:39 +02:00
Mikkel Krautz
f05e6571ec Fix typo in speex-build.pro: '../speex-build' instead of '../speex-srcbuild'.
The new 'no_include_pwd' CONFIG option introduced by
d855b67d10 showed us this bug.

Before that commit, OS X *did* include PWD in the INCLUDEPATH
by default. Because of that, the equivalent of '../speex-build'
was *already* in the INCLUDEPATH, because 'speex-build' is the
PWD of the .pro file.

Now that we explicitly require the PWD not to be included, our
own inclusion of 'speex-build' must be spelled correctly to work.

This commit fixes that.
2015-03-22 13:16:50 +01:00
Mikkel Krautz
46fc40e12a Fix Qt 4 build of mach-override to build both x86 and x86-64 binaries.
Without explicitly being told, it only builds x86 binaries (32-bit).
2015-03-22 13:14:53 +01:00
Mikkel Krautz
d855b67d10 Fix config.h issues in 3rdparty caused by new INCLUDEPATH handling in Qt 5.4.1.
This commit fixes an issue caused by a new behavior in Qt 5.4.1 that
causes
PWD to be included in the default INCLUDEPATH on Windows with the nmake/VS
generators.

This new behavior was implemented in the following Qt commit:
qtbase/a90bb5b89a - centralize/unify/sanitize INCLUDEPATH "enrichment")
a90bb5b89a

This is a problem because our codecs in 3rdparty use two distinct
config.h files: one for Win32, and one for everything else.

The Win32 variant lives in the Win32 subdirectory of the build root.
The build root is the directory that will be added automatically by
the new Qt behavior. Typically, the build root has a build suffix,
for example 'speex-build'.

The regular config.h - the one for everything else but Win32 - lives
in the buildroot itself.

This new Qt behavior caused the wrong config.h file to be included
on Windows. Since the build root is now in the INCLUDEPATH,
the config.h file that lives in the build root now takes precedence
over the one in the Win32 directory.

To restore the old behavior for the codec builds, we use Qt config
option called 'no_include_pwd'. That explicitly tells qmake to not
include the PWD in the INCLUDEPATH. This restores the previous
behavior on Windows.

The 'no_include_pwd' config option has been around in Qt for a while.
It was not introduced with the aforementioned change to Qt, so it
doesn't break backwards compatibility for us.
2015-03-22 03:57:45 +01:00
Mikkel Krautz
403aedb35d Add mach_override as a 3rdparty dep and hook it into the OS X overlay.
Prior versions of mach_override were small (a single file),
and we just had its source live in the OS X overlay directory.

Newer versions of mach_override use libudis86, so the file count
goes up a fair bit. So much so that it doesn't make sense to
have it live inside the OS X overlay anymore.

Because of that, this commit moves it into 3rdparty.
2015-02-05 23:11:28 +01:00
Kissaki
3b507d57b7 Overlay: Use standard OpenGL headers rather than duplicating code
* Verified that defines match with gl.h of Windows SDK 7.1, and added glext.h
2015-01-11 12:04:12 +01:00
Mikkel Krautz
faa67303bd Move speex, celt-0.7.0, celt-0.11.0, opus and sbcelt to the 3rdparty directory. 2015-01-05 23:11:59 +01:00
Mikkel Krautz
93ad74b467 Add MinHook-based overlay for Windows x64.
This commit adds MinHook as a 3rd party
dependency and adds an alternative HardHook
implementation that makes use of MinHook.

This new MinHook-based HardHook implementation
allows us to provide an overlay for Mumble on
Windows x64.

The x64 overlay hasn't seen much testing in
real-world x64 games, except some minor testing
for World of Warcraft running in x64 mode, where
it works just fine.

There seems to be a compatibility with the Uplay
overlay, which causes Far Cry 4 to crash at the
"Press any key to continue" screen that is shown
just after launching the game. However,
Assassin's Creed: Unity works fine, so it might
just be a Far Cry 4 issue.

The x64 overlay also seems to interoperate with
the Steam overlay just fine.

I think this is a good starting point for the
feature. Let us get it into snapshots and let
us try to squash any addition bugs we find.
2015-01-03 19:44:02 +01:00
Mikkel Krautz
21554c6f80 3rdparty/fx11-build: remove DX_SDK include dir, we get it from the environment.
Fixes the build when using Qt 5.  Qt 5's qmake includes
an unquoted "C:\Program Files (x86)\[...]" in the Makefile,
causing the build to break.
2014-07-25 16:54:47 +02:00
Kissaki
0285e3b63c Adjust build error text (missing submodule dir)
* Adjust the error text of when the build notices a git submodule
for a third party library was not initialized.
The new text should be more precise and compact.
2014-03-30 18:51:34 +02:00
Stefan Hacker
a7ae275b0b Make paths in fx11-build.pro case sensitive 2014-03-25 22:23:57 +01:00
Kissaki
9544bec1f9 Overlay: Add Direct3D 11 support
* Based on an initial patch by Benjamin Jemlich
* Effects11 code based on changes by nyet
2014-01-10 22:51:11 +01:00