2000-08-03 05:55:54 -04:00
|
|
|
=begin
|
|
|
|
|
|
|
|
= How to build ruby using Visual C++
|
|
|
|
|
|
|
|
== Requirement
|
|
|
|
|
2012-07-09 04:25:06 -04:00
|
|
|
(1) Windows XP or later.
|
2010-12-27 01:23:19 -05:00
|
|
|
|
2012-11-26 11:01:51 -05:00
|
|
|
(2) Visual C++ 6.0 or later. (strongly recommended VC++ 10 or later)
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2007-10-31 11:53:19 -04:00
|
|
|
Note: if you want to build x64 or ia64 version, use native compiler for
|
|
|
|
x64/ia64.
|
|
|
|
|
2010-12-27 01:23:19 -05:00
|
|
|
(3) Please set environment variable (({INCLUDE})), (({LIB})), (({PATH}))
|
2000-08-03 05:55:54 -04:00
|
|
|
to run required commands properly from the command line.
|
|
|
|
|
|
|
|
Note: building ruby requires following commands.
|
|
|
|
* nmake
|
|
|
|
* cl
|
|
|
|
* lib
|
|
|
|
* dumpbin
|
|
|
|
|
2010-12-27 01:23:19 -05:00
|
|
|
(4) If you want to build from SVN source, following commands are required.
|
2004-11-12 03:33:17 -05:00
|
|
|
* bison
|
2003-12-28 12:25:31 -05:00
|
|
|
* sed
|
2012-11-26 11:01:51 -05:00
|
|
|
* ruby 1.8 or later
|
2003-12-28 12:25:31 -05:00
|
|
|
|
2012-02-29 02:13:04 -05:00
|
|
|
(5) Enable Command Extension of your command line. It's the default behavior
|
|
|
|
of cmd.exe. If you want to enable it explicitly, run cmd.exe with /E:ON
|
|
|
|
option.
|
|
|
|
|
2000-08-03 05:55:54 -04:00
|
|
|
== How to compile and install
|
|
|
|
|
|
|
|
(1) Execute win32\configure.bat on your build directory.
|
2002-09-10 04:24:11 -04:00
|
|
|
You can specify the target platform as an argument.
|
2007-10-31 11:53:19 -04:00
|
|
|
For example, run `((%configure --target=i686-mswin32%))'
|
2003-12-28 12:25:31 -05:00
|
|
|
You can also specify the install directory.
|
|
|
|
For example, run `((%configure --prefix=<install_directory>%))'
|
|
|
|
Default of the install directory is /usr .
|
2010-05-05 23:12:28 -04:00
|
|
|
The default ((|<PLATFORM>|)) is `(({i386-mswin32}))'.
|
2000-08-03 05:55:54 -04:00
|
|
|
|
|
|
|
(2) Change ((|RUBY_INSTALL_NAME|)) and ((|RUBY_SO_NAME|)) in (({Makefile}))
|
|
|
|
if you want to change the name of the executable files.
|
|
|
|
And add ((|RUBYW_INSTALL_NAME|)) to change the name of the
|
|
|
|
executable without console window if also you want.
|
|
|
|
|
|
|
|
(3) Run `((%nmake%))'
|
|
|
|
|
2007-09-27 04:38:46 -04:00
|
|
|
(4) Run `((%nmake test%))'
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2007-09-27 04:38:46 -04:00
|
|
|
(5) Run `((%nmake install%))'
|
2000-08-03 05:55:54 -04:00
|
|
|
|
|
|
|
== Icons
|
|
|
|
|
|
|
|
Any icon files(*.ico) in the build directory, directories specified with
|
|
|
|
((|icondirs|)) make variable and (({win32})) directory under the ruby
|
|
|
|
source directory will be included in DLL or executable files, according
|
|
|
|
to their base names.
|
|
|
|
$(RUBY_INSTALL_NAME).ico or ruby.ico --> $(RUBY_INSTALL_NAME).exe
|
|
|
|
$(RUBYW_INSTALL_NAME).ico or rubyw.ico --> $(RUBYW_INSTALL_NAME).exe
|
|
|
|
the others --> $(RUBY_SO_NAME).dll
|
|
|
|
|
|
|
|
Although no icons are distributed with the ruby source or in the official
|
|
|
|
site, you can use anything you like. For example, followings are written
|
|
|
|
in Japanese, but you can download at least.
|
|
|
|
|
|
|
|
* ((<URL:http://homepage1.nifty.com/a_nakata/ruby/>)) or
|
|
|
|
((<icon itself|URL:http://homepage1.nifty.com/a_nakata/ruby/RubyIcon.ico>))
|
|
|
|
|
|
|
|
== Build examples
|
|
|
|
|
|
|
|
* Build on the ruby source directory.
|
|
|
|
|
|
|
|
ex.)
|
|
|
|
ruby source directory: C:\ruby
|
|
|
|
build directory: C:\ruby
|
|
|
|
install directory: C:\usr\local
|
|
|
|
|
|
|
|
C:
|
|
|
|
cd \ruby
|
2003-12-28 12:25:31 -05:00
|
|
|
win32\configure --prefix=/usr/local
|
2000-08-03 05:55:54 -04:00
|
|
|
nmake
|
|
|
|
nmake test
|
2003-12-28 12:25:31 -05:00
|
|
|
nmake install
|
2000-08-03 05:55:54 -04:00
|
|
|
|
|
|
|
* Build on the relative directory from the ruby source directory.
|
|
|
|
|
|
|
|
ex.)
|
|
|
|
ruby source directory: C:\ruby
|
|
|
|
build directory: C:\ruby\mswin32
|
|
|
|
install directory: C:\usr\local
|
|
|
|
|
|
|
|
C:
|
|
|
|
cd \ruby
|
|
|
|
mkdir mswin32
|
|
|
|
cd mswin32
|
2003-12-28 12:25:31 -05:00
|
|
|
..\win32\configure --prefix=/usr/local
|
2000-08-03 05:55:54 -04:00
|
|
|
nmake
|
|
|
|
nmake test
|
2003-12-28 12:25:31 -05:00
|
|
|
nmake install
|
2000-08-03 05:55:54 -04:00
|
|
|
|
|
|
|
* Build on the different drive.
|
|
|
|
|
|
|
|
ex.)
|
|
|
|
ruby source directory: C:\src\ruby
|
|
|
|
build directory: D:\build\ruby
|
|
|
|
install directory: C:\usr\local
|
|
|
|
|
|
|
|
D:
|
|
|
|
cd D:\build\ruby
|
2009-03-04 10:06:39 -05:00
|
|
|
C:\src\ruby\win32\configure --prefix=/usr/local
|
2000-08-03 05:55:54 -04:00
|
|
|
nmake
|
|
|
|
nmake test
|
2009-03-04 10:06:39 -05:00
|
|
|
nmake install DESTDIR=C:
|
2000-08-03 05:55:54 -04:00
|
|
|
|
2007-09-27 04:38:46 -04:00
|
|
|
* Build x64 version (requires native x64 VC++ compiler)
|
|
|
|
|
|
|
|
ex.)
|
|
|
|
ruby source directory: C:\ruby
|
|
|
|
build directory: C:\ruby
|
|
|
|
install directory: C:\usr\local
|
|
|
|
|
|
|
|
C:
|
|
|
|
cd \ruby
|
|
|
|
win32\configure --prefix=/usr/local --target=x64-mswin64
|
|
|
|
nmake
|
|
|
|
nmake test
|
|
|
|
nmake install
|
|
|
|
|
2000-08-03 05:55:54 -04:00
|
|
|
== Bugs
|
|
|
|
|
|
|
|
You can ((*NOT*)) use a path name contains any white space characters as
|
|
|
|
the ruby source directory, this restriction comes from the behavior of
|
|
|
|
(({!INCLUDE})) directives of (({NMAKE})).
|
|
|
|
((- you may call it a bug. -))
|
|
|
|
|
2012-11-12 22:32:06 -05:00
|
|
|
You can build ruby in any directory including the source directory,
|
|
|
|
except (({win32})) directory in the source directory.
|
|
|
|
This is restriction originating in the path search method of (({NMAKE})).
|
|
|
|
|
2000-08-03 05:55:54 -04:00
|
|
|
=end
|