blob: dabed64c13cf6ee39dd6d1d9366ba9bb33bef179 [file] [log] [blame] [view]
#Glazier - automating building CouchDB on Windows #############################
Glazier is a set of scripts designed to help automate as much as practicable the
build of CouchDB on Windows, from XP/2003 to Windows 7 or Server 2008. It
assumes you're starting from a vanilla state.
# Using Glazier ##############################################################
Glazier requires 5 things to run successfully
1. you are logged in as a local user "couchdb" which has admin permissions
2. Windows XP, 2003, Vista, Windows 7 or 2008, either 32 or 64-bit platforms
3. internet connectivity
4. approx 12GiB of disk space during fetch & build stages
5. download and unzipped [glazier latest zip](http://github.com/dch/glazier/zipball/master)
6. an optional environment variable, `%RELAX%`, set to where you wish to have CouchDB
and Erlang built within. If none is selected, `c:\relax` will be used.
## Current State ##############################################################
* The steps below, manually or automated, should produce a working CouchDB build & self-installing .exe from
Erlang/OTP R14A, and CouchDB 0.11.2 or 1.0.1.
* The build environment should be fully functional on both 32,64, desktop and
server versions of windows from XP/2003 onwards
* Fetching binaries is described and automated
* Installation of development environment is described and automated
* Downloads are not small -
[get_bits.cmd](http://github.com/dch/glazier/blob/master/bin/get_bits.cmd)
retrieves approx 7GiB of DVD ISOs for Microsoft's Visual Studio 2008
compiler, related SDKs, the smaller cygwin and mozilla build frameworks,
source and misc tools
* Glazier tries to be self-contained so that it is both repeatable and also
easy to clean up.
* Compilation stages are not yet automated but are all now command-line driven
# Running Automatically #######################################################
* run `%GLAZIER%\bin\glaze.cmd` to fetch & cache the bits, install compiilers
* you will need to select the cygwin modules individually
* close any open command prompts or shells
* run `%GLAZIER%\bin\relax.cmd` to start a valid build environment
* select the erlang version you wish to build from
* the first time around you will need to unpack your erlang and couchdb tarballs
cd /relax
tar xzf /relax/bits/apache-couchdb-0.11.2.tar.gz &
tar xzf /relax/bits/apache-couchdb-1.0.1.tar.gz &
tar xzf /relax/bits/curl-7.21.1.tar.gz &
tar xzf /relax/bits/otp_src_R13B04.tar.gz &
tar xzf /relax/bits/otp_src_R14A.tar.gz &
cd /relax/otp_src_R13B04; tar xzf /relax/bits/tcltk85_win32_bin.tar.gz &
cd /relax/otp_src_R14A; tar xzf /relax/bits/tcltk85_win32_bin.tar.gz &
`TODO // confirm steps needed before getting to here. Use manual install first`
* then run the following 4 scripts in order
erl_build.sh
erl_config.sh
couchdb_build.sh
couchdb_config.sh
* each of these scripts leaves logfiles in the root folder. If you have issues
during compilation phase, load these onto <http://friendpaste.com/>
don't email them to the mailing list
# Installing the Build Environment ############################################
* Building Erlang & CouchDB on Windows requires a custom build environment,
which is very sensitive to path order amongst the three different
compilers used to build wxWidgets, erlang, javascript, and couchdb
* Each component is built via standard Makefiles in the Cygwin unix/posix
emulation layer, and then handed over to the appropriate compiler.
* This is further complicated by different install locations on 32 vs 64 bit
windows versions, and which Microsoft C compiler and Windows SDKs
installed.
## Cygwin #####################################################################
The full Cygwin install comprises several GiB of data. Run [cygwin]'s setup.exe
using defaults, optionally installing all components if you have the
bandwidth, or alternatively with the following additional modules at a
minimum:
* devel: ALL
* editors: vim
* utils: file
After install, set up a link to where you plan to install related binaries,
build erlang, and couchdb. I am using `C:\relax` so:
setx RELAX c:\relax
mkdir %RELAX%
junction.exe c:\cygwin\relax %RELAX%
## Mozilla Build ##############################################################
The mozilla build toolchain is needed solely for building a javascript engine.
* Download it from [mozbuild] and install per defaults
## Microsoft Visual C++ #######################################################
* Erlang and CouchDB can be built using the free VS2008 Express C++ edition
from [MSDN](http://msdn.microsoft.com/en-gb/vstudio/)
* install Visual C++ 9 only, to the default locations, using the DVD ISO
[msvc++] excluding optional MSSSQL & Silverlight, or alternatively the
web installer [vsmc++webstart]
## Windows 7 SDK ##############################################################
* The windows 7 SDK is required, as the free VS2008 install is missing the
message compiler. Download one of the following version per your
requirements & install
* [win7sdk_32bit]
* [win7sdk_64bit]
# Supporting Tools ############################################################
Both CouchDB and Erlang have dependencies on other opensource tools.
## OpenSSL ####################################################################
* use the 32-bit version even if you are using a 64-bit OS
* download [openssl_bits] and install to `c:\openssl`
## Innosoft Installer #########################################################
* download the installer [inno_bits] and install to `c:\relax\inno5`
## NSIS Installer #############################################################
* download the installer [nsis_bits] and install to `c:\relax\nsis`
## Microsoft Visual C++ runtime ###############################################
* download the runtime installer [vcredist] and copy to `c:\relax\`
## set up hard links ##########################################################
* to keep our paths clean later, and largely independent of compiler
installations if you have pre-existing ones, start a new cmd.exe
prompt with a fresh environment
* this should have both VS90ComnTools and ProgramFiles environment vars
defined from the previous install of Visual Studio
* setup the following hard links (junction points), using either the included
mklink tool (Windows 7 and later), or SysInternal's
[junction](http://live.sysinternals.com/junction.exe)
junction c:\relax\openssl c:\openssl
junction c:\relax\vs90 "%VS90COMNTOOLS%\..\.."
junction c:\relax\SDKs "%programfiles%\Microsoft SDKs\Windows"
or using mklink.exe
mklink /j c:\relax\openssl c:\openssl
[etc...]
# Building pre-requisites for Erlang ##########################################
## wxWidgets ##################################################################
* two components are used for building Erlang's graphical shell, `werl.exe`
on windows
* download [wxwidgets_bits] from [WxWidgets website](http://wxwidgets.org/)
& unzip using cygwin into /relax/
* the Erlang build expects to see wxWidgets in /opt/local/pgm/wxWidgets-2.8.11
by default
mkdir c:\cygwin\opt\local\pgm
junction c:\cygwin\opt\local\pgm\wxWidgets-2.8.11 c:\relax\wxMSW-2.8.11
* Using a suitable editor (vi in the cygwin suite, or install
[notepadplus_bits] for windows users) and
* Edit `c:\relax\wxMSW-2.8.11\include\wx\msw\setup.h` to enable
`wxUSE_GLCANVAS, wxUSE_POSTSCRIPT` and `wxUSE_GRAPHICS_CONTEXT`
### wx.dsw ####################################################################
* open VSC++ & the project `C:\relax\wxMSW-2.8.11\build\msw\wx.dsw`,
accepting the automatic conversion to the newer VC++ format and save
as `\relax\wxMSW-2.8.11\build\msw\wx.sln`
* right-click on the project, and set up the dependencies for wx.dsw to
achieve the below build order
`jpeg, png, tiff, zlib, regex, expat, base, net, odbc, core,
gl, html, media, qa, adv, dbgrid, xrc, aui, richtext, xml`
* Launch a new prompt from somewhere like Start -> Programs -> Microsoft
Visual C++ -> Visual Studio Tools -> VS2008 Cmd Prompt
* Then build all unicode release (and unicode debug) packages:
pushd %RELAX%\wxMSW*\build\msw
vcbuild /useenv /platform:Win32 /M4 wx.sln "Unicode Release|Win32"
vcbuild /useenv /platform:Win32 /M4 wx.sln "Unicode Debug|Win32"
### stc.dsw ###################################################################
* open VSC++ & convert `%RELAX%\wxMSW-2.8.11\contrib\build\stc\stc.dsw`
to `%RELAX%\wxMSW-2.8.11\contrib\build\stc\stc.sln`
pushd %RELAX%\wxMSW*\contrib\build\stc
set LIB=%LIB%;..\..\..\include..\..\..\lib\vc_lib\mswd
set LIBPATH=%LIBPATH%;..\..\..\lib\vc_lib
vcbuild /useenv /platform:Win32 /M4 stc.sln "Unicode Release|Win32"
vcbuild /useenv /platform:Win32 /M4 stc.sln "Unicode Debug|Win32"
# Building Erlang #############################################################
* after installing VC++ 2008 Express, and most other Visual Studio solutions,
`call "%vs90comntools%\..\..\vc\vcvarsall.bat" x86` will automatically
set up our 32-bit build environment correctly, independently if
you have installed on 32 or 64bit windows, with the exception of the
Windows v7.0 SDK.
* in a cmd.exe shell
junction.exe %RELAX%\bin %GLAZIER%\bin
junction.exe %RELAX%\bits %GLAZIER%\bits
mkdir %RELAX%\release
* in a cygwin shell, using these new junction points:
cd /relax
tar xzf /relax/bits/otp_src_R14A.tar.gz &
tar xzf /relax/bits/otp_src_R13B04.tar.gz &
* then run `%GLAZIER%\bin\relax.cmd`
## Tk/Tcl #####################################################################
* optional components
cd $ERL_TOP && tar xvzf /relax/bits/tcltk85_win32_bin.tar.gz
# or simply
cd /relax/otp_src_R14A && tar xvzf /relax/bits/tcltk85_win32_bin.tar.gz
cd /relax/otp_src_R13B04 && tar xvzf /relax/bits/tcltk85_win32_bin.tar.gz
* or skip the whole damn lot this way
echo "skipping gs" > lib/gs/SKIP
* check that `which cl; which link; which mc` return the MS ones, if not then
sort them out manually. Refer to
[relax.cmd](http://github.com/dch/glazier/bin/relax.cmd) and
[relax.sh](http://github.com/dch/glazier/bin/relax.sh)
* build Erlang using `/relax/glazier/bin/erl_config.sh` and
`/relax/glazier/bin/erl_build.sh`, or manually as follows
./otp_build autoconf
./otp_build configure
./otp_build boot -a
./otp_build release -a
./otp_build installer_win32
# we need to set up erlang to run from this new source build to build CouchDB
./release/win32/Install.exe -s
* More details are at [erlang INSTALL-Win32.md on github](http://github.com/erlang/otp/blob/dev/INSTALL-WIN32.md)
* or using the relax tools:
start %glazier%\bin\relax.cmd
[select erlang build]
erl_config.sh; erl_build.sh
# CouchDB #####################################################################
CouchDB has been built & tested against the following components successfully
* Erlang OTP R13B04 or R14A including source
* ICU 4.2.1
* Win32 OpenSSL 1.0.0a
* Mozilla SpiderMonkey 1.8 from SeaMonkey 2.0.6
* libcurl 7.21.1
## Javascript #################################################################
The Javascript engine used by CouchDB is built from Seamonkey, using the
mozilla build toolkit.
* get [seamonkey_bits]
* run `c:\mozilla-build\start-msvc9.bat` even if you are on a 64-bit platform.
cd /c/relax && mkdir seamonkey-2.0.6
cd seamonkey-2.0.6
tar xjf /d/glazier/bits/seamonkey-2.0.6.source.tar.bz2
cd /c/relax/seamonkey-2.0.6/comm-1.9.1/mozilla/js/src
autoconf-2.13
./configure
make
* to install from -current do:
cd /c/relax && mkdir seamonkey-current
cd seamonkey-current
hg clone http://hg.mozilla.org/mozilla-central
cd mozilla-central/......./comm-1.9.1/mozilla/js/src
autoconf-2.13
./configure
make
## Inno Installer #############################################################
* Download from [inno_bits]
* Install to c:\relax\inno5 & ensure its in the path
* Install ispack-5.3.10-unicode.exe, optionally including additional components
## OpenSSL ####################################################################
* already installed into `C:/OpenSSL/` no further steps required
## LibCURL ####################################################################
* Extract from cygwin shell if not already done
cd /relax && tar xf /relax/bits/curl-7*
* run from a cmd.exe shell:
pushd %RELAX%\curl-7*
set OPENSSL_PATH=c:\openssl
set INCLUDE=%INCLUDE%;%OPENSSL_PATH%\include\openssl;
set LIBPATH=%LIBPATH%;%OPENSSL_PATH%\lib;
set LIB=%LIB%;%OPENSSL_PATH%\lib;
vcbuild /useenv /upgrade /platform:Win32 lib\libcurl.vcproj
vcbuild /useenv /platform:Win32 lib\libcurl.vcproj "Release|Win32"
xcopy lib\Release\libcurl.lib lib\ /y /f
popd
## ICU ########################################################################
* Download and unzip the compiled libraries from [icu_bits_curr]
cd %RELAX%\
curl -#LO
7z x bits\icu*.zip
## Make & Build ###############################################################
* The generic configure script looks like this:
./configure \
--with-js-include=/cygdrive/c/path_to_seamonkey \
--with-js-lib=/cygdrive/c/path_to_seamonkey_lib \
--with-win32-icu-binaries=/cygdrive/c/path_to_icu_binaries_root \
--with-erlang=$ERL_TOP/release/win32/usr/include \
--with-win32-curl=/cygdrive/c/path/to/curl/root/directory \
--with-openssl-bin-dir=/cygdrive/c/openssl/bin \
--with-msvc-redist-dir=/cygdrive/c/dir/with/vcredist_platform_executable \
--prefix=$ERL_TOP/release/win32
## using seamonkey 2.0.6 ######################################################
* This is the recommended config if you have used the above config:
./configure \
--prefix=$ERL_TOP/release/win32 \
--with-erlang=$ERL_TOP/release/win32/usr/include \
--with-win32-icu-binaries=/relax/icu \
--with-win32-curl=/relax/curl-7.21.1 \
--with-openssl-bin-dir=/relax/openssl/bin \
--with-msvc-redist-dir=/relax \
--with-js-lib=/relax/seamonkey-2.0.6/comm-1.9.1/mozilla/js/src/dist/lib \
--with-js-include=/relax/seamonkey-2.0.6/comm-1.9.1/mozilla/js/src/dist/include/js
CURL
[curl] -> win32-openssl [curl_bits]
# Automated Test Bed for Builds
The objective is to take the current manual steps, and have them automated for a successful build off a variety of representative Microsoft current OS using Amazon EC2 infrastructure.
## Tested AMIs
These are all sourced from [AWS Windows Servers] provided by Amazon. The release build is taken from the Windows 2008 64-bit AMI below. You will need to set up an AWS account before using the [AWS console] and we recommend using spot instances as these are significantly cheaper to run.
TODO // URLs don't go to right AMIs
* ami-c3e40daa | amazon/Windows-Server2008r1sp2-i386-Base-v103 ** bash.exe dumps core
* ami-d9e40db0 | amazon/Windows-Server2008r1sp2-x86_64-Base-v103 ** bash.exe and cmd.exe dumps core
* ami-f11ff098 | amazon/Windows-Server2003r2-i386-Base-v109 ** too bloody slow
* ami-f51ff09c | amazon/Windows-Server2003r2-x86_64-Base-v109
* NB both of the Win2008 ones above dump core while installing/running cygwin so we do not build by default
* reference CouchDB install is therefore Win2003r2 x86_64 ami-f51ff09c l1.large & snap-080bb263 for accompanying binaries
* reference CouchDB install is therefore Win2003r2 x86_i386 ami-f11ff098 c1.medium & snap-080bb263 for accompanying binaries
## Config of bundled W2008R1SP2 64b AMI
* attach a 30GiB EBS vol for storage of the bits
* logon, bring up an admin command prompt by right-clicking on any Command Prompt link and choosing "Run as Administrator"
* execute the following within that
* diskmgmt.msc -> find the newly attached volume & turn it online
* a fix for [SEHOP] security feature causing cygwin & similar unix shell emulations to dump core
regedit d:\glazier\bundles\disable_sehop_kb956607.reg
net user couchdb 1dot0 /add
net localgroup administrators couchdb /add
* disable UAC -> control panel -> user accts -> turn UAC off -> restart later
* start menu -> server manager -> 2nd pane -> configure IE ESC
* disable [DEP] -> bcdedit.exe /set {current} nx AlwaysOff
* restart now
********************************************************************************
# Appendices
********************************************************************************
## Licences
* the core tools & scripts used in glazier are released or included as BSD-style licence
* curl and the included openssl libraries are the only ones distributed with glazier
* the silent installation of each component assumes your implicit acceptance of the rest
* curl <http://curl.haxx.se/docs/copyright.html>
* openssl <http://www.openssl.org/source/license.html>
## sample environments on different windows platforms
### win7 std - default environment
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\couchdb\AppData\Roaming
CLIENTNAME=continuity.muse
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=BUILD
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\couchdb
LOCALAPPDATA=C:\Users\couchdb\AppData\Local
LOGONSERVER=\\BUILD
NUMBER_OF_PROCESSORS=1
OPENSSL_CONF=C:\OpenSSL\bin\openssl.cfg
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 15 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0f06
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=RDP-Tcp#0
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\couchdb\AppData\Local\Temp
TMP=C:\Users\couchdb\AppData\Local\Temp
USERDOMAIN=BUILD
USERNAME=couchdb
USERPROFILE=C:\Users\couchdb
VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
windir=C:\Windows
### win7 std - vs2008 environment
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\couchdb\AppData\Roaming
CLIENTNAME=continuity.muse
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=BUILD
ComSpec=C:\Windows\system32\cmd.exe
DevEnvDir=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE
FP_NO_HOST_CHECK=NO
FrameworkDir=C:\Windows\Microsoft.NET\Framework
FrameworkVersion=v2.0.50727
HOMEDRIVE=C:
HOMEPATH=\Users\couchdb
INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\INCLUDE;C:\Program Files\Microsoft SDKs\Windows\v6.0A\include;
LIB=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\LIB;C:\Program Files\Microsoft SDKs\Windows\v6.0A\lib;
LIBPATH=C:\Windows\Microsoft.NET\Framework\;C:\Windows\Microsoft.NET\Framework\v2.0.50727;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\ATLMFC\LIB;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\LIB;
LOCALAPPDATA=C:\Users\couchdb\AppData\Local
LOGONSERVER=\\BUILD
NUMBER_OF_PROCESSORS=1
OPENSSL_CONF=C:\OpenSSL\bin\openssl.cfg
OS=Windows_NT
Path=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\bin;C:\Windows\Microsoft.NET\Framework\;C:\Windows\Microsoft.NET\Framework\\Microsoft .NET Framework 3.5 (Pre-Release Version);C:\Windows\Microsoft.NET\Framework\v2.0.50727;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\VCPackages;C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 15 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0f06
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=RDP-Tcp#0
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\couchdb\AppData\Local\Temp
TMP=C:\Users\couchdb\AppData\Local\Temp
USERDOMAIN=BUILD
USERNAME=couchdb
USERPROFILE=C:\Users\couchdb
VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC
VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
VSINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 9.0
windir=C:\Windows
WindowsSdkDir=C:\Program Files\Microsoft SDKs\Windows\v6.0A\
### a perfect path for erlang R13B04 after eval `./otp_build env_win32`
export PATH=$ERL_TOP/release/win32/erts-5.7.5/bin:\
$ERL_TOP/erts/etc/win32/cygwin_tools/vc:\
$ERL_TOP/erts/etc/win32/cygwin_tools:\
/cygdrive/c/PROGRA~1/MICROS~1.0/Common7/IDE:\
/cygdrive/c/PROGRA~1/MICROS~1.0/VC/BIN:\
/cygdrive/c/PROGRA~1/MICROS~1.0/Common7/Tools:\
/cygdrive/c/WINDOWS/MICROS~1.NET/FRAMEW~1/:\
/cygdrive/c/WINDOWS/MICROS~1.NET/FRAMEW~1/V20~1.507:\
/cygdrive/c/PROGRA~1/MICROS~1.0/VC/VCPACK~1:\
/cygdrive/c/PROGRA~1/MICROS~3/Windows/v7.0/bin:\
/src/openssl:\
/src/nsis:\
/src/inno5:\
/usr/local/bin:\
/usr/bin:\
/bin:\
/cygdrive/c/WINDOWS/system32:\
/cygdrive/c/WINDOWS:\
/cygdrive/c/WINDOWS/System32/Wbem
export ERL_TOP=/src/otp_src_R13B04
export PATH=$ERL_TOP/release/win32/erts-5.7.5/bin:$ERL_TOP/erts/etc/win32/cygwin_tools/vc:$ERL_TOP/erts/etc/win32/cygwin_tools:/cygdrive/c/PROGRA~1/MICROS~1.0/Common7/IDE:/cygdrive/c/PROGRA~1/MICROS~1.0/VC/BIN:/cygdrive/c/PROGRA~1/MICROS~1.0/Common7/Tools:/cygdrive/c/WINDOWS/MICROS~1.NET/FRAMEW~1/:/cygdrive/c/WINDOWS/MICROS~1.NET/FRAMEW~1/V20~1.507:/cygdrive/c/PROGRA~1/MICROS~1.0/VC/VCPACK~1:/cygdrive/c/PROGRA~1/MICROS~3/Windows/v7.0/bin:/src/openssl:/src/nsis:/src/inno5:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem
export ERL_TOP=/src/otp_src_R14A
EXPORT PATH=$ERL_TOP/release/win32/erts-5.8/bin:$ERL_TOP/erts/etc/win32/cygwin_tools/vc:$ERL_TOP/erts/etc/win32/cygwin_tools:/cygdrive/c/PROGRA~1/MICROS~1.0/Common7/IDE:/cygdrive/c/PROGRA~1/MICROS~1.0/VC/BIN:/cygdrive/c/PROGRA~1/MICROS~1.0/Common7/Tools:/cygdrive/c/WINDOWS/MICROS~1.NET/FRAMEW~1/:/cygdrive/c/WINDOWS/MICROS~1.NET/FRAMEW~1/V20~1.507:/cygdrive/c/PROGRA~1/MICROS~1.0/VC/VCPACK~1:/cygdrive/c/PROGRA~1/MICROS~3/Windows/v7.0/bin:/src/openssl:/src/nsis:/src/inno5:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem
## Download URLs - visible only in raw text view
[7zip_bits]: http://downloads.sourceforge.net/sevenzip/7z465.exe
[7zip_license]: http://www.7-zip.org/license.txt
[AWS console]: https://console.aws.amazon.com/ec2/home#c=EC2&s=Instances
[AWS Windows Servers]: http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=201
[bitvise_sshd_bits]: http://dl.bitvise.com/WinSSHD5-Inst.exe
[curl]: http://curl.haxx.se/download.html
[curl_license]: http://curl.haxx.se/docs/copyright.html
[cygwin]: http://www.cygwin.com/setup.exe
[DEP]: http://support.microsoft.com/kb/875352
[erlang_R13B04]: http://www.erlang.org/download/otp_src_R13B04.tar.gz
[erlang_R14A]: http://www.erlang.org/download/otp_src_R14A.tar.gz
[icu_bits_curr]: http://download.icu-project.org/files/icu4c/4.2/icu4c-4_2-Win32-msvc9.zip
[icu_bits_new]: http://download.icu-project.org/files/icu4c/4.4.1/icu4c-4_4_1-Win32-msvc9.zip
[inno_bits]: http://www.jrsoftware.org/download.php/is-unicode.exe
[inno_help]: http://www.jrsoftware.org/ishelp/
[libcurl_bits]: http://curl.haxx.se/download/libcurl-7.19.3-win32-ssl-msvc.zip
[libcurl_src]: http://curl.haxx.se/download/curl-7.21.1.tar.gz
[msvc++]: http://download.microsoft.com/download/E/8/E/E8EEB394-7F42-4963-A2D8-29559B738298/VS2008ExpressWithSP1ENUX1504728.iso
[msvc++webstart]: http://download.microsoft.com/download/A/5/4/A54BADB6-9C3F-478D-8657-93B3FC9FE62D/vcsetup.exe
[mozbuild]: http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe
[notepadplus_bits]: http://download.sourceforge.net/project/notepad-plus/notepad%2B%2B%20releases%20binary/npp%205.7%20bin/npp.5.7.Installer.exe
[nsis_bits]: http://download.sourceforge.net/project/nsis/NSIS%202/2.46/nsis-2.46-setup.exe
[openssl_bits]: http://www.slproweb.com/download/Win32OpenSSL-1_0_0a.exe
[openssl_license]: http://www.openssl.org/source/license.html
[ramdisk]: http://www.ltr-data.se/files/imdiskinst.exe
[seamonkey_bits]: http://releases.mozilla.org/pub/mozilla.org/seamonkey/releases/2.0.6/source/seamonkey-2.0.6.source.tar.bz2
[SEHOP]: http://support.microsoft.com/kb/956607
[vcredist]: http://download.microsoft.com/download/d/d/9/dd9a82d0-52ef-40db-8dab-795376989c03/vcredist_x86.exe
[win7sdk_32bit]: http://download.microsoft.com/download/2/E/9/2E911956-F90F-4BFB-8231-E292A7B6F287/GRMSDK_EN_DVD.iso
[win7sdk_64bit]: http://download.microsoft.com/download/2/E/9/2E911956-F90F-4BFB-8231-E292A7B6F287/GRMSDKX_EN_DVD.iso
[wxwidgets_bits]: http://sourceforge.net/projects/wxwindows/files/2.8.11/wxMSW-2.8.11.zip
[zlib-bits]: http://zlib.net/zlib125-dll.zip
[zlib-src]: http://zlib.net/zlib-1.2.5.tar.gz