view DOCS/tech/crosscompile.txt @ 35395:e740eaf25f32

stream ftp: open_f: Mark parameter file_format unused We have nothing to say about it, so we do not set *file_format. No need for compilers to emit a warning about it.
author al
date Mon, 26 Nov 2012 23:37:06 +0000
parents 68d3b36b9dfc
children 7f73ecc9ccda
line wrap: on
line source

Due to a lack of Windows developers, it is a good idea to allow Linux
developers to do at least some basic check of their code.
This HOWTO explains how to set up cross-compilation.


MinGW under Debian
==================

First, you need to install the "mingw32" package and get a MPlayer SVN
checkout.

Next, you need quite a lot of dependencies. Since this is for testing and
not actually use, the easiest way is to use this package:
http://natsuki.mplayerhq.hu/~reimar/mpl_mingw32.tar.bz2
NOTE that this is likely to be quite out-dated and might include packages
with security issues, so do not use it to build binaries for real use.

After extracting this package into the MPlayer source-tree,
you only need to run the included linux-mingw.sh to configure (it just runs
./configure --host-cc=cc --target=i686-mingw32msvc --cc=i586-mingw32msvc-cc
--windres=i586-mingw32msvc-windres --ranlib=i586-mingw32msvc-ranlib
--extra-cflags="-I$PWD/osdep/mingw32"
--extra-ldflags="-L$PWD/osdep/mingw32"
--with-freetype-config="$PWD/osdep/mingw32/ftconf") and then run make.

You should be able to run the generated binary with Wine, if you want to.

The steps as command-lines:

sudo apt-get install mingw32
svn co svn://svn.mplayerhq.hu/mplayer/trunk MPlayer-mingw
cd MPlayer-mingw
wget http://natsuki.mplayerhq.hu/~reimar/mpl_mingw32.tar.bz2
tar -xjf mpl_mingw32.tar.bz2
sh linux-mingw.sh
make


Wine
====

First, you need to install the "Wine" package and get a MPlayer SVN
checkout.

You don't need any dependencies other than those you already have for
your Linux build, because the Wine and Linux build will use them together.

Configure with

  ./configure --target=i686-wine --cc="winegcc -m32" --windres=wrc --enable-gui

and add any options you normally use for your Linux build, then run make.