[8525, TyTN, MDA Vario II, JasJam ROM Development] mrmrmrmr:
Hi,

I am trying to compile vlc player (videolan client) for my Hermes with Windows Mobile 6.

Because previously compiled ver.8.5 of VLC Pocket Player does not run on my device and as this project is discontinued, I have to compile it myself.

If anyone has precompiled version of VLC Player which runs on WM6 I'd be interested.

Ottherwise, could you assist me in compiling this thing for WM6 ?

I got the sources from Videolan website and I 've read the following INSTALL.wince file which describes building it for Windows CE.

I got downloaded all the stuff that's described in the explanation and extracted them to the correct folders on my Linux installation. However, I get many errors which state that some header files are missing.

I'd be grateful if anyone could assist me in this or supply the working version of VLC Pocket Player.

I know that there is TCPMP which seems better than this one but when I try to watch the streams from my Dreambox TCPMP says "unsupported format"

$Id: INSTALL.wince 11166 2005-05-26 13:40:09Z gbazin $

INSTALL file for the WinCE version of the VLC media player

Building VLC from the source code
=================================

If you want to build VLC from sources, you can do it in several ways:

- On GNU/Linux, using the wince gcc cross-compiler.
(Right now we only provide an ARM version of the cross-compiler)

- Natively on Windows, using Microsoft Embedded Visual C++.
Even though we provide some evc project files with vlc, this method is
advised only if you just want to experiment/play with some basic
functionality in vlc. The reason for this is that vlc depends on a lot of
3rd party libraries and building them in EVC is not convenient and
sometimes even impossible.

Getting the right compiler tools
================================

You will need to download our wince gcc cross-compiler package:
http://www.videolan.org/pub/testing/wince/wince-arm-gcc4.0.0-cvs-linux-crosscompiler-20050517.tar.bz2.
Extract this package in your root directory (everything will be extracted in
/usr/local/wince/cross-tools).

The source code for this cross-compiler in also available at the same location.

Getting the additional libraries
=================================

VLC depends on other libraries to provide some features like ac3 audio decoding
or mpeg4 video decoding, etc...

Depending on your needs you will have to compile/install some or all of these
external libraries.

They can be found here (source code):
http://download.videolan.org/pub/testing/contrib/

We also provide a package with all the libraries already compiled so it is
actually really easy to compile a full-featured version of vlc:
http://download.videolan.org/pub/testing/wince/contrib-20050220-wince-xscale-bin.tar.bz2 (Check out fo more recent versions at the same location).

All you need to do is extract it in your root directory (the include files
and libraries will be put in /usr/local/wince/contrib-xscale).
You can do this with the following command:

tar xjvf contrib-20050220-wince-xscale-bin.tar.bz2 -C /

Please note the "-C /".

A complete list of the libraries on which we depend can be found here:
http://developers.videolan.org/vlc/

Configuring the build
=====================

Once you've got all the files you need in place, you need to configure the
build with the `./configure' script.

I'll assume that you are using the pre-compiled 3rd party libraries I'm
providing and that they are in /usr/local/wince/contrib-xscale.

Use something along those lines:

./bootstrap &&
PATH=/usr/local/wince/cross-tools/bin:$PATH \
CFLAGS="-D__stdcall= -D_OFF_T_ -I/usr/local/wince/cross-tools/include" \
CFLAGS="$CFLAGS -I/usr/local/wince/contrib-xscale/include" \
LDFLAGS="-L/usr/local/wince/cross-tools/lib" \
LDFLAGS="-L/usr/local/wince/contrib-xscale/lib" \
CC="arm-wince-pe-gcc -mcpu=xscale" \
../configure --host=arm-wince-pe --target=arm-wince-pe \
--build=i686-linux --prefix=/usr/local/wince \
--disable-sdl --disable-gtk --disable-dvdnav --disable-dvdread \
--disable-nls --disable-sout --disable-vlm --disable-wxwindows \
--disable-a52 --disable-libmpeg2 --disable-freetype --disable-fribidi \
--disable-mad --disable-plugins --enable-optimize-memory \
--with-freetype-config-path=/usr/local/wince-xscale/bin \
--with-fribidi-config-path=/usr/local/wince-xscale/bin \
--enable-tremor --enable-faad

./configure
PATH=/usr/local/wince/cross-tools/bin:$PATH \
CFLAGS="-D__stdcall= -D_OFF_T_ -I/usr/local/wince/cross-tools/include" \
CFLAGS="$CFLAGS -I/usr/local/wince/contrib-xscale/include" \
LDFLAGS="-L/usr/local/wince/cross-tools/lib" \
LDFLAGS="-L/usr/local/wince/contrib-xscale/lib" \
CC="arm-wince-pe-gcc -mcpu=xscale" \
../configure --host=arm-wince-pe --target=arm-wince-pe \
--build=i686-linux --prefix=/usr/local/wince \
--disable-sdl --disable-gtk --disable-dvdnav --disable-dvdread \
--disable-nls --disable-sout --disable-vlm --disable-wxwindows \
--disable-a52 --disable-libmpeg2 --disable-freetype --disable-fribidi \
--disable-mad --disable-plugins --enable-optimize-memory \
--with-freetype-config-path=/usr/local/wince-xscale/bin \
--with-fribidi-config-path=/usr/local/wince-xscale/bin \
--enable-tremor --enable-faad

See `./configure --help' for more information.

Actually Compiling the VLC source
=================================

Once configured, to build VLC, just run:
PATH=/usr/local/wince/cross-tools/bin:$PATH make

Once the compilation is done, you can build self-contained VLC packages with
the following 'make' rules:

make package-win32-base
will create a subdirectory named vlc-x.x.x with all the binaries
'stripped' (ie. without any debugging symbols).

make package-win32-zip
Same as above but will package the directory in a zip file.

Well done, now you're ready to use VLC!
=======================================