$Id$

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.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 \
    --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!
=======================================
