mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			145 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
	
		
			4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| # -*- rdoc -*-
 | |
| 
 | |
| = How to build ruby using Visual C++
 | |
| 
 | |
| == Requirement
 | |
| 
 | |
| 1.  Windows 7 or later.
 | |
| 
 | |
| 2.  Visual C++ 12.0 (2013) or later.
 | |
| 
 | |
|     [Note] if you want to build x64 version, use native compiler for
 | |
|            x64.
 | |
| 
 | |
| 3.  Please set environment variable +INCLUDE+, +LIB+, +PATH+
 | |
|     to run required commands properly from the command line.
 | |
| 
 | |
|     [Note] building ruby requires following commands.
 | |
|     * nmake
 | |
|     * cl
 | |
|     * ml
 | |
|     * lib
 | |
|     * dumpbin
 | |
| 
 | |
| 4.  If you want to build from GIT source, following commands are required.
 | |
|     * bison
 | |
|     * patch
 | |
|     * sed
 | |
|     * ruby 2.0 or later
 | |
| 
 | |
| 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
 | |
|     <tt>/E:ON</tt> option.
 | |
| 
 | |
| == How to compile and install
 | |
| 
 | |
| 1.  Execute win32\configure.bat on your build directory.
 | |
|     You can specify the target platform as an argument.
 | |
|     For example, run `<tt>configure --target=i686-mswin32</tt>'
 | |
|     You can also specify the install directory.
 | |
|     For example, run `<tt>configure --prefix=<install_directory></tt>'
 | |
|     Default of the install directory is /usr .
 | |
|     The default _PLATFORM_ is `+i386-mswin32_+_MSRTVERSION_' on 32-bit
 | |
|     platforms, or `+x64-mswin64_+_MSRTVERSION_' on x64 platforms.
 | |
|     _MSRTVERSION_ is the 2- or 3-digits version of the Microsoft
 | |
|     Runtime Library.
 | |
| 
 | |
| 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 `<tt>nmake up</tt>' if you are building from GIT source.
 | |
| 
 | |
| 4.  Run `<tt>nmake</tt>'
 | |
| 
 | |
| 5.  Run `<tt>nmake exam</tt>'
 | |
| 
 | |
| 6.  Run `<tt>nmake install</tt>'
 | |
| 
 | |
| == 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.
 | |
| 
 | |
| * http://homepage1.nifty.com/a_nakata/ruby/ or
 | |
|   {icon itself}[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
 | |
|     win32\configure --prefix=/usr/local
 | |
|     nmake
 | |
|     nmake exam
 | |
|     nmake install
 | |
| 
 | |
| * 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
 | |
|     ..\win32\configure --prefix=/usr/local
 | |
|     nmake
 | |
|     nmake exam
 | |
|     nmake install
 | |
| 
 | |
| * 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
 | |
|     C:\src\ruby\win32\configure --prefix=/usr/local
 | |
|     nmake
 | |
|     nmake exam
 | |
|     nmake install DESTDIR=C:
 | |
| 
 | |
| * 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 exam
 | |
|     nmake install
 | |
| 
 | |
| == Bugs
 | |
| 
 | |
| You can *NOT* use a path name that contains any white space characters as
 | |
| the ruby source directory, this restriction comes from the behavior of
 | |
| <code>!INCLUDE</code> directives of +NMAKE+.
 | |
| 
 | |
| 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+.
 | 
