As of now, the webrtc-audio-processing library cannot be build on Windows. As most of our build system is gcc specific, I'll start with adding MinGW support, even though the code is clearly made for MSVC. Patches coming.
Created attachment 124808 [details] [review] Don't include execinfo.h for windows And that even if we have GLIBC. This fixes a build issue in mingw. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Created attachment 124809 [details] [review] Don't use MSVC specific exception handler for MINGW Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Created attachment 124810 [details] [review] Add missing throw in destructor override This is being inforced by mingw. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Created attachment 124811 [details] [review] lrint is available with mingw This make use of lrint when building with mingw. The assembly code for X86 is MSVC specific and would not build. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Created attachment 124812 [details] [review] Fix case sensitivity issue with MinGW cross-build Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Created attachment 124813 [details] [review] Add missing windows specific headers
Created attachment 124814 [details] [review] Add missing windows specific headers
Created attachment 124815 [details] [review] Fix build on win64 This trace function is mixing long int and long long int pointers.
Created attachment 124817 [details] [review] Disable backtrace on android The check get confused if one uses GNU STL rather then STL port.
Created attachment 124818 [details] [review] Don't blindly link to pthread This otherwise breaks the build on Android and Windows.
Created attachment 124914 [details] [review] Add required define for Windows This will also add it to the .pc file as WEBRTC_WIN leaks into the public interface and undefined __STRICT_ANSI__ so M_PI is available.
Created attachment 124915 [details] [review] Properly select the right system wrappers This is needed for windows build to be usable.
Created attachment 124916 [details] [review] Fix case sensitivity in windows include While cross-compiling from linux, we need all include to be lower case.
Created attachment 124917 [details] [review] Define MSVC _WIN32 so we can build on mingw
Created attachment 124918 [details] [review] Add missing windows conditions variable Those are used by generic RW lock implementation.
Created attachment 124919 [details] [review] Link against winmm on Windows
With that I'm now able to run on Windows with success. Note that an Android patch just slipped in the lot, please ignore, I'll create separate bug for Android and OSX/iOS. An important aspect is that you need at least version 0x0600 of Windows API to build. Note sure if we should document, check, or simply define it.
Created attachment 124920 [details] [review] Add required define for Windows Added missing ,
Created attachment 124921 [details] [review] Properly select the right system wrappers Was in conflict after previous update.
Created attachment 124922 [details] [review] Properly select the right system wrappers Always better if I don't send the same one.
Created attachment 124923 [details] [review] Define MSVC _WIN32 so we can build on mingw Another one that was rebased
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/issues/382.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.