[vlc-devel] Bored, depressed? Have fun with Compiling VLC under MSys!
Jean-Baptiste Kempf
jb at videolan.org
Wed Nov 12 19:56:19 CET 2008
Hello,
CYGWIN is a very very slow env, and MSys is faster on Windows.
Here is how I compiled VLC with MSys.
DISCLAIMER:
This is a work in progress and I don't even know if I am going to make a
better HOWTO or even support the questions on it.
If you want something more clear or detailed, pay me.
Good improvements on this HOWTO are welcome.
Explanation on Process Explorer on MultiCore machines are welcome too.
*************************
More or less:
=============
1/ Install Mingw
2/ Install MSys, udpate it and take the tools
3/ Install Git, install (or compile) libgcrypt, install glib and
pkg-config (from GNOME.org)
4/ HACK the m4 files and the bootstrap
./bootstrap
5/ Configure
6/ Compile
C++ modules like taglib and mkv fails the same way they failed on CYGWIN
(GCC3 issue? maybe)
I tried everything with NLS disabled. You should do the same.
****************************
1/ Install MinGW
Use the main installer 5.1.4 found at
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780
Use the candidate release, and select gcc, g++ and MinGW make. It should download:
mingwrt-3.15
w32api-3.12
binutils-2.18
gcc-core-3.4.5
gcc-g++-3.4.5
mingw32-make-3.81
You shouldn't have any difficulties installing this.
2/ Install MSys
* Install MSys 1.0.10 with the exe: http://downloads.sourceforge.net/mingw/MSYS-1.0.10.exe
* Install MSys Developer Tooltkit: http://downloads.sourceforge.net/mingw/msysDTK-1.0.1.exe
* Update to 1.0.11, untar it in your msys install:
http://downloads.sourceforge.net/mingw/msysCORE-1.0.11-2007.01.19-1.tar.bz2
or
http://downloads.sourceforge.net/mingw/msysCORE-1.0.11-20080826.tar.gz (recommended on 64bits)
* Update your autoconf, automake and libtool by downloading and installing them.
http://downloads.sourceforge.net/mingw/autoconf2.5-2.61-1-bin.tar.bz2
http://downloads.sourceforge.net/mingw/automake1.10-1.10-1-bin.tar.bz2
http://downloads.sourceforge.net/mingw/libtool1.5-1.5.25a-1-bin.tar.bz2
You can also compile them according to:
http://wiki.enlightenment.org/index.php/EFL_Windows_XP
http://www.mingw.org/wiki/msys
3/ Install other tools
Installing mingw-utils is recommended: http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz
Installation of wget too:
http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2
Although this is a mingwPORT package it already has a precompiled wget on board.
Extract the .tar.bz2 file. It contains wget.exe in the bin subfolder, extract it to mingw/bin
If you reached here, congratz.
4/ Instal Git and checkout VLC
Quit MSys
http://code.google.com/p/msysgit/
Launch Git bash:
cd /c
mkdir VLC
cd VLC
git clone git://git.videolan.org/vlc.git
launch MSys again
cd /c/VLC/vlc
5/ Gcrypt
You need gcrypt to bootstrap VLC. It might be stupid, but deal with it.
cd extras/contrib
./bootstrap
cd src
make .gcrypt
6/ PKG-CONFIG
pkg-config is a mess, this is not NEWS...
And you cannot compile it from Windows because of a few bugs...
Get Glib from GNOME: http://ftp.gnome.org/pub/GNOME/binaries/win32/glib/2.18/glib_2.18.2-1_win32.zip
Unzip it.
Get PKG-CONFIG from GNOME: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-0.23-2.zip
Unzip it too.
6/ Bootstrap VLC
This is a HACK. Don't do this at HOME.
cp extras/contrib/share/aclocal/* m4/
cp /usr/share/aclocal/* m4/
./bootstrap
It should warn about gettext... Just ignore.
7/ Contribs
Take the precompiled contribs:
http://people.videolan.org/~jb/Contribs/contrib-20081021-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2
Copy them in your ~
tar xvjf contrib-20081021-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2 -C /
rm /usr/win32/bin/moc /usr/win32/bin/uic /usr/win32/bin/rcc
8/ Configure
vim extras/package/win32/configure-mingw.sh
Change CC to gcc and CXX to g++, I recommend to --disable-nls too
sh extras/package/win32/configure-mingw.sh
9/ Compile
make
Best Regards,
--
Jean-Baptiste Kempf
http://www.jbkempf.com/
More information about the vlc-devel
mailing list