X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=INSTALL.win32;h=6ad01e51b52930b34a2028189364f3d6623cd5a1;hb=9e9bdac047954d570a8178dd826ec8f2fc5fa8f3;hp=b159be953412d04197a5eee88b34c10bef1ba1ef;hpb=c93f613b1461ccedfa39c4d4dad0699a66783bb3;p=vlc diff --git a/INSTALL.win32 b/INSTALL.win32 index b159be9534..6ad01e51b5 100644 --- a/INSTALL.win32 +++ b/INSTALL.win32 @@ -1,183 +1,236 @@ -INSTALL file for the Windows9x/2k/XP version of vlc, the VideoLAN Client +INSTALL file for the Windows9x/Me/NT4/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 -'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. +line arguments by typing 'vlc --help' or 'vlc --help --advanced'. -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 this is the letter for your dvdrom drive). +To store a debug log of the current VLC session, you can use +'vlc -vv --extraintf=logger'. You will end-up with a vlc-log.txt file in +your current directory. -Building VideoLAN Client from the source code -============================================= +Additional documentation is available at http://www.videolan.org/doc/ -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...) +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. + 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). -- or on Linux, using the mingw32 cross-compiler + Read http://wiki.videolan.org/Win32CompileCygwinNew to have a complete HOWTO -Getting the right tools -======================= +- 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 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 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() ) + +Getting the right compiler tools +================================ - cross-compiling with mingw32: -All the necessary tools you need can be found on the videolan web site: -http://www.videolan.org/vlc/windows.html +You first need to download a GNU/Linux cross-compiler version of mingw32. -You first need to download a linux cross-compiler version of mingw32. -(for Debian GNU/Linux users, there is a mingw32 package) +For Debian GNU/Linux users, you can use the mingw32, mingw32-binutils and +mingw32-runtime packages. -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 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-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 (version 1.0.7 as -of now) and MINGW. +You will need to download and install the latest MSYS, MSYS-DTK 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 +http://prdownloads.sf.net/mingw/MSYS-1.0.9.exe +http://prdownloads.sf.net/mingw/MinGW-3.1.0-1.exe +http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe -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) +Getting the additional libraries +================================= -- 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. - -Also note that currently, even when using the -mno-cygwin option, the final -executable requires cygwin1.dll even if none of the objects linked to form the -executable does depend on cygwin1.dll itself. I don't know yet why the linker -plays this trick... - - -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 -the gtk-win32/bin/gtk-config file and change "gtk_dir=" accordingly. -The same is true for the SDL package, it is installed in -/usr/local/SDL-1.2.3-win32 by default and you need to change "prefix=" in -SDL-1.2.3-win32/i386-mingw32msvc/bin/sdl-config if you plan to extract the -archive in a different directory. +VLC depends on other libraries to provide some features like ac3 audio decoding +or mpeg4 video decoding, etc... -- compiling natively on Windoze with cygwin: -You will need to download and install cygwin (www.cygwin.com). +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 (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 / -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) + 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/ Configuring the build ===================== -The best way to configure the build process of vlc is to use the -`./configure' script. +Once you've got all the files you need in place, you need to configure the +build with the `./configure' script. -See `./configure --help' for more information. +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; \ - CC=i586-mingw32msvc-gcc \ + ./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 \ - --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-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: - - ./bootstrap; \ - CC=i586-mingw32msvc-gcc \ - PATH=/usr/local/cross-tools/bin:$PATH \ - ./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-dvdcss-tree=../libdvdcss-win + --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 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/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-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 are compiling natively on Windoze, then you can use something -along those lines: - ./bootstrap; \ +If you want to use the emulation layer, then just omit the CC="gcc -mno-cygwin" +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 \ - --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 \ - --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" \ + --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 \ - --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" -line. - -Note: when using the --with-dvdcss-tree you need to compile the libdvdcss tree -beforehand. + --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 -Building VideoLAN Client -======================== -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: - -If you are cross-compiling from Debian or compiling natively on Windoze, -then just run `make'. +See `./configure --help' for more information. -If you are cross-compiling using the mingw32 package provided by -www.videolan.org, run `PATH=/usr/local/cross-tools/bin:$PATH make'. +Actually Compiling the VLC source +================================= -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) +Once configured, to build VLC, just run `make'. -1) Compile vlc as usual. +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: -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 -D__PLUGIN__ -DMODULE_NAME_IS_intfwin -DMODULE_NAME=intfwin#' \ - > intfwin.mak // Create a makefile from intfwin.bpr -make -fintfwin // It's Borland's make utility ! + make package-win32-base + will create a subdirectory named vlc-x.x.x with all the binaries + 'stripped' (ie. without any debugging symbols). -3) This should create a intfwin.so -You can remove any other generated file. + 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! +Well done, now you're ready to use VLC! =======================================