1. Configuration of starting environment For start you need mSYS with additional programs and MINGW32 for compilation. You need installed 7-zip: http://www.7-zip.org/ Let assume following directory structure: D:\ -+ Root directory (This also can be C:\ or any other directory in which you (your account) | have enough rights for all file management operations. | For example, it can be "%USERPROFILE%\work". It must be on NTFS disk.) | +- mingw -+ In this directory we will keep all our compilation environment (mSYS, MINGW, TOOLS...) | +- local In this directory we will keep additional programs, utilities, scripts and libraries, which don't | depend on MINGW and mSYS | +- mingw_first MINGW. It is needed for compilation at starting stages. | +- mingw_new In this directory we will get new MINGW (this is our target). | +- msys mSYS. Most of the work would be made by using it. | +- msysgit GIT. It is needed for downloading and updating of some sources. | +- tmp This is the directory for temporary files. (I like to keep everything in one place). What do we need? And where can we get it? a) For start we need mSYS Get it here: http://www.cadforte.com/msys.html At moment of writing it was: msys-phoenix-1.3c.7z This is the ideal solution for beginners and not only for them. It contains probably everything needed and is regularly updating. b) Installing of mSYS Unpack it into "d:\mingw\msys" Move all from "d:\mingw\msys\phoenix\" by one level up (to "d:\mingw\msys") Remove empty "d:\mingw\msys\phoenix" [code="Windows CMD console"] # Installing of mSYS mkdir "d:\mingw" cd /d "d:\mingw" 7z.exe x -o"d:\mingw" \msys-phoenix-1.3c.7z rename "phoenix" "msys" move changelog msys\ move readme msys\ # Preparing of additional directories mkdir local\bin mkdir tmp mkdir mingw_first mkdir mingw_new # Configuring of mSYS for first run echo d:/mingw/local /usr/local > d:\mingw\msys\etc\fstab echo d:/mingw/tmp /tmp1 >> d:\mingw\msys\etc\fstab [/code] For file system manipulations we need "junction.exe" Get it here: http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx Unpack it into "d:\mingw\local\bin" CVS Get it here: http://sourceforge.net/projects/mingw/files/ At moment of writing it was: cvs-1.11.22-MSYS-1.0.11-1-bin.tar.gz Unpack it into "d:\mingw\msys" wget (file-downloader) Get it here: http://gnuwin32.sourceforge.net/packages/wget.htm Files: "Binaries" and "Dependencies" Unpack them into "d:\mingw\local" SVN Get it here: http://subversion.tigris.org/getting.html or http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100 Unpack it into "d:\mingw\local" VIM (text-editor) Get it here: http://www.vim.org/index.php or http://www.math.technion.ac.il/pub/vim/pc/ File: vim72w32.zip Unpack "vim.exe" from it into "d:\mingw\local\bin" Edit file "mingw\msys\etc\profile" [code="Windows CMD console"] d:\mingw\local\bin\vim d:\mingw\msys\etc\profile [/code] 1) Remove "$PATH" from "export PATH=..." and add "mingw\tmp" [code="Before"] if [ $MSYSTEM == MINGW32 ]; then export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH" else export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH" fi [/code] [code="After"] if [ $MSYSTEM == MINGW32 ]; then export PATH=".:/usr/local/bin:/mingw/bin:/bin" else export PATH=".:/usr/local/bin:/bin:/mingw/bin" fi export TMP=/tmp1 export TEMP=/tmp1 [/code] Now we ready for the first run. Let run c:\mingw\msys\msys.bat