]> git.sesse.net Git - vlc/blobdiff - INSTALL.win32
* INSTALL: added reference to online info on compiling on MacOSX and BeOS
[vlc] / INSTALL.win32
index 63bd5db584f3547e46baccc0fa40bf71295b8f88..181ce62ef8bd2db79fa9830534bc10bb074962ed 100644 (file)
@@ -1,34 +1,38 @@
-INSTALL file for the Windows9x/2k/XP version of vlc, the VideoLAN Client
+$Id: INSTALL.win32,v 1.13 2003/02/02 04:01:29 sam Exp $
+
+INSTALL file for the Windows9x/2k/XP version of the VLC media player
 
-Running VideoLAN Client
-=======================
 
-If you have already built vlc (see below) or are using a binary release,
+Running VLC
+===========
+
+If you have already built VLC (see below) or are using a binary release,
 just run 'vlc.exe'.
 
-You can also run vlc from a dos command box, in which case you'll be able
+You can also run VLC from a dos command box, in which case you'll be able
 to use the command line arguments. You can obtain a list of these command
 line arguments by typing 'vlc --help'.
-To store a debug log of the current vlc session, you can use
+To store a debug log of the current VLC session, you can use
 'vlc -vvvvv --intf=logger nameofyourvideofile', but this will unfortunatly
 disable the GUI. You will end-up with a vlc.log file in your current directory.
 
-If you want to play a DVD, run vlc and click on the Disc option in the
-interface. You then have to type your drive letter in the 'Device name'
-box (eg. 'D:' if your dvdrom drive is assigned the letter 'D').
-( !WARNING: you have to be in administrator mode (for now) on Win2k/XP or the
-  DVD won't play. )
+If you want to play a DVD, run VLC and click on the Disc option in the
+interface. You then have to type your drive letter followed by a colon in
+the 'Device name' box (eg. 'D:' if this is the letter for your dvdrom drive).
 
-Building VideoLAN Client from the source code
-=============================================
+Building VLC from the source code
+=================================
 
-If you want to do the tricky job of building vlc from sources, you can do it
-in two ways:
+If you want to do the tricky job of building VLC from sources, you can do it
+in several ways:
 
 - 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...)
 
+- natively on Windows, using cygwin (www.cygwin.com) with or without the
+  unix emulation layer.
+
 - or on Linux, using the mingw32 cross-compiler
 
 Getting the right tools
@@ -44,16 +48,29 @@ You first need to download a linux cross-compiler version of mingw32.
 You must also not forget to install the extra development packages if you want
 to build the DirectX, GTK and SDL plugins.
 
-- compiling natively on Windoze:
-You first need to download and install MSYS-1.0.5 (version 1.0.6 doesn't seem
-to work as well) and MINGW.
-http://prdownloads.sourceforge.net/mingw/msys-1.0.5-i686-bin.tar.gz
+- compiling natively on Windoze with MSYS+MINGW:
+You will need to download and install the latest MSYS (version 1.0.7 as
+of now) and MINGW.
+The installation is really easy. Begin with the MSYS auto-installer and once
+this is done, extract MINGW into c:\msys\1.0\mingw. You also have to remember
+to remove the make utility included with MINGW as it conflicts with the one
+from MSYS (just rename or remove c:\msys\1.0\mingw\bin\make.exe).
+
+http://www.mingw.org/download.shtml
+http://prdownloads.sourceforge.net/mingw/MSYS-1.0.7-i686-2.exe
 http://prdownloads.sourceforge.net/mingw/MinGW-1.1.tar.gz
 
 You must also not forget to install the extra development packages if you want
 to build the DirectX, GTK and SDL plugins.
 (http://www.videolan.org/vlc/windows.html)
 
+- 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).
+I'm personnaly running the experimental distribution (and gcc-3.2) with the
+exception of the autoconf tool for which I'm using the autoconf-devel-2.52-4
+package (I had problems with 2.53a-1). You will need to make sure you install
+at least the gcc-mingw, mingw-runtime and w32api packages.
 
 NOTE: by default, the GTK package is configured to be installed in
 /usr/local/gtk-win32, if you want to change this path, then you need to edit
@@ -63,10 +80,17 @@ The same is true for the SDL package, it is installed in
 SDL-1.2.3-win32/i386-mingw32msvc/bin/sdl-config if you plan to extract the
 archive in a different directory.
 
+- compiling natively on Windoze with cygwin:
+You will need to download and install cygwin (www.cygwin.com).
+
+You must also not forget to install the extra development packages if you want
+to build the DirectX, GTK and SDL plugins.
+(http://www.videolan.org/vlc/windows.html)
+
 Configuring the build
 =====================
 
-The best way to configure the build process of vlc is to use the
+The best way to configure the build process of VLC is to use the
 `./configure' script.
 
 See `./configure --help' for more information.
@@ -74,70 +98,78 @@ See `./configure --help' for more information.
 If you are cross-compiling from Debian, you can use something
 along those lines:
 
-  make distclean ; \
-  ./configure --host=i586-mingw32msvc --target=i586-mingw32msvc \
-  --build=i386-linux \
+  ./bootstrap; \
+  CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
+  ./configure --host=i586-mingw32msvc --build=i386-linux \
   --with-gtk-config-path=/usr/local/gtk-win32/bin \
   --with-sdl-config-path=/usr/local/SDL-1.2.3-win32/i386-mingw32msvc/bin \
-  --with-directx=/usr/local/dxheaders
+  --with-directx=/usr/local/dxheaders \
+  --with-dvdcss-tree=../libdvdcss-win
 
 If you are cross-compiling using the mingw32 package provided by
 www.videolan.org, you have to use something along those lines:
 
-  CC=/usr/local/cross-tools/bin/i586-mingw32msvc-gcc \
+  ./bootstrap; \
+  CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++ \
   PATH=/usr/local/cross-tools/bin:$PATH \
-  ./configure --host=i586-mingw32msvc --target=i586-mingw32msvc \
-  --build=i386-linux \
+  ./configure --host=i586-mingw32msvc --build=i386-linux \
   --with-gtk-config-path=/usr/local/gtk-win32/bin \
   --with-sdl-config-path=/usr/local/SDL-1.2.3-win32/i386-mingw32msvc/bin \
-  --with-directx=/usr/local/dxheaders
+  --with-directx=/usr/local/dxheaders \
+  --with-dvdcss-tree=../libdvdcss-win
 
 If you are compiling natively on Windoze, then you can use something
 along those lines:
-  MAKE=gmake ./configure \
+  ./bootstrap; \
+  ./configure \
   --with-gtk-config-path=/c/dev/gtk-win32/bin \
   --with-sdl-config-path=/c/dev/SDL-1.2.3-win32/i386-mingw32msvc/bin \
-  --with-directx=/c/dev/dxheaders
-
-Building VideoLAN Client
-========================
+  --with-directx=/c/dev/dxheaders \
+  --with-dvdcss-tree=../libdvdcss-win
+
+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; \
+  CC="gcc -mno-cygwin" CXX="g++ -mno-cygwin" \
+  ./configure \
+  --with-gtk-config-path=/cygdrive/c/dev/gtk-win32/bin \
+  --with-sdl-config-path=/cygdrive/c/dev/SDL-1.2.3-win32/i386-mingw32msvc/bin \
+  --with-directx=/cygdrive/c/dev/dxheaders \
+  --with-dvdcss-tree=../libdvdcss-win
+If you want to use the emulation layer, then just omit the CC="gcc -mno-cygwin"
+CXX="g++ -mno-cygwin" line.
+
+Note: when using the --with-dvdcss-tree you need to compile the libdvdcss tree
+beforehand.
+
+Building VLC
+============
 
 Have a look at the generated Makefile.opts file, you may want to choose
 which modules will be compiled as plugins, and which ones will remain in
 the core application. The configure script tries to guess for you.
 
-Once configured, to build vlc you have to:
+Once configured, to build VLC you have to:
 
-If you are cross-compiling from Debian, then just run `make'.
+If you are cross-compiling from Debian or compiling natively on Windoze,
+then just run `make'.
 
 If you are cross-compiling using the mingw32 package provided by
 www.videolan.org, run `PATH=/usr/local/cross-tools/bin:$PATH make'.
 
-If you are compiling natively on Windoze, run `MAKE=gmake gmake'.
-(note that msys sometimes stops in the middle of the build process and
-complains about not being able to create .dep files. If this happens, just
-re-run the above command another time and it should work)
-
 Building Win32 interface with bcc32 (Borland's compiler)
 ========================================================
 (This stage is only necessary if you want to use the Win32 native interface.
  If you are happy with the GTK interface, then you can skip this section)
 
-[Steps 2 and 3 are temporary]
-
-1) Compile vlc as usual.
-include\defs.h should be generated.
-
-2) From the plugin\win32 directory, use Borland C++ command-line tools
-as follows:
-bpr2mak intfwin.bpr -s \
-  | sed 's#^LIBPATH = .*#&;$$(RELEASELIBPATH)# ; s#^USERDEFINES = .*#& -DWIN32 -DPLUGIN -DMODULE_NAME_IS_intfwin -DMODULE_NAME=intfwin#' \
-  > intfwin.mak                // Create a makefile from intfwin.bpr
-make -fintfwin                 // It's Borland's make utility !
+1) Install Borland C++ Builder, you will need bpr2mak and make.
 
-3) This should create a intfwin.so
-You can remove any other generated file.
+2) Make sure you have the bpr2mak and bcmake (NOT make!) commands in $PATH,
+they can be symlinks to the Borland bpr2mak and make utilities, or wrappers
+that call them through Wine if you are cross-compiling from Linux.
 
+3) Configure VLC as usual with the --enable-intfwin flag and build it.
 
-Well done, now you're ready to use vlc!
+Well done, now you're ready to use VLC!
 =======================================