X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=INSTALL.win32;h=6ad01e51b52930b34a2028189364f3d6623cd5a1;hb=975bd7b51a72dcb025885ddbc4862b333fdf26a6;hp=506c62d09b8439098f334c99fbe47f65267a26fd;hpb=43138273465f5a51f1b4c65fad6ad6d694ed6584;p=vlc diff --git a/INSTALL.win32 b/INSTALL.win32 index 506c62d09b..6ad01e51b5 100644 --- a/INSTALL.win32 +++ b/INSTALL.win32 @@ -1,149 +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 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. ) +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 two 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 +================================= -- or on Linux, using the mingw32 cross-compiler +If you want to build VLC from sources, you can do it in several ways: -Getting the right tools -======================= +- natively on Windows, using cygwin (www.cygwin.com) with or without the + 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). -- 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 + Read http://wiki.videolan.org/Win32CompileCygwinNew to have a complete HOWTO -You first need to download a linux cross-compiler version of mingw32. -(for Debian GNU/Linux users, there is a mingw32 package) +- On GNU/Linux, using the mingw32 cross-compiler. + This method is preferred over all the others. -You must also not forget to install the extra development packages if you want -to build the DirectX, GTK and SDL plugins. +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 +================================ -- 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 -http://prdownloads.sourceforge.net/mingw/MinGW-1.1.tar.gz +- cross-compiling with mingw32: +You first need to download a GNU/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. -(http://www.videolan.org/vlc/windows.html) +For Debian GNU/Linux users, you can use the mingw32, mingw32-binutils and +mingw32-runtime packages. +- 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. -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. +- compiling natively on Windoze with MSYS+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). -Configuring the build -===================== +http://www.mingw.org/download.shtml +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 -The best way to configure the build process of vlc is to use the -`./configure' script. +Getting the additional libraries +================================= -See `./configure --help' for more information. +VLC depends on other libraries to provide some features like ac3 audio decoding +or mpeg4 video decoding, etc... -If you are cross-compiling from Debian, you can use something -along those lines: +Depending on your needs you will have to compile/install some or all of these +external libraries. - make distclean ; \ - ./configure --host=i586-mingw32msvc --target=i586-mingw32msvc \ - --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 +* They can be found here (source code): + http://download.videolan.org/pub/testing/contrib/ -If you are cross-compiling using the mingw32 package provided by -www.videolan.org, you have to use something along those lines: +* 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). - CC=/usr/local/cross-tools/bin/i586-mingw32msvc-gcc \ - PATH=/usr/local/cross-tools/bin:$PATH \ - ./configure --host=i586-mingw32msvc --target=i586-mingw32msvc \ - --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 + 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: -If you are compiling natively on Windoze, then you can use something -along those lines: - MAKE=gmake ./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 + tar xjvf contrib-20060330-win32-bin-gcc-3.4.5-only.tar.bz2 -C / -Building VideoLAN Client -======================== + Please note the "-C /". -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. +* 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. -Once configured, to build vlc you have to: +A complete list of the libraries on which we depend can be found here: +http://developers.videolan.org/vlc/ -If you are cross-compiling from Debian, then just run `make'. +Configuring the build +===================== -If you are cross-compiling using the mingw32 package provided by -www.videolan.org, run `PATH=/usr/local/cross-tools/bin:$PATH make'. +Once you've got all the files you need in place, you need to configure the +build with the `./configure' script. -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) +I'll assume that you are using the pre-compiled 3rd party libraries we are +providing and that they are in /usr/win32. -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) +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-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 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 \ + --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 -[Steps 2 and 3 are temporary] -1) Compile vlc as usual. -include\defs.h should be generated. +See `./configure --help' for more information. + +Actually Compiling the VLC source +================================= -2) Edit include\defs.h, and add the following lines if necessary: -#define WIN32 -#define MODULE_NAME win32 -#define MODULE_NAME_IS win32 -#define PLUGIN -#define HAVE_DYNAMIC_PLUGINS +Once configured, to build VLC, just run `make'. -3) Still in defs.h, comment the following line to avoid compilation warnings: -#define PACKAGE "vlc" +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: -4) From the plugin\win32 directory, use Borland C++ command-line tools -as follows: -bpr2mak intfwin.bpr // 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). -5) 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! -======================================= \ No newline at end of file +Well done, now you're ready to use VLC! +=======================================