From b980884f924f523873ca0b613080a132524d042d Mon Sep 17 00:00:00 2001 From: Timothy Gu Date: Sat, 15 Feb 2014 10:12:58 -0800 Subject: 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 --- DOCS/crosscompile-mingw.md | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) (limited to 'DOCS') 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 -- cgit v1.2.3