On 3/15/06, Daniel Völkerts [email protected] wrote:
HOWTO will increase.
Download and install the following:
-
Visual C++ Toolkit 2003 (free)
Microsoft Learn: Build skills that open doors in your career
-
MS Platform SDK 2003 (free. Uncheck everything but the “Core”
entry. You want everything under Core, even if you don’t have a 64bit
machine. Some of the important tools are only part of the 64bit
section.)
http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en
-
MS .NET Framework 1.1 (a prerequisite for #4)
http://www.microsoft.com/downloads/details.aspx?familyid=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en
-
MS .NET SDK 1.1 (not 2.0.)
http://www.microsoft.com/downloads/details.aspx?familyid=9b3a2ca6-3647-4070-9f41-a333c6b9181d&displaylang=en
Once you’ve downloaded and installed these, you’ll need to configure
your environment variables. Here’s what my vcvars32.bat file looks
like: (Sorry about the line breaks. You’ll need to remove those.)
@echo off
Set PATH=C:\Program Files\Microsoft Visual C++ Toolkit
2003\bin;C:\Program Files\Microsoft Platform SDK\Bin;C:\Program
Files\Microsoft Platform SDK\Bin\win64\x86\AMD64;%PATH%
Set INCLUDE=C:\Program Files\Microsoft Visual C++ Toolkit
2003\include;C:\Program Files\Microsoft Platform
SDK\Include;C:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\include;%INCLUDE%
Set LIB=C:\Program Files\Microsoft Visual C++ Toolkit
2003\lib;C:\Program Files\Microsoft Platform SDK\Lib;C:\Program
Files\Microsoft Visual Studio .NET 2003\Vc7\lib;%LIB%
Those should be the default installation folders for the Microsoft
tools, but if you put them elsewhere, simply modify the batch file to
suit. Note that you need the AMD64 tools in your path even if you
have a 32bit machine. For some crazy reason, that’s where Microsoft
put some of the important tools.
Download the latest Ruby release from:
http://www.ruby-lang.org/en/20020102.html
You can either get the 1.8.4 release, or the ‘stable snapshot’, which
includes fixes since the last release. The first time you try to get
this working, I recommend the regular release.
Uncompress the download into a folder that doesn’t have any spaces in
the name.
For the purposes of this howto, let’s say that’s c:\ruby-src
If I explained myself clearly, you will now have a folder called
c:\ruby-src\ruby-1.8.4, with various things under it, including
c:\ruby-src\ruby-1.8.4\win32
If you download a different release than 1.8.4, that folder name might
be different.
To avoid cluttering up this directory with temporary files, we’ll do
the actual build elsewhere.
Make a folder called c:\ruby-src\build\
Open a command prompt by clicking a shortcut, or typing “cmd” into the
Start → Run prompt.
Run the “vcvars32.bat” file you made earlier, which will add the
Microsoft tools to your environment. This means, by the way, that it
should be somewhere in your default PATH.
==== SCARY HACK SECTION ====
The Microsoft tools previously included a pair of utilities, “lib” and
“dumpbin”, which acted as front-ends for the “link.exe” command.
Luckily, the 64bit directory in the Platform SDK includes “lib.exe”,
but we still need to deal with dumpbin.exe. Sadly, none of the free
downloads seem to include it.
Ruby 1.9/2.0 shouldn’t have this problem, and you can skip this step
if you have the full Visual Studio 2003.
Go to c:\ruby-src\ruby-1.8.4\win32, and edit the following file:
mkexports.rb
On line 6, change the command inside the double-quotes of IO.foreach.
change: "|dumpbin -symbols "
to: "|link /dump /symbols "
Don’t forget the space at the end.
==== END SCARY HACK ====
Change your current directory to c:\ruby-src\build
Run the following commands, in order:
c:\ruby-src\ruby-1.8.4\win32\configure.bat (yes, you need to refer to
it by its full path.)
nmake
nmake test
nmake DESTDIR=c:/ruby install
The final command allows you to specify where you actually want Ruby
to be installed.
Note the forward slash instead of backslash.
There are more examples in the README.win32 file, found in the
c:\ruby-src\ruby-1.8.4\win32\ folder.
So simple, even a child could operate it!