As I described in this topic viewtopic.php?f=32&t=76308, I wanted to compile VLC on my machine in order to look at how it was reporting time for DVD playback.
However, I'm an inexperienced *nx developer. I had to go through a lot of trial and error just to get the setup correct. Sadly, I think the whole process took me 4+ hours.
For anyone else in my position, I would recommend reading through the wiki. http://wiki.videolan.org/Win32CompileMSYS This post is more a brain-dead bullet-point list that can be used to go sequentially from start to finish.
I ran the checklist a second time on another machine (I needed it on two machines), so I can say it worked on both. Fortunately, it only took me an hour this time.
I followed the wiki as close as possible. The major differences are:
- updated urls (msys 4.4 is now moved to Previous Release);
- explicit paths on the local machine (ex: C:\msys\1.0\home\username)
- other bugs/issues
If this meets anyone else's approval, I'll place it in the wiki. As I've very new to this, I felt a bit nervous about committing it there.
Hope it's useful to someone!
edit1: fixed mingwutils extract location
edit2: fixed configure.ac reference
also, note that the mingw urls are currently wrong (Previous%20Release). I will verify again later, but refer to the wiki
Code: Select all
*** VLC compile checklist ***
*** (1.1.0-pre4) ***
* TDM/MinGW Setup
- NOTE: I started with the regular MinGW, but ran into the "undefined reference to `__Unwind_SjLj_Register" issue
- http://sourceforge.net/projects/tdm-gcc/files/TDM-MinGW%20Installer/1.908.0/tdm-mingw-1.908.0-4.4.1-2.exe/download
- Create
- install to C:\MinGW
* mingw gcc++
- http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Previous%20Release%20gcc-4.4.0/gcc-full-4.4.0-mingw32-bin-2.tar.lzma/download
gcc-full-4.4.0-mingw32-bin-2.tar
- copy to C:\MinGW
- mingw libstdc
- C:\MinGW\lib\gcc\mingw32\4.4.0\libstdc++.la
- old:library_names='libstdc++.dll.a'
new:library_names=''
* mingw gcc core
- http://sourceforge.net/projects/mingw/files/GCC%20Version%204/Previous%20Release%20gcc-4.4.0/gcc-core-4.4.0-mingw32-bin.tar.gz/download
- copy to C:\MinGW
* msys
- http://sourceforge.net/projects/mingw/files/MSYS%20Base%20System/msys-1.0.11/MSYS-1.0.11.exe/download
- install to C:\msys
- y
- y
- C:\MinGw
* msys toolkit
- http://sourceforge.net/projects/mingw/files/MSYS%20Supplementary%20Tools/msysDTK-1.0.1/msysDTK-1.0.1.exe/download
- keep defaults
* autoconf
- http://sourceforge.net/projects/mingw/files/MSYS%20autoconf/autoconf-2.63-1/autoconf-2.63-1-msys-1.0.11-bin.tar.lzma/download
- copy to C:\msys\1.0
* automake
- http://sourceforge.net/projects/mingw/files/MSYS%20automake/automake-1.11-1/automake-1.11-1-msys-1.0.11-bin.tar.lzma/download
- copy to C:\msys\1.0
* libtool
- http://sourceforge.net/projects/mingw/files/MSYS%20libtool/libtool-2.2.7a-1/libtool-2.2.7a-1-msys-1.0.11-bin.tar.lzma/download
- copy to C:\msys\1.0
* TDM libtool
- open C:\msys\1.0\bin\libtool
- line 10244
old: compiler_lib_search_dirs="c:/mingw/bin/../lib/gcc/mingw32/4.4.0 c:/mingw/bin/../lib/gcc c:/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/lib c:/mingw/bin/../lib/gcc/mingw32/4.4.0/../../.. /mingw/lib"
new: compiler_lib_search_dirs="c:/mingw/bin/../lib/gcc/mingw32/4.4.1 c:/mingw/bin/../lib/gcc c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/lib c:/mingw/bin/../lib/gcc/mingw32/4.4.1/../../.. /mingw/lib"
* whoami
- create C:\msys\1.0\bin\whoami
- enter following line:
echo 'insert your name here'
* libgcrypt
- http://prdownloads.sourceforge.net/mingw/libcrypt-1.1_1-2-msys-1.0.11-dll-0.tar.lzma
- copy to C:\msys\1.0
* mingwutils
- http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz
- copy to C:\MinGW
* wget
- http://prdownloads.sourceforge.net/mingw/wget-1.9.1-mingwPORT.tar.bz2
- copy wget.exe to C:\MinGW\bin
* pkg-config pt 1
- http://ftp.gnome.org/pub/GNOME/binaries/win32/glib/2.18/glib_2.18.2-1_win32.zip
- copy to C:\msys\1.0
* pkg-config pt 2
- ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config_0.23-3_win32.zip
- copy to C:\msys\1.0
* pkg-config pt 3
- ftp://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/pkg-config-dev_0.23-3_win32.zip
- copy to C:\msys\1.0
* pkg-config pt 4
- Environment Variable
PKG_CONFIG_PATH=/win32/lib/pkgconfig
* lua
- http://www.lua.org/ftp/lua-5.1.4.tar.gz
- copy to C:\msys\1.0\home\username
- run C:\msys\1.0\msys.bat
- make
cd ~/lua-5.1.4
make mingw
- copy
cd src
cp *.exe /bin
cp *.dll /bin
* vlc-src (1.1.0-pre4)
- http://download.videolan.org/pub/videolan/testing/vlc-1.1.0-pre4/vlc-1.1.0-pre4.tar.bz2
- copy to C:\msys\1.0\home\username
- rename to C:\msys\1.0\home\username\vlc
* contrib
- http://download.videolan.org/pub/testing/win32/contrib-20100130-win32-bin-gcc-4.4.2-runtime-3.17-only.tar.bz2
- copy to C:\msys\1.0
- path should be C:\msys\1.0\win32
* bootstrap
- msys
cd vlc
cp -v /usr/win32/share/aclocal/* m4/
cp -v /usr/share/aclocal/* m4/
PATH=/usr/win32/bin:$PATH ./bootstrap
* configure-msys
- http://git.videolan.org/?p=vlc.git;a=blob_plain;f=extras/package/win32/configure-msys.sh;hb=HEAD
- rename to configure-msys.sh
- copy to C:\msys\1.0\home\username\vlc\extras\package\win32
* configure-common
- http://git.videolan.org/?p=vlc.git;a=blob_plain;f=extras/package/win32/configure-common.sh;hb=HEAD
- rename to configure-common.sh
- copy to C:\msys\1.0\home\username\vlc\extras\package\win32
* configure
- sh extras/package/win32/configure-msys.sh
* configure.ac
- edit C:\msys\1.0\home\username\vlc\configure.ac
- old: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname -f 2> /dev/null || hostname`", [host which ran configure])
new: AC_DEFINE_UNQUOTED(VLC_COMPILE_HOST, "`hostname`", [host which ran configure])
http://git.videolan.org/?p=vlc.git;a=tree;f=extras/package/win32;h=8df9a13d118f90a2a6e9ad8911c01a28ee5b41b4;hb=HEAD
* bug?: vlc_windows_interfaces.h
- will otherwise fail with: In file included from qt4.cpp:36: main_interface.hpp:33:37: error: vlc_windows_interfaces.h: No such file or directory
- create C:\msys\1.0\home\username\vlc\include\vlc_windows_interfaces.h
- got source from
http://www.videolan.org/developers/vlc/doc/doxygen/html/vlc__windows__interfaces_8h-source.html
* bug?: const struct _NPString' has no member named 'UTF8Characters
- http://releases.mozilla.org/pub/mozilla.org/xulrunner/releases/1.9.2/sdk/xulrunner-1.9.2.en-US.win32.sdk.zip
- copy to C:\msys\1.0\win32\gecko-sdk
- ref: http://forum.videolan.org/viewtopic.php?f=32&t=75158
* bug?: vlccontrol2.cpp:35:22: error: position.h: No such file or directory
- copy
source: C:\msys\1.0\home\username\vlc\projects\mozilla\control\position.h
target: C:\msys\1.0\home\username\vlc\projects\activex\position.h
* make
- PATH=/usr/win32/bin:$PATH make
* bug: lua
- create directory C:\msys\1.0\home\username\vlc\share\lua\extensions
- create file C:\msys\1.0\home\username\vlc\share\lua\readme.txt
* make package
- make package-win32-base
* done
- run: C:\msys\1.0\home\username\vlc\vlc-1.1.0-pre4\vlc.exe