ruby/wince
uema2 32bd3c5679 * wince/setup.mak: set SUBSYSTEM in each platform.
* wince/stdlib.c: fix mblen() bug.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2003-06-08 04:38:06 +00:00
..
sys * wince/ : files removed. 2003-04-26 05:25:30 +00:00
Makefile.sub * bcc32/Makefile.sub, win32/Makefile.sub, wince/Makefile.sub 2003-06-05 09:38:01 +00:00
README.wince * wince/ : files removed. 2003-04-26 05:25:30 +00:00
assert.c * wince/ : files removed. 2003-04-26 05:25:30 +00:00
assert.h * wince/ : files removed. 2003-04-26 05:25:30 +00:00
configure.bat * wince/Makefile.sub: add eMbedded Visual C++ 4.0 support. 2003-05-24 09:17:35 +00:00
direct.c * wince/ : files removed. 2003-04-26 05:25:30 +00:00
direct.h * file.c (utimbuf): use utimbuf instead of _utimbuf if defined _WIN32. 2003-01-04 18:17:30 +00:00
errno.c WinCE patch merged 2002-12-02 07:57:17 +00:00
errno.h WinCE patch merged 2002-12-02 07:57:17 +00:00
fcntl.h WinCE patch merged 2002-12-02 07:57:17 +00:00
io.h * wince/ : files removed. 2003-04-26 05:25:30 +00:00
io_wce.c * wince/ : files removed. 2003-04-26 05:25:30 +00:00
mkexports.rb * wince/Makefile.sub: add eMbedded Visual C++ 4.0 support. 2003-05-24 09:17:35 +00:00
process.h * wince/ : files removed. 2003-04-26 05:25:30 +00:00
process_wce.c * wince/ : files removed. 2003-04-26 05:25:30 +00:00
resource.rb * wince/string_wce.c: add strpbrk() for hpcpro support. 2003-06-01 04:44:45 +00:00
setup.mak * wince/setup.mak: set SUBSYSTEM in each platform. 2003-06-08 04:38:06 +00:00
signal.h WinCE patch merged 2002-12-02 07:57:17 +00:00
signal_wce.c * wince/ : files removed. 2003-04-26 05:25:30 +00:00
stddef.h WinCE patch merged 2002-12-02 07:57:17 +00:00
stdio.c * wince/ : files removed. 2003-04-26 05:25:30 +00:00
stdlib.c * wince/setup.mak: set SUBSYSTEM in each platform. 2003-06-08 04:38:06 +00:00
string_wce.c * wince/string_wce.c: add strpbrk() for hpcpro support. 2003-06-01 04:44:45 +00:00
time.h * wince/ : files removed. 2003-04-26 05:25:30 +00:00
time_wce.c * wince/ : files removed. 2003-04-26 05:25:30 +00:00
varargs.h WinCE patch merged 2002-12-02 07:57:17 +00:00
wince.c * wince/ : files removed. 2003-04-26 05:25:30 +00:00
wince.h * wince/ : files removed. 2003-04-26 05:25:30 +00:00
wincemain.c * wince/ : files removed. 2003-04-26 05:25:30 +00:00
wincon.h WinCE patch merged 2002-12-02 07:57:17 +00:00
winsock2.c WinCE patch merged 2002-12-02 07:57:17 +00:00

README.wince

=begin

= How to build ruby using eMbedded Visual C++

== Requirement

(1) eMbedded Visual C++ 3.0 or later.

(2) If you want to run `((%nmake clean%))' or `((%nmake distclean%))'
    properly, you must install UNIX compatible `((%rm%))' command on
    your ((|PATH|)) if you want to clean after compile.

(3) Please set environment variable (({INCLUDE})), (({LIB})), (({PATH})),
    (({CE_TOOLS_DIR})), (({EMBEDDED_TOOLS_DIR})) to run required commands
    properly from the command line.

    Note: building ruby requires following commands.
     * nmake
     * clarm or clmips or shcl
     * lib
     * dumpbin

== How to compile and install

(1) Execute wince\configure.bat on your build directory.
    You can specify the target platform as an argument.
    For example, run `((%configure arm-hpc2k-wince%))'

(2) Change ((|RUBY_INSTALL_NAME|)) and ((|RUBY_SO_NAME|)) in (({Makefile}))
    if you want to change the name of the executable files. 

(3) Run `((%nmake%))'

(4) Run `((%nmake DESTDIR=<install_directory> install%))'

    This command will create following directories and copy (not install :-P)
    files onto them.
      * <install_directory>\bin
      * <install_directory>\lib
      * <install_directory>\lib\ruby
      * <install_directory>\lib\ruby\<MAJOR>.<MINOR>
      * <install_directory>\lib\ruby\<MAJOR>.<MINOR>\<PLATFORM>
      * <install_directory>\lib\ruby\site_ruby
      * <install_directory>\lib\ruby\site_ruby\<MAJOR>.<MINOR>
      * <install_directory>\lib\ruby\site_ruby\<MAJOR>.<MINOR>\<PLATFORM>
      * <install_directory>\man\man1
    If Ruby's version is `x.y.z', the ((|<MAJOR>|)) is `x' and the ((|<MINOR>|)) is `y'.
    In case of `mips-hpc2k-wince', The ((|<PLATFORM>|)) is `(({mips-mswince}))'.

(5) Copy <install_directory> to your WindowsCE machine.

== 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://member.nifty.ne.jp/ueivu/rubyico.html>)) or
  ((<zipped icons|URL:http://member.nifty.ne.jp/ueivu/Ruby_ico.zip>))
* ((<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
    win32\configure
    nmake
    nmake DESTDIR=/usr/local 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
    nmake
    nmake DESTDIR=/usr/local 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
    nmake
    nmake DESTDIR=C:/usr/local install

== 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. -))

=end