summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
authorTimothy Gu <timothygu99@gmail.com>2014-02-15 10:12:58 -0800
committerwm4 <wm4@nowhere>2014-02-17 02:52:57 +0100
commitb980884f924f523873ca0b613080a132524d042d (patch)
treed1335dc1faf9778257ee7992a7f62d6ec003391d /DOCS
parent891268955ee9df7d778faa7f3eca9a56687b653f (diff)
downloadmpv-b980884f924f523873ca0b613080a132524d042d.tar.bz2
mpv-b980884f924f523873ca0b613080a132524d042d.tar.xz
DOCS/crosscompile-mingw: update
- Adds description of and uses $JOBS envvar in MXE instructions - Adds MXE_TARGETS to command line instead of echoing it to settings.mk - Prettify and sentence usage
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/crosscompile-mingw.md40
1 files changed, 24 insertions, 16 deletions
diff --git a/DOCS/crosscompile-mingw.md b/DOCS/crosscompile-mingw.md
index 7d5d02f644..aac746f11f 100644
--- a/DOCS/crosscompile-mingw.md
+++ b/DOCS/crosscompile-mingw.md
@@ -6,16 +6,22 @@ produce both 32 bit and 64 bit executables. MinGW-w64 is available from
http://mingw-w64.sourceforge.net.
You have to run mpv's configure with these arguments:
- DEST_OS=win32 TARGET=i686-w64-mingw32 ./waf configure
-Using mingw-w64-cmake to setup a MinGW-w64 environment is recommended (this will
-also build mpv and its dependencies): https://github.com/lachs0r/mingw-w64-cmake
+```bash
+DEST_OS=win32 TARGET=i686-w64-mingw32 ./waf configure
+```
-Alternatively, use MXE: http://mxe.cc
-With MXE, you have to modify the file settings.mk to target MinGW-w64 (even if
-you compile to 32 bit).
+While building a complete MinGW-w64 toolchain yourself is possible, people have
+created scripts to help ease the process. These are the two recommended methods:
-Warning: the original MinGW (http://www.mingw.org) is unsupported.
+- Using [mingw-w64-cmake](lachs0r/mingw-w64-cmake) to setup a MinGW-w64
+ environment. We recommend you to try this first before MXE. mingw-w64-cmake
+ will also build mpv and its dependencies.
+- Alternatively, you can use MXE: http://mxe.cc. With MXE, you have to manually
+ set the target to MinGW-w64 (even if you compile to 32 bit). A working example
+ below.
+
+**Warning**: the original MinGW (http://www.mingw.org) is unsupported.
Note that MinGW environments included in Linux distributions are often broken,
outdated and useless, and usually don't use MinGW-w64.
@@ -31,22 +37,24 @@ cd /opt
git clone https://github.com/mxe/mxe mingw
cd mingw
-# Edit the MXE target, so that MinGW-w64 for 32 bit targets is built.
+# Build required packages. The following provide a minimum required to build
+# mpv.
-echo "MXE_TARGETS := i686-w64-mingw32" > settings.mk
+# The JOBS environment variable controls threads to use when building. DO NOT
+# use the regular `make -j4` option with MXE. Alternatively, you can make this
+# a default so you don't need to type `JOBS=4` every time you build:
+# echo "JOBS := 4" >> settings.mk
-# Build required packages. The following provide a minimum required to build
-# mpv. (Not all of the following packages are strictly required.)
+# The MXE_TARGET environment variable builds MinGW-w64 for 32 bit targets.
+# You can make this a default:
+# echo "MXE_TARGETS := i686-w64-mingw32" >> settings.mk
-make gcc
-make ffmpeg
-make libass
-make jpeg
-make pthreads
+make gcc ffmpeg libass jpeg pthreads MXE_TARGETS=i686-w64-mingw32 JOBS=4
# Build mpv. The target will be used to automatically select the name of the
# build tools involved (e.g. it will use i686-w64-mingw32-gcc).
+cd ..
git clone https://github.com/mpv-player/mpv.git
cd mpv
export PATH=/opt/mingw/usr/bin/:$PATH