Decide where your MSys directory will be. From now on I am assuming that MSys directory is `c:\msys'. MSys will eventually take roughly 1GB of disk space. MinGW will also take roughly 700MB. You should also pick a directory for it, please make it ANYTHING OTHER THAN "c:\mingw". ("c:\mingw32" should suffice). The reason is that "<currentdrive>\mingw" path is hard-coded into gcc somehow, and every gcc you will ever run will ALWAYS look there (instead of its own directories), no matter where you put it. And you want a place (source directory) to store source code of various software packages (around 60), reserve a couple of GB for it.
Software
Unpacking .tar.lzma and .tar.xz archives by hand (without using MSys/MinGW tools) requires an adequate archiver. You might want to get one at http://www.7-zip.org/download.html
Install MinGW/MSys
Get the latest mingw-get http://sourceforge.net/projects/mingw/files/Installer/mingw-get/mingw-get-0.5-beta-20120426-1/
Unpack to MINGWDIR
Copy MINGWDIR/var/lib/mingw-get/data/defaults.xml to MINGWDIR/var/lib/mingw-get/data/profile.xml
Edit it (set sysroots to your liking):
Replace
<sysroot subsystem="mingw32" path="%R" />
<sysroot subsystem="MSYS" path="%R/msys/1.0" />with
<sysroot subsystem="mingw32" path="c:/mingw32" />
<sysroot subsystem="MSYS" path="c:/msys" />or you can keep using "%R" - the path will be inferred from mingw-get.exe location at run-time. My configuration is
<sysroot subsystem="mingw32" path="%R" />
<sysroot subsystem="MSYS" path="%R/../msys" />Run cmd (that is, Start->Run-> type "cmd" and press enter)
In cmd run the following commands:
cd MINGWDIR\bin mingw-get update
Then wait for it to complete
Now you can install packages by running
mingw-get install <name of the package>
where <name of the package> is something like "mingw32-make" or "msys-perl"
The precise list of packages you'd need is a work in progress, but here is a list that might work:
msys-core msys-bash msys-coreutils msys-diffutils msys-grep msys-less msys-libiconv msys-tar msys-gzip msys-bzip2 msys-perl msys-sed msys-file msys-findutils msys-base msys-patch mingw32-automake mingw32-autoconf mingw32-libtool mingw32-xz mingw32-gettext mingw32-zlib mingw32-gcc-g++ mingw32-libiconv mingw32-expat mingw32-libarchive mingw32-make mingw32-utils mingw32-cygutils msys-guile mingw32-gdb msys-wget msys-automake msys-libtool msys-zlib msys-vim msys-rebase msys-gcc msys-libexpat msys-openssl msys-libopenssl msys-gettext msys-libbz2 msys-lndir msys-mktemp msys-unzip msys-libxml2 msys-bison msys-make mingw32-liblzma msys-cvs msys-flex mingw32-libltdl mingw32-gmp
msys-flex is needed for gstreamer
msys-cvs is needed for autopoint to work (autopoint can use git instead, but mingw32-gettext disables that)
msys-wget is needed to fetch source tarballs from the network
msys-libtool provides a recent version of config.guess for MSys
msys-automake is used to build MSys packages
msys-zlib is required for some MSys packages
msys-vim will be used as the primary text editor for mingw-git
msys-rebase is needed to rebase some of the MSys packages you'll be building
msys-gcc is needed to compile MSys packages
msys-libexpat is required for msys-apr-util
msys-openssl and msys-libopenssl are required for msys-neon
msys-gettext is required for msys-neon (and might be used for other MSys packages)
msys-libbz2 is required for msys-pcre
msys-lndir is required to build some of the packages (the ones that don't build OOTSD well)
msys-mktmp is required for xmlto
msys-unzip is required to unzip .zip archives (big surprise...)
msys-libxml2 is provides MSys version of xmlcatalog
msys-make is the default `make' used to build almost everything
msys-bison is required by some (which?) packages
mingw32-liblzma is required for lzma
mingw32-libltdl is required for guile
mingw32-gmp is required for nettle
Configure MSys
Copy c:\msys\etc\fstab.sample to c:\msys\etc\fstab
Edit c:\msys\etc\fstab:
- Make sure that /mingw points to c:\mingw32 (or whatever your mingw directory is)
- Make sure that /src points to your source directory (although it's completely optional, this tutorial will assume this to be set)
Run MSYS developer shell
run cmd
run command:
MSYSDIR/msys.bat MSYS
to enter MSYS developer shell.
MSYS developer shell
MSYS developer shell IS FOR COMPILING MSYS PACKAGES ONLY! (that is, programs, libraries and scripts that work only inside MSys environment and nowhere else, and are intended to be used only as part of the build process of some applications).
Most MSys packages can be installed via mingw-get, but there are some that are not available that way. You need to build them yourself. That should be done on MSYS developer shell. EVERYTHING ELSE is done in MinGW shell (see below). DO NOT use MSYS deeveloper shell for compiling normal W32 programs.
You can identify your shell by running
uname -a
If it says "MSYS_NT...", you're running MSYS shell. If it says "MINGW32_NT...", you're running MinGW shell.
Configure console (optional)
msys.bat will launch a console. Right-click on its title bar and choose 'Properties' menu entry to access the Console Window Properties dialog.
On the 'Options' tab enable 'QuickEdit Mode' and 'Insert Mode'. This way it is possible to insert text into the console from the clipboard by right-clicking and to copy text from the console by selecting it and pressing any key (when 'QuickEdit' is disabled, right-click broughts context menu instead, and left-click just moves the cursor).
On the 'Font' tab switch to a better font (usually Lucida Console is the only option available).
On the Layout tab set Window Position to Top:1 and Left:1, increase Window Size: Width to the maximum (depends on your desktop resolution and font pitch, watch the preview window - increase the window width until a horizontal scrollbar appears, then decrease Screen Buffer Size Width by a few steps; the goal is to make the console as wide as possible without bringing the horizontal scrollbar up; don't set it wider than 224 though - otherwise vim won't be able to restore screen buffer contents on exit for some reason). Make sure that Window Size Width and Screen Buffer Size width are the equal to each other. It is recommended to greatly increase Screen Buffer Size Height - at least to 1000 (maximum is around 9000).
Press 'OK'. Select 'Save properties for future windows with same title' and press 'OK'.
Create source subdirectories (optional)
To avoid confusing msys- and mingw32- source packages, run the following in MSys developer shell:
mkdir /src/mingw mkdir /src/msys
Install Python
Go to http://python.org/download/
Download Python. Python 2.7.x should be sufficient (if you're failing to find certain modules for Python 2.7, try 2.6 instead), so get it.
python-2.7.2.msi
Install it, usually it installs into something like c:\Python27.
In MSys developer console run:
cmd //C mklink c:\\msys\\bin\\python.exe c:\\Python27\\python.exe
to symlink python.exe from its directory to /usr/bin (assuming that c:\msys is your MSYS directory). That requires modern NTFS filesystem (which mostly means Windows Vista or newer).
Note that both paths must use "\\" dir-separator.
Install msys-sqlite
Run:
mkdir -p /src/msys/sqlite3-3.7.5-2 && \ cd /src/msys/sqlite3-3.7.5-2 && \ wget -O sqlite3-3.7.5-2-msys-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/msys/sqlite3/3.7.5-2/sqlite3-3.7.5-2-msys-src.tar.lzma && \ tar --lzma -C /src/msys/sqlite3-3.7.5-2/ -xf sqlite3-3.7.5-2-msys-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C / -xf sqlite3-3.7.5-2-msys-bin.tar.lzma && \ tar --lzma -C / -xf sqlite3-3.7.5-2-msys-dev.tar.lzma && \ tar --lzma -C / -xf sqlite3-3.7.5-2-msys-doc.tar.lzma && \ tar --lzma -C / -xf sqlite3-3.7.5-2-msys-lic.tar.lzma && \ tar --lzma -C / -xf libsqlite3-3.7.5-2-msys-dll-0.tar.lzma
Install msys-apr
Run:
mkdir -p /src/msys/apr-1.4.5-1 && \ cd /src/msys/apr-1.4.5-1 && \ wget -O apr-1.4.5-1-msys-1.0.17-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/msys/apr/1.4.5-1/apr-1.4.5-1-msys-1.0.17-src.tar.lzma && \ tar --lzma -C /src/msys/apr-1.4.5-1/ -xf apr-1.4.5-1-msys-1.0.17-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C / -xf apr-1.4.5-1-msys-1.0.17-dev.tar.lzma && \ tar --lzma -C / -xf apr-1.4.5-1-msys-1.0.17-doc.tar.lzma && \ tar --lzma -C / -xf apr-1.4.5-1-msys-1.0.17-lic.tar.lzma && \ tar --lzma -C / -xf libapr-1.4.5-1-msys-dll-1-0.tar.lzma
Install msys-apr-util
Run:
mkdir -p /src/msys/apr-util-1.3.12-3 && \ cd /src/msys/apr-util-1.3.12-3 && \ wget -O apr-util-1.3.12-3-msys-1.0.17-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/msys/apr-util/1.3.12-3/apr-util-1.3.12-3-msys-1.0.17-src.tar.lzma && \ tar --lzma -C /src/msys/apr-util-1.3.12-3/ -xf apr-util-1.3.12-3-msys-1.0.17-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C / -xf apr-util-1.3.12-3-msys-1.0.17-dev.tar.lzma && \ tar --lzma -C / -xf apr-util-1.3.12-3-msys-1.0.17-doc.tar.lzma && \ tar --lzma -C / -xf apr-util-1.3.12-3-msys-1.0.17-lic.tar.lzma && \ tar --lzma -C / -xf libapr-util-1.3.12-3-msys-dll-1-0.tar.lzma
Install msys-neon
Run:
mkdir -p /src/msys/neon-0.29.5-1 && \ cd /src/msys/neon-0.29.5-1 && \ wget -O neon-0.29.5-1-msys-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/msys/neon/0.29.5-1/neon-0.29.5-1-msys-src.tar.lzma && \ tar --lzma -C /src/msys/neon-0.29.5-1/ -xf neon-0.29.5-1-msys-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C / -xf neon-0.29.5-1-msys-dev.tar.lzma && \ tar --lzma -C / -xf neon-0.29.5-1-msys-doc.tar.lzma && \ tar --lzma -C / -xf neon-0.29.5-1-msys-lic.tar.lzma && \ tar --lzma -C / -xf neon-0.29.5-1-msys-lang.tar.lzma && \ tar --lzma -C / -xf libneon-0.29.5-1-msys-dll-27.tar.lzma
Install msys-pcre
Run:
mkdir -p /src/msys/pcre-8.30-1 && \ cd /src/msys/pcre-8.30-1 && \ wget -O pcre-8.30-1-msys-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/msys/pcre/8.30-1/pcre-8.30-1-msys-src.tar.lzma && \ tar --lzma -C /src/msys/pcre-8.30-1/ -xf pcre-8.30-1-msys-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C / -xf pcre-8.30-1-msys-bin.tar.lzma && \ tar --lzma -C / -xf pcre-8.30-1-msys-dev.tar.lzma && \ tar --lzma -C / -xf pcre-8.30-1-msys-doc.tar.lzma && \ tar --lzma -C / -xf pcre-8.30-1-msys-lic.tar.lzma && \ tar --lzma -C / -xf libpcre-8.30-1-msys-dll-0.tar.lzma
Install msys-swig
Run:
mkdir -p /src/msys/swig-2.0.4-1 && \ cd /src/msys/swig-2.0.4-1 && \ wget -O swig-2.0.4-1-msys-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/msys/swig/2.0.4-1/swig-2.0.4-1-msys-src.tar.lzma && \ tar --lzma -C /src/msys/swig-2.0.4-1/ -xf swig-2.0.4-1-msys-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C / -xf swig-2.0.4-1-msys-bin.tar.lzma && \ tar --lzma -C / -xf swig-2.0.4-1-msys-doc.tar.lzma && \ tar --lzma -C / -xf swig-2.0.4-1-msys-lic.tar.lzma
Install msys-subversion
Run:
mkdir -p /src/msys/subversion-1.6.17-2 && \ cd /src/msys/subversion-1.6.17-2 && \ wget -O subversion-1.6.17-2-msys-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/msys/subversion/1.6.17-2/subversion-1.6.17-2-msys-src.tar.lzma && \ tar --lzma -C /src/msys/subversion-1.6.17-2/ -xf subversion-1.6.17-2-msys-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C / -xf subversion-1.6.17-2-msys-bin.tar.lzma && \ tar --lzma -C / -xf libsubversion-1.6.17-2-msys-dll-1-0.tar.lzma && \ tar --lzma -C / -xf subversion-1.6.17-2-msys-dev.tar.lzma && \ tar --lzma -C / -xf subversion-1.6.17-2-msys-perl.tar.lzma && \ tar --lzma -C / -xf subversion-1.6.17-2-msys-lang.tar.lzma && \ tar --lzma -C / -xf subversion-1.6.17-2-msys-doc.tar.lzma && \ tar --lzma -C / -xf subversion-1.6.17-2-msys-lic.tar.lzma
Install msys-gperf
Run:
mkdir -p /src/msys/gperf-3.0.4-1 && \ cd /src/msys/gperf-3.0.4-1 && \ wget -O gperf-3.0.4-1-msys-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/msys/gpref/3.0.4-1/gperf-3.0.4-1-msys-src.tar.lzma && \ tar --lzma -C /src/msys/gperf-3.0.4-1/ -xf gperf-3.0.4-1-msys-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C / -xf gperf-3.0.4-1-msys-bin.tar.lzma && \ tar --lzma -C / -xf gperf-3.0.4-1-msys-doc.tar.lzma && \ tar --lzma -C / -xf gperf-3.0.4-1-msys-lic.tar.lzma
Close MSys developer shell
Close the shell window, or type in the
exit
command.
You won't need MSys developer shell anymore.
Run MinGW shell
Run
MSYSDIR/msys.bat
(note the absence of the "MSYS" argument for msys.bat)
Install tcl
Run
mkdir -p /src/mingw/tcl-8.5.9-0RC1 && \ cd /src/mingw/tcl-8.5.9-0RC1 && \ wget -O tcl-8.5.9-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/tcl/8.5.9-0RC1/tcl-8.5.9-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/tcl-8.5.9-0RC1/ -xf tcl-8.5.9-1-mingw32-src.tar.lzma && \ cd /src/mingw/tcl-8.5.9-0RC1/tcl8.5.9/mingwPORT && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf tcl-8.5.9-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf tcl-8.5.9-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf tcl-8.5.9-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf tcl-8.5.9-1-mingw32-lic.tar.lzma
Install tk
Run
mkdir -p /src/mingw/tk-8.5.9-0RC2 && \ cd /src/mingw/tk-8.5.9-0RC2 && \ wget -O tk-8.5.9-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/tk/8.5.9-0RC2/tk-8.5.9-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/tk-8.5.9-0RC2/ -xf tk-8.5.9-1-mingw32-src.tar.lzma && \ cd /src/mingw/tk-8.5.9-0RC2/tk8.5.9/mingwPORT && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf tk-8.5.9-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf tk-8.5.9-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf tk-8.5.9-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf tk-8.5.9-1-mingw32-lic.tar.lzma
Install openssl
Run
mkdir -p /src/mingw/openssl-1.0.1-1 && \ cd /src/mingw/openssl-1.0.1-1 && \ wget -O openssl-1.0.1-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/openssl/1.0.1-1/openssl-1.0.1-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/openssl-1.0.1-1/ -xf openssl-1.0.1-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf openssl-1.0.1-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf libopenssl-1.0.1-1-mingw32-dll-100.tar.lzma && \ tar --lzma -C /mingw/ -xf openssl-1.0.1-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf openssl-1.0.1-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf openssl-1.0.1-1-mingw32-lic.tar.lzma
Install curl
Run
mkdir -p /src/mingw/curl-7.21.4-1 && \ cd /src/mingw/curl-7.21.4-1 && \ wget -O curl-7.21.4-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/curl/7.21.4-1/curl-7.21.4-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/curl-7.21.4-1/ -xf curl-7.21.4-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf curl-7.21.4-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf libcurl-7.21.4-1-mingw32-dll-4.tar.lzma && \ tar --lzma -C /mingw/ -xf curl-7.21.4-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf curl-7.21.4-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf curl-7.21.4-1-mingw32-lic.tar.lzma
Install libxml2
Run
mkdir -p /src/mingw/libxml2-2.7.8-2 && \ cd /src/mingw/libxml2-2.7.8-2 && \ wget -O libxml2-2.7.8-2-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/libxml2/2.7.8-2/libxml2-2.7.8-2-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/libxml2-2.7.8-2/ -xf libxml2-2.7.8-2-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf libxml2-2.7.8-2-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf libxml2-2.7.8-2-mingw32-dll-2.tar.lzma && \ tar --lzma -C /mingw/ -xf libxml2-2.7.8-2-mingw32-dev.tar.lzma && \ tar --lzma -C / -xf libxml2-2.7.8-2-msys-1.0.17-shell.tar.lzma && \ tar --lzma -C /mingw/ -xf libxml2-2.7.8-2-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf libxml2-2.7.8-2-mingw32-lic.tar.lzma && \ . /etc/profile.d/xml_catalog.sh
Install libgpg-error
Run
mkdir -p /src/mingw/libgpg-error-1.10-0RC2 && \ cd /src/mingw/libgpg-error-1.10-0RC2 && \ wget -O libgpg-error-1.10-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/libgpg-error/1.10-0RC2/libgpg-error-1.10-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/libgpg-error-1.10-0RC2/ -xf libgpg-error-1.10-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf libgpg-error-1.10-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf libgpg-error-1.10-1-mingw32-dll-0.tar.lzma && \ tar --lzma -C /mingw/ -xf libgpg-error-1.10-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf libgpg-error-1.10-1-mingw32-lang.tar.lzma && \ tar --lzma -C /mingw/ -xf libgpg-error-1.10-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf libgpg-error-1.10-1-mingw32-lic.tar.lzma
Install libgcrypt
Run
mkdir -p /src/mingw/libgcrypt-1.5.0-1 && \ cd /src/mingw/libgcrypt-1.5.0-1 && \ wget -O libgcrypt-1.5.0-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/libgcrypt/1.5.0-1/libgcrypt-1.5.0-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/libgcrypt-1.5.0-1/ -xf libgcrypt-1.5.0-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf libgcrypt-1.5.0-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf libgcrypt-1.5.0-1-mingw32-dll-11.tar.lzma && \ tar --lzma -C /mingw/ -xf libgcrypt-1.5.0-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf libgcrypt-1.5.0-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf libgcrypt-1.5.0-1-mingw32-lic.tar.lzma
Install libxslt
Run
mkdir -p /src/mingw/libxslt-1.1.26-1 && \ cd /src/mingw/libxslt-1.1.26-1 && \ wget -O libxslt-1.1.26-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/libxslt/1.1.26-1/libxslt-1.1.26-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/libxslt-1.1.26-1/ -xf libxslt-1.1.26-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf libxslt-1.1.26-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf libxslt-1.1.26-1-mingw32-dll-0.tar.lzma && \ tar --lzma -C /mingw/ -xf libxslt-1.1.26-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf libxslt-1.1.26-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf libxslt-1.1.26-1-mingw32-lic.tar.lzma
Install getopt
Run
mkdir -p /src/mingw/getopt-1.1.4-1 && \ cd /src/mingw/getopt-1.1.4-1 && \ wget -O getopt-1.1.4-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/getopt/1.1.4-1/getopt-1.1.4-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/getopt-1.1.4-1/ -xf getopt-1.1.4-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf getopt-1.1.4-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf getopt-1.1.4-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf getopt-1.1.4-1-mingw32-lic.tar.lzma
Install xmlto
Run
mkdir -p /src/mingw/xmlto-0.0.25-1 && \ cd /src/mingw/xmlto-0.0.25-1 && \ wget -O xmlto-0.0.25-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/xmlto/0.0.25-1/xmlto-0.0.25-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/xmlto-0.0.25-1/ -xf xmlto-0.0.25-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf xmlto-0.0.25-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf xmlto-0.0.25-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf xmlto-0.0.25-1-mingw32-lic.tar.lzma
Install asciidoc
Run
mkdir -p /src/mingw/asciidoc-8.6.7-1 && \ cd /src/mingw/asciidoc-8.6.7-1 && \ wget -O asciidoc-8.6.7-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/asciidoc/8.6.7-1/asciidoc-8.6.7-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/asciidoc-8.6.7-1/ -xf asciidoc-8.6.7-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf asciidoc-8.6.7-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf asciidoc-8.6.7-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf asciidoc-8.6.7-1-mingw32-lic.tar.lzma
Install docbook-xml-4.1.2
Run
mkdir -p /src/mingw/docbook-xml-4.1.2-1 && \ cd /src/mingw/docbook-xml-4.1.2-1 && \ wget -O docbook-xml-4.1.2-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/docbook-xml/4.1.2-1/docbook-xml-4.1.2-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/docbook-xml-4.1.2-1/ -xf docbook-xml-4.1.2-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf docbook-xml-4.1.2-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf docbook-xml-4.1.2-1-mingw32-doc.tar.lzma && \ /mingw/var/lib/mingw-get/scripts/docbook-xml-4.1.2-1-post-install.sh
Install docbook-xml-4.3
Run
mkdir -p /src/mingw/docbook-xml-4.3-2 && \ cd /src/mingw/docbook-xml-4.3-2 && \ wget -O docbook-xml-4.3-2-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/docbook-xml/4.3-2/docbook-xml-4.3-2-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/docbook-xml-4.3-2/ -xf docbook-xml-4.3-2-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf docbook-xml-4.3-2-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf docbook-xml-4.3-2-mingw32-doc.tar.lzma && \ /mingw/var/lib/mingw-get/scripts/docbook-xml-4.3-2-post-install.sh
Install docbook-xml-4.5
Run
mkdir -p /src/mingw/docbook-xml-4.5-1 && \ cd /src/mingw/docbook-xml-4.5-1 && \ wget -O docbook-xml-4.5-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/docbook-xml/4.5-1/docbook-xml-4.5-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/docbook-xml-4.5-1/ -xf docbook-xml-4.5-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf docbook-xml-4.5-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf docbook-xml-4.5-1-mingw32-doc.tar.lzma && \ /mingw/var/lib/mingw-get/scripts/docbook-xml-4.5-1-post-install.sh
Install docbook-xsl
Run
mkdir -p /src/mingw/docbook-xsl-1.76.1-2 && \ cd /src/mingw/docbook-xsl-1.76.1-2 && \ wget -O docbook-xsl-1.76.1-2-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/docbook-xsl/1.76.1-2/docbook-xsl-1.76.1-2-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/docbook-xsl-1.76.1-2/ -xf docbook-xsl-1.76.1-2-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf docbook-xsl-1.76.1-2-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf docbook-xsl-1.76.1-2-mingw32-doc.tar.lzma && \ /mingw/var/lib/mingw-get/scripts/docbook-xsl-1.76.1-2-post-install.sh
Install git
Run
mkdir -p /src/mingw/git-1.7.4-2 && \ cd /src/mingw/git-1.7.4-2 && \ wget -O git-1.7.4-2-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/git/1.7.4-2/git-1.7.4-2-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/git-1.7.4-2/ -xf git-1.7.4-2-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf git-1.7.4-2-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf git-1.7.4-2-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf git-1.7.4-2-mingw32-lic.tar.lzma && \ tar --lzma -C / -xf git-1.7.4-2-msys-1.0.17-shell.tar.lzma
Fixed git line-endings
mingw-git comes with a default config file that sets autocrls=false.
GStreamer does include files that are CRLFed natively. If you set autocrlf=true, git will always detect these files as modified, thwarting your development process.
Thus, you should always use text editors that:
- Are able to view files with LFs
- Do not convert file's LFs to CRLFs
- Do insert LFs or CRLFs (either specified by an option or autodetected)
Notepad and Wordpad won't cut it - Notepad can't read LFs, Wordpad overwrites a file with CRLFs. OpenOffice.org Writer (in case you're wondering) will try to insert UTF-8 BOM in a file that doesn't have it (so it doesn't cut either). So, you should look for specialized editors for programming. I'm using Far Manager's built-in editor - it satisfies all requirements.
Install gtk-doc
Run
mkdir -p /src/mingw/gtk-doc-1.18-1 && \ cd /src/mingw/gtk-doc-1.18-1 && \ wget -O gtk-doc-1.18-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/gtk-doc/1.18-1/gtk-doc-1.18-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/gtk-doc-1.18-1/ -xf gtk-doc-1.18-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf gtk-doc-1.18-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf gtk-doc-1.18-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf gtk-doc-1.18-1-mingw32-lic.tar.lzma
Install automake-1.11
Run
mkdir -p /src/mingw/automake-1.11-1.11.3-1 && \ cd /src/mingw/automake-1.11-1.11.3-1 && \ wget -O automake-1.11-1.11.3-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/automake-1.11/1.11.3-1/automake-1.11-1.11.3-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/automake-1.11-1.11.3-1/ -xf automake-1.11-1.11.3-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf automake-1.11-1.11.3-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf automake-1.11-1.11.3-1-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf automake-1.11-1.11.3-1-mingw32-lic.tar.lzma
Install libffi
Run
mkdir -p /src/mingw/libffi-3.0.10-1 && \ cd /src/mingw/libffi-3.0.10-1 && \ wget -O libffi-3.0.10-1-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/libffi/3.0.10-1/libffi-3.0.10-1-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/libffi-3.0.10-1/ -xf libffi-3.0.10-1-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf libffi-3.0.10-1-mingw32-dll-5.tar.lzma && \ tar --lzma -C /mingw/ -xf libffi-3.0.10-1-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf libffi-3.0.10-1-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf libffi-3.0.10-1-mingw32-lic.tar.lzma
Install glib-2.0
Run
mkdir -p /src/mingw/glib-2.0-2.32.0-2 && \ cd /src/mingw/glib-2.0-2.32.0-2 && \ wget -O glib-2.0-2.32.0-2-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/glib-2.0/2.32.0-2/glib-2.0-2.32.0-2-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/glib-2.0-2.32.0-2/ -xf glib-2.0-2.32.0-2-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf glib-2.0-2.32.0-2-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf libglib-2.0-2.32.0-2-mingw32-dll-0.tar.lzma && \ tar --lzma -C /mingw/ -xf glib-2.0-2.32.0-2-mingw32-dev.tar.lzma && \ tar --lzma -C / -xf glib-2.0-2.32.0-2-msys-1.0.17-completion.tar.lzma && \ tar --lzma -C /mingw/ -xf glib-2.0-2.32.0-2-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf glib-2.0-2.32.0-2-mingw32-lang.tar.lzma && \ tar --lzma -C /mingw/ -xf glib-2.0-2.32.0-2-mingw32-lic.tar.lzma
Install popt
Run
mkdir -p /src/mingw/popt-1.16-2 && \ cd /src/mingw/popt-1.16-2 && \ wget -O popt-1.16-2-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/popt/1.16-2/popt-1.16-2-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/popt-1.16-2/ -xf popt-1.16-2-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf libpopt-1.16-2-mingw32-dll-0.tar.lzma && \ tar --lzma -C /mingw/ -xf popt-1.16-2-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf popt-1.16-2-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf popt-1.16-2-mingw32-lang.tar.lzma && \ tar --lzma -C /mingw/ -xf popt-1.16-2-mingw32-lic.tar.lzma
Install pkg-config
Run
mkdir -p /src/mingw/pkg-config-0.26-2 && \ cd /src/mingw/pkg-config-0.26-2 && \ wget -O pkg-config-0.26-2-mingw32-src.tar.lzma \ http://lrn.no-ip.info/other/mingw/mingw32/pkg-config/0.26-2/pkg-config-0.26-2-mingw32-src.tar.lzma && \ tar --lzma -C /src/mingw/pkg-config-0.26-2/ -xf pkg-config-0.26-2-mingw32-src.tar.lzma && \ ./pkgbuild.sh && \ tar --lzma -C /mingw/ -xf pkg-config-0.26-2-mingw32-bin.tar.lzma && \ tar --lzma -C /mingw/ -xf pkg-config-0.26-2-mingw32-dev.tar.lzma && \ tar --lzma -C /mingw/ -xf pkg-config-0.26-2-mingw32-doc.tar.lzma && \ tar --lzma -C /mingw/ -xf pkg-config-0.26-2-mingw32-lic.tar.lzma
Create libtool library files
If you are planning to build directsoundsink and/or directdrawsink (of course you do, dsoundsink is the only audio sink that works on Windows!), make sure you have MINGWDIR\lib\libdxerr9.la and MINGWDIR\lib\libdxguid.la . If you don't, download libdxerr9.la and libdxguid.la and place into MINGWDIR\lib
Remove .la files
Search through /mingw/lib/ directory and find all .la files that do not have corresponding .dll.a files.
These should be, at least, libopcodes.la, libbfd.la, libdxerr9.la and libdxguid.la.
Delete all other .la files (i.e. the ones that do have matching .dll.a files).
Never install .la files alongside .dll.a files.

