kinetiknz/cubeb — pull request #44 by camlorn (2014-09-20 18:50:40+00:00)
Title: Minimal Set of Changes to Build with MinGW

Specifically:
Bring in missing `WAVE_FORMAT_48s16` macro, which may be unofficial as it's undocumented. Also bring in `STACK_SIZE_PARAM_IS_A_RESERVATION `, also missing from MinGW headers.
The `test_sanity` test must lie about being windows 7 if it is built with MinGW. This is because MinGW is missing `VER_SET_CONDITION`, the function which the windows headers use to implement the macro, and other supporting functionality to get the Windows version with this method. In such a case, the test prints a warning. See [this thread](http://osdir.com/ml/gnu.mingw.user/2002-11/msg00059.html) which is the only source of information I could find on the issue.
Finally, added some notes to install. We do not currently compile on Cygwin, primarily because of `_aligned_malloc`. in order to get that working, threading probably needs to be abstracted out into a file that uses compiler macros to detect when to and not to use `_beginthreadex`; unfortunately, we cannot safely switch to `CreateThread` without closely auditing the code, something I have not had time to do yet. In MinGW, it is necessary to remove `-pthread` from the makefile; again, there appears to be no sane and unbuggy way to detect this.
`cubeb-stdint.h.vs` is part of future work involving cmake. It is incredibly helpful for us to have this, so that we can fall back onto it. It is otherwise unrelated to this pull request, but made it into the commit history in such a way that I could not easily remove it.