Revert "Copy the changelogs if they exist instead of generating them with git"
[vlc.git] / INSTALL.win32
index 3efd2bc..432dc86 100644 (file)
@@ -1,4 +1,4 @@
-$Id: INSTALL.win32,v 1.20 2003/10/26 13:07:50 gbazin Exp $
+$Id$
 
 INSTALL file for the Windows9x/Me/NT4/2k/XP version of the VLC media player
 
@@ -26,44 +26,46 @@ Building VLC from the source code
 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).
 
+  Read http://wiki.videolan.org/Win32CompileCygwinNew to have a complete HOWTO
+
+- On GNU/Linux, using the mingw32 cross-compiler.
+  This method is  preferred over all the others.
+
+UNSUPPORTED METHODS
+-------------------
 - 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.
-
 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.
 
-Or you can use our mingw32 gcc-3.3.1 cross-compiler package:
-http://www.videolan.org/pub/testing/win32/mingw-gcc3.3.1-linux-crosscompiler.tar.bz2 (requires libc6 >= 2.3.2).
-You will need to extract this package in your root directory (everything will
-be extracted in /usr/local/cross-tools).
-
 - compiling natively on Windoze with cygwin:
 You will need to download and run the setup.exe app from cygwin's web site
 (www.cygwin.com). You will also need to make sure you install at least the
-gcc-mingw, mingw-runtime and w32api packages.
+gcc-g++, gcc-mingw, mingw-runtime and win32-api packages.
 
 - compiling natively on Windoze with MSYS+MINGW:
 You will need to download and install the latest MSYS, MSYS-DTK and MINGW.
@@ -74,10 +76,10 @@ from MSYS (just rename or remove c:\msys\1.0\mingw\bin\make.exe).
 
 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
@@ -86,18 +88,26 @@ 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://www.videolan.org/pub/testing/contrib/
+* 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 (these compiled
+  libraries will only work with mingw or cygwin):
+  http://download.videolan.org/pub/testing/win32/contrib-20060330-win32-bin-gcc-3.4.5-only.tar.bz2
+  (Check out for 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-20060330-win32-bin-gcc-3.4.5-only.tar.bz2 -C /
 
-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://www.videolan.org/pub/testing/win32/contrib-20030729-win32-bin.tar.bz2 or
-http://www.videolan.org/pub/testing/win32/contrib-20031026-win32-bin-gcc3.3.1-only.tar.bz2
-if you are using the new version of gcc (3.3.1).
-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-20030729-win32-bin.tar.bz2 -C /"
+  Please note the "-C /". 
+
+* An automated way of building the contrib libraries is provided in 
+  extra/contrib. It will download, configure and build the libraries.
+  See the extras/contrib/README for more info.
 
 A complete list of the libraries on which we depend can be found here:
 http://developers.videolan.org/vlc/
@@ -108,88 +118,100 @@ 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
+I'll assume that you are using the pre-compiled 3rd party libraries we are
 providing and that they are in /usr/win32.
 
 If you are cross-compiling from Debian, you can use something
 along those lines:
 
   ./bootstrap && \
+  PATH=/usr/win32/bin:$PATH \
+  PKG_CONFIG_LIBDIR=/usr/win32/lib/pkgconfig \
   CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
   LDFLAGS=-L/usr/win32/lib \
   CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
   ./configure --host=i586-mingw32msvc --build=i386-linux \
-      --disable-sdl --disable-gtk \
-      --enable-nls \
-      --enable-ffmpeg --with-ffmpeg-mp3lame \
-      --enable-faad \
-      --enable-flac \
-      --enable-theora \
+      --disable-gtk \
+      --enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \
+      --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-live555 --with-live555-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
-along those lines:
+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:
 
   ./bootstrap && \
-  PATH=/usr/local/mingw/bin:$PATH \
-  CPPFLAGS=-I/usr/win32/include \
-  LDFLAGS=-L/usr/win32/lib \
-  CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
-  ./configure --host=i586-mingw32msvc --build=i386-linux \
-      --disable-sdl --disable-gtk \
-      --enable-nls \
-      --enable-ffmpeg --with-ffmpeg-mp3lame \
-      --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
-
-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 && \
+  PATH=/usr/win32/bin:$PATH \
+  PKG_CONFIG_PATH=/usr/win32/lib/pkgconfig \
   CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
   LDFLAGS=-L/usr/win32/lib \
   CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \
   ./configure \
-      --disable-sdl --disable-gtk \
-      --enable-nls \
-      --enable-ffmpeg --with-ffmpeg-mp3lame \
-      --enable-faad \
-      --enable-flac \
-      --enable-theora \
+      --disable-gtk \
+      --enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \
+      --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-live555 --with-live555-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:
   ./bootstrap && \
+  PKG_CONFIG_PATH=/usr/win32/lib/pkgconfig \
+  PATH=/usr/win32/bin:$PATH \
   CPPFLAGS="-I/usr/win32/include -I/usr/win32/include/ebml" \
   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 \
+      --disable-gtk \
+      --enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \
+      --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
 
+If you have used the "extras/contrib" way, you don't need to precise 
+the CFLAGS, LDFLAGS and --with-foo-config-path=.
+ ./bootstrap && \
+  ./configure \
+      --disable-gtk \
+      --enable-nls --enable-sdl \
+      --enable-ffmpeg --enable-faad --enable-flac --enable-theora \
+      --disable-cddax --disable-vcdx --enable-goom \
+      --enable-twolame --enable-dvdread \
+      --enable-mkv --enable-caca --enable-live555\
+      --enable-debug
+
+
 See `./configure --help' for more information.
 
 Actually Compiling the VLC source
@@ -197,8 +219,20 @@ Actually Compiling the VLC source
 
 Once configured, to build VLC, just run `make'.
 
-( 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!
 =======================================