-$Id: INSTALL.win32,v 1.22 2004/01/24 21:06:51 hartman Exp $
+$Id$
INSTALL file for the Windows9x/Me/NT4/2k/XP version of the VLC media player
If you want to build VLC from sources, you can do it in several ways:
- natively on Windows, using cygwin (www.cygwin.com) with or without the
- unix emulation layer. This is the prefered way to compile vlc if you want
+ POSIX emulation layer. This is the preferred way to compile vlc if you want
to do it on Windows.
+ NOTE: This is the PREFERRED way of building VLC natively (the others
+ are not as much tested so expect more difficulties with them).
- natively on Windows, using MSYS+MINGW (www.mingw.org)
- (MSYS is a minimal build environnement to compile unixish projects under
- windoze. It provides all the common unix tools like sh, gmake...)
+ (MSYS is a minimal build environment to compile Unixish projects under
+ windoze. It provides all the common Unix tools like sh, gmake...)
Please note that the gettext utilities are not included in the default
MSYS/MINGW packages so you won't be able to build VLC with i18n support.
- natively on Windows, using Microsoft Visual C++. Even though we provide some
msvc project files with vlc, this method is advised only if you just want to
- experiment/play with some basic functionnalities in vlc. The reason for this
+ 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
MSVC is not convenient and sometimes even impossible.
( NOTE: if you want to run vlc under the msvc debugger, you need to run it
with the --fast-mutex --win9x-cv-method=1 options because the debugger
usually loses signals sent by PulseEvent() )
-- or on Linux, using the mingw32 cross-compiler.
+- or on GNU/Linux, using the mingw32 cross-compiler.
Getting the right compiler tools
================================
- cross-compiling with mingw32:
-You first need to download a linux cross-compiler version of mingw32.
+You first need to download a GNU/Linux cross-compiler version of mingw32.
For Debian GNU/Linux users, you can use the mingw32, mingw32-binutils and
mingw32-runtime packages.
http://www.mingw.org/download.shtml
http://prdownloads.sf.net/mingw/MSYS-1.0.9.exe
-http://prdownloads.sf.net/mingw/MinGW-3.0.0-rc3.exe
+http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe
http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe
-Getting the additionnal libraries
+Getting the additional libraries
=================================
VLC depends on other libraries to provide some features like ac3 audio decoding
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 (these compiled
libraries will only work with mingw or cygwin):
-http://download.videolan.org/pub/testing/win32/contrib-20040106-win32-bin-gcc3.3.1-only.tar.bz2
+http://download.videolan.org/pub/testing/win32/contrib-20040902-win32-bin-gcc3.3.1-only.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/win32). You can do this with the following
-command: "tar xjvf contrib-20040106-win32-bin-gcc3.3.1-only.tar.bz2 -C /"
+command:
+
+ tar xjvf contrib-20040902-win32-bin-gcc3.3.1-only.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/
./configure --host=i586-mingw32msvc --build=i386-linux \
--disable-sdl --disable-gtk \
--enable-nls \
- --enable-ffmpeg --with-ffmpeg-mp3lame \
- --enable-faad \
- --enable-flac \
- --enable-theora \
+ --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
+ --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
--with-wx-config-path=/usr/win32/bin \
--with-freetype-config-path=/usr/win32/bin \
- --disable-fribidi --disable-vcdx \
+ --with-fribidi-config-path=/usr/win32/bin \
+ --enable-livedotcom --with-livedotcom-tree=/usr/win32/live.com \
+ --enable-caca --with-caca-config-path=/usr/win32/bin \
+ --with-xml2-config-path=/usr/win32/bin \
+ --with-dvdnav-config-path=/usr/win32/bin \
+ --disable-cddax --disable-vcdx --enable-goom \
+ --enable-twolame --enable-dvdread \
--enable-debug
If you are cross-compiling with our gcc-3.3.1 package, you can use something
./configure --host=i586-mingw32msvc --build=i386-linux \
--disable-sdl --disable-gtk \
--enable-nls \
- --enable-ffmpeg --with-ffmpeg-mp3lame \
- --enable-faad \
- --enable-flac \
- --enable-theora \
+ --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
+ --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
--with-wx-config-path=/usr/win32/bin \
--with-freetype-config-path=/usr/win32/bin \
--with-fribidi-config-path=/usr/win32/bin \
- --disable-vcdx --enable-debug
+ --enable-livedotcom --with-livedotcom-tree=/usr/win32/live.com \
+ --enable-caca --with-caca-config-path=/usr/win32/bin \
+ --with-xml2-config-path=/usr/win32/bin \
+ --with-dvdnav-config-path=/usr/win32/bin \
+ --disable-cddax --disable-vcdx --enable-goom \
+ --enable-twolame --enable-dvdread \
+ --enable-debug
+
+If you are using cygwin, you can build VLC with or without the POSIX
+emulation layer. Without is usually better and with POSIX emulation
+hasn't been tested in about a year or so. So to build without the
+emulation layer, use something like this:
-If you are using cygwin, you can build VLC with or without the unix emulation
-layer (without is usually better). To build without the emulaion layer, use
-something like this:
./bootstrap && \
CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
LDFLAGS=-L/usr/win32/lib \
./configure \
--disable-sdl --disable-gtk \
--enable-nls \
- --enable-ffmpeg --with-ffmpeg-mp3lame \
- --enable-faad \
- --enable-flac \
- --enable-theora \
+ --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
+ --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
--with-wx-config-path=/usr/win32/bin \
--with-freetype-config-path=/usr/win32/bin \
--with-fribidi-config-path=/usr/win32/bin \
+ --enable-livedotcom --with-livedotcom-tree=/usr/win32/live.com \
+ --enable-caca --with-caca-config-path=/usr/win32/bin \
+ --with-xml2-config-path=/usr/win32/bin \
+ --with-dvdnav-config-path=/usr/win32/bin \
+ --disable-cddax --disable-vcdx --enable-goom \
+ --enable-twolame --enable-dvdread \
--enable-debug
If you want to use the emulation layer, then just omit the CC="gcc -mno-cygwin"
-CXX="g++ -mno-cygwin" line.
+CXX="g++ -mno-cygwin" line. You're on your own though.
If you are compiling with MSYS/MINGW, then you can use something along those
lines:
LDFLAGS=-L/usr/win32/lib \
./configure \
--disable-sdl --disable-gtk \
- --disable-mkv \
--enable-nls \
- --enable-ffmpeg --with-ffmpeg-mp3lame \
- --enable-faad \
- --enable-flac \
- --enable-theora \
+ --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \
+ --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \
--with-wx-config-path=/usr/win32/bin \
--with-freetype-config-path=/usr/win32/bin \
--with-fribidi-config-path=/usr/win32/bin \
+ --enable-caca --with-caca-config-path=/usr/win32/bin \
+ --with-xml2-config-path=/usr/win32/bin \
+ --with-dvdnav-config-path=/usr/win32/bin \
+ --disable-cddax --disable-vcdx --enable-goom \
+ --enable-twolame --enable-dvdread \
+ --disable-mkv \
--enable-debug
See `./configure --help' for more information.
( If you are using our gcc-3.3.1 cross-compiler you'll need to use:
PATH=/usr/local/mingw/bin:$PATH make )
+Once the compilation is done, you can either run VLC directly from the source
+tree or 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.
+
+ make package-win32
+ Same as above but will also create an auto-installer package. You will need
+ to have NSIS installed in its default location for this to work.
+
Well done, now you're ready to use VLC!
=======================================