summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@igalia.com>2019-08-02 19:22:16 -0700
committerThibault Saunier <tsaunier@igalia.com>2019-10-01 09:20:25 -0300
commit3d8662ebfe778c85319c473b16ecd4d60cb6d137 (patch)
tree4bc1602d27a3345ba6707884e810c311fee15e1e /README.md
parentfe39bd302779d30c876ef028ab321b4565d15b10 (diff)
downloadgstreamer-3d8662ebfe778c85319c473b16ecd4d60cb6d137.tar.gz
Add support for wine+mingw environments
Diffstat (limited to 'README.md')
-rw-r--r--README.md52
1 files changed, 52 insertions, 0 deletions
diff --git a/README.md b/README.md
index ba5c8dec94..7fc75e84ae 100644
--- a/README.md
+++ b/README.md
@@ -279,3 +279,55 @@ pip3 install meson
Note that Meson is written entirely in Python, so you can also run it as-is
from the [git repository](https://github.com/mesonbuild/meson/) if you want to
use the latest master branch for some reason.
+
+
+### Setup a mingw/wine based development environment on linux
+
+#### Install wine and mingw
+
+##### On fedora x64
+
+``` sh
+sudo dnf install mingw64-gcc mingw64-gcc-c++ mingw64-pkg-config mingw64-winpthreads wine
+```
+
+FIXME: Figure out what needs to be installed on other distros
+
+#### Get meson from git
+
+This simplifies the process and allows us to use the cross files
+defined in meson itself.
+
+``` sh
+git clone https://github.com/mesonbuild/meson.git
+```
+
+#### Build and install
+
+```
+BUILDDIR=$PWD/winebuild/
+export WINEPREFIX=$BUILDDIR/wine-prefix/ && mkdir -p $WINEPREFIX
+# Setting the prefix is mandatory as it is used to setup symlinks during uninstalled development
+meson/meson.py $BUILDDIR --cross-file meson/cross/linux-mingw-w64-64bit.txt -Dgst-plugins-bad:vulkan=disabled -Dorc:gtk_doc=disabled --prefix=$BUILDDIR/wininstall/ -Djson-glib:gtk_doc=disabled
+meson/meson.py install -C $BUILDDIR/
+```
+
+> __NOTE__: You should use `meson install -C $BUILDDIR` each time you make a change
+> instead of the usual `ninja -C build` as the environment is not uninstalled.
+
+#### The development environment
+
+You can get into the development environment the usual way:
+
+```
+ninja -C $BUILDDIR/ devenv
+```
+
+After setting up [binfmt] to use wine for windows binaries,
+you can run GStreamer tools under wine by running:
+
+```
+gst-launch-1.0.exe videotestsrc ! glimagesink
+```
+
+[binfmt]: http://man7.org/linux/man-pages/man5/binfmt.d.5.html \ No newline at end of file