[#7300] resolver を呼ばない UDPsocket#recvfrom — Toshihiko SHIMOKAWA / 下川俊彦 <toshi@...>

あんまり ruby-dev な話でも無いのですが、ちょっとした機能拡張の提案なので、

12 messages 1999/07/12
[#7321] Re: resolver を呼ばない UDPsocket#recvfrom — Toshihiko SHIMOKAWA / 下川俊彦 <toshi@...> 1999/07/15

From: Toshihiko SHIMOKAWA / 下川俊彦 <toshi@csce.kyushu-u.ac.jp>

[#7313] Ruby 1.3.5 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.5 is out, check out:

59 messages 1999/07/15
[#7318] Re: Ruby 1.3.5 — WATANABE Hirofumi <watanabe@...> 1999/07/15

わたなべです.

[#7326] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/15

青山です。

[#7331] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/16

まつもと ゆきひろです

[#7340] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/16

青山です。

[#7368] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/19

まつもと ゆきひろです

[#7373] Re: Ruby 1.3.5 — Shin-ichiro Hara <sinara@...> 1999/07/19

原です。

[#7374] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/19

まつもと ゆきひろです

[#7382] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/19

青山です。

[#7386] Re: Ruby 1.3.5 — matz@... (Yukihiro Matsumoto) 1999/07/21

まつもと ゆきひろです

[#7388] Re: Ruby 1.3.5 — Wakou Aoyama <wakou@...> 1999/07/21

青山です。

[#7387] [PATCH]extconf.rb, tcltklib.c, and rubytest.rb for NetBSD — Ryo HAYASAKA <hayasaka@...21.u-aizu.ac.jp>

早坂@会津大学です。

10 messages 1999/07/21

[#7466] [PATCH] for djgpp — WATANABE Hirofumi <watanabe@...>

わたなべです.

21 messages 1999/07/29
[#7467] Re: [PATCH] for djgpp — Katsuyuki Komatsu <komatsu@...> 1999/07/29

小松です。

[ruby-dev:7430] [PATCH] mswin32 support

From: Katsuyuki Komatsu <komatsu@...>
Date: 1999-07-27 04:04:55 UTC
List: ruby-dev #7430
小松です。

mswin32対応です。
だいたいよさそうなので、出してしまいます。
patchは1999/7/22のcheckinに対するdiffです。

1.  instruby.rb
    mswin32の場合、win32/win32.hもインストールする必要があった
    ので、インストール先にwin32ディレクトリを作ってそこに
    インストールするように変更した。
    また、rubymw.libもインストールする必要があった。

2.  mkconfig.rb
    win32/config.statusに、
	s%@MAJOR@%1%g
	s%@MINOR@%3%g
	s%@TEENY@%5%g
    を入れるとリリース毎に書き換える必要があって面倒だし、
    自動的に生成させるにはmswin32の環境で存在を仮定できる
    ツールはほとんどないので、rbconfig.rbを作成する際に、
    config.statusにMAJOR, MINOR, TEENYが無ければ
    mkconfig.rbが、VERSION (現在1.3.5) から、
	CONFIG["MAJOR"] = "1"
	CONFIG["MINOR"] = "3"
	CONFIG["TEENY"] = "5"
    のような行を生成して追加するようにした。

3.  ext/extmk.rb.in
    SRC_EXTに"m"と"cpp"を追加した。
    $OBJEXTを導入した。
    mswin32で、$local_flagsを使用するようにした。
    append_library()を追加した。
    ext/Setupがある場合、"miniruby -Xext extmk.rb static"の後の
    cleanで、Setupにのっていない物はmake cleanが呼ばれないのを
    修正した。

4.  ruby/ext/extmk.rb.nt
    SRC_EXTを導入した。
    $OBJEXTを導入した。
    append_library()を追加した。
    $topdirの設定で、
	$topdir = File.expand_path("..")
	$topdir = File.expand_path($topdir)
    としているが、ドライブ名が相対パスとみなされてうまく動作
    しないため、
	$topdir = File.expand_path("..")
    のみに変更した。
    LINKとCPPの"> nul"があると、Windows 98ではxsystem()の
    結果が常にtrueとなってしまうため削除した。
    LINKとCPPの"-Zi -O"はvc60.pdbが残ってしまうので削除した。
    have_library(), have_func()のテストコードを変更した。
    install_rb()を他と合わせた。
    $libsをnilから""で初期化するようにしたextmk.rb.inの変更を反映した。
    have_func()の中の消し忘れを削除した。
    dependの".o"を".#{$OBJEXT}"に置換するようにした。
    $makeを導入した。
    extmk.rb.inに合わせてinstallにftoolsを使用するようにした。
    $"が"win32api.so"になるのがいやなので、Dir["*"]の結果よりも
    extconf.rbのcreate_makefile()の引数の方を優先するようにした。
    ext/Setupがある場合、"miniruby -Xext extmk.rb static"の後の
    cleanで、Setupにのっていない物はmake cleanが呼ばれないのを
    修正した。

5.  ext/socket/extconf.rb
    "*.o"を"*.#{$OBJEXT}"で置き換えた。

6.  lib/ftools.rb
    Windows 98で0555でインストールしたファイルを更新できなかった
    ので、install()のunlinkをsafe_unlinkに変更した。

7.  lib/mkmf.rb
    SRC_EXTを導入した。
    $OBJEXTを導入した。
    append_library()を追加した。
    have_library(), have_func()のテストコードをmswin32かどうか
    で振り分けるようにした。
    mswin32で、$local_flagsを使用するようにした。

8.  win32/Makefile
    installの./miniruby.exeを.\miniruby.exeに変更した。
    ([ruby-dev:6811]の小田さんのパッチの一部の適用もれみたいです)
    cleanの"2> nul || true"を削除した。

9.  win32/config.status
    最新のconfigure.inの出力するconfig.statusとwin32/Makefileに
    合わせるように修正した。

動作確認は、以下の2プラットフォームのみ行いました。

    Windows 98 + Visual C++ 6.0 SP3
	cd win32
	ntsetup
	nmake
	nmake test
	nmake install

    Solaris 2.5.1 + egcs-1.1.2:
	env CFLAGS='-O2' ../configure \
	--with-readline-dir=/usr/local --with-make-prog=gmake
	gmake
	gmake test
	sudo gmake install

p $"は以下のような感じです。

C:\lang\ruby-1.3.5>ruby -ve 'p $"'
ruby 1.3.5 (1999-07-15) [i386-mswin32]
["marshal.so", "fcntl.so", "md5.so", "nkf.so", "sdbm.so", "socket.so", "tkutil.s
o", "Win32API.so"]

C:\lang\ruby-1.3.5>

--
小松克行 / Katsuyuki Komatsu <komatsu@sarion.co.jp>

Attachments (1)

mswin32.diff.gz (7.98 KB, Archive)

In This Thread

Prev Next