diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2019-02-22 02:08:26 +0530 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2019-02-22 02:34:27 +0530 |
commit | c877545cc9eec20002afdad43f72e73a14df302f (patch) | |
tree | dd54c50b956f54db6b9ee5d65b570e6c5664f0a9 /recipes | |
parent | 2467f20bfe8143361da8d13f6fe120ed21dd7b5f (diff) |
gst recipes: Disable plugins when building with MSVC
Some libraries have issues that cause us to be unable to include their
headers or link to their libraries when building with MSVC. Disable
them when we're building with MSVC on Windows.
With this, you can produce a mostly-complete gstreamer-1.0 package
that is built with MSVC on Windows.
The status of these plugins is tracked at:
https://gitlab.freedesktop.org/gstreamer/cerbero/issues/121
Diffstat (limited to 'recipes')
-rw-r--r-- | recipes/gst-plugins-bad-1.0.recipe | 11 | ||||
-rw-r--r-- | recipes/gst-plugins-good-1.0.recipe | 6 |
2 files changed, 16 insertions, 1 deletions
diff --git a/recipes/gst-plugins-bad-1.0.recipe b/recipes/gst-plugins-bad-1.0.recipe index a61d7729..2fa4c790 100644 --- a/recipes/gst-plugins-bad-1.0.recipe +++ b/recipes/gst-plugins-bad-1.0.recipe @@ -398,7 +398,16 @@ class Recipe(custom.GStreamer): def prepare(self): # webrtc-audio-processing headers require C++11, older GCCs require # explicitly opting in (f.ex., mingw gcc and android) - self.meson_options['cpp_std'] = 'gnu++11' + self.meson_options['cpp_std'] = 'c++11' + if self.using_msvc(): + # plugin is C++, library is Autotools + self.disable_plugin('soundtouch', 'effects', dep='soundtouch') + # Plugin is C++ and hence webrtc-audio-processing must also be + # built with MSVC, it uses Meson but it doesn't build: + # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/issues/2 + self.disable_plugin('webrtcdsp', 'effects', dep='webrtc-audio-processing') + # librsvg pulls in gdk-pixbuf, which must be built with MSVC + self.disable_plugin('rsvg', 'codecs', dep='librsvg') # Enable hardware codecs if variants are enabled self.enable_plugin('nvenc', 'codecs', 'nvcodec', option='nvenc') diff --git a/recipes/gst-plugins-good-1.0.recipe b/recipes/gst-plugins-good-1.0.recipe index 5a78f212..46e82642 100644 --- a/recipes/gst-plugins-good-1.0.recipe +++ b/recipes/gst-plugins-good-1.0.recipe @@ -222,6 +222,12 @@ class Recipe(custom.GStreamer): self.append_env('CFLAGS', '-DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1') self.append_env('OBJCFLAGS', '-DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1') + if self.using_msvc(): + # plugin is C++, library is Autotools + self.disable_plugin('taglib', 'codecs') + # gdk-pixbuf and all deps must be ported to MSVC first to fix CRT interop issues + self.disable_plugin('gdkpixbuf', 'effects', option='gdk-pixbuf', dep='gdk-pixbuf') + if self.config.target_platform == Platform.LINUX: self.use_system_libs = True |