[#615] [MethodIndex] <!-- hhmts ... — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

13 messages 1997/10/01

[#645] pack/unpack base64 — WATANABE Hirofumi <watanabe@...>

わたなべです.

18 messages 1997/10/06

[#654] [BUG?] ruby -r nothing-file — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

29 messages 1997/10/06
[#661] Re: [BUG?] ruby -r nothing-file — matz@... (Yukihiro Matsumoto) 1997/10/07

まつもと ゆきひろです

[#662] Re: [BUG?] ruby -r nothing-file — WATANABE Hirofumi <watanabe@...> 1997/10/07

わたなべです.

[#663] Re: [BUG?] ruby -r nothing-file — matz@... (Yukihiro Matsumoto) 1997/10/07

まつもと ゆきひろです

[#666] Re: [BUG?] ruby -r nothing-file — keiju@... (石塚圭樹 ) 1997/10/07

けいじゅ@日本ラショナルソフトウェアです.

[#667] Re: [BUG?] ruby -r nothing-file — matz@... (Yukihiro Matsumoto) 1997/10/07

まつもと ゆきひろです

[#669] Re: [BUG?] ruby -r nothing-file — keiju@... (石塚圭樹 ) 1997/10/07

けいじゅ@日本ラショナルソフトウェアです.

[#670] Re: [BUG?] ruby -r nothing-file — matz@... (Yukihiro Matsumoto) 1997/10/07

まつもと ゆきひろです

[#671] Re: [BUG?] ruby -r nothing-file — keiju@... (石塚圭樹 ) 1997/10/07

けいじゅ@日本ラショナルソフトウェアです.

[#672] Re: [BUG?] ruby -r nothing-file — matz@... (Yukihiro Matsumoto) 1997/10/07

まつもと ゆきひろです

[#673] Re: [BUG?] ruby -r nothing-file — WATANABE Hirofumi <watanabe@...> 1997/10/07

わたなべです.

[#674] Re: [BUG?] ruby -r nothing-file — matz@... (Yukihiro Matsumoto) 1997/10/07

まつもと ゆきひろです

[#675] Re: [BUG?] ruby -r nothing-file — WATANABE Hirofumi <watanabe@...> 1997/10/07

わたなべです.

[#676] Re: [BUG?] ruby -r nothing-file — keiju@... (石塚圭樹 ) 1997/10/07

けいじゅ@日本ラショナルソフトウェアです.

[#677] Re: [BUG?] ruby -r nothing-file — matz@... (Yukihiro Matsumoto) 1997/10/07

まつもと ゆきひろです

[#678] Re: [BUG?] ruby -r nothing-file — keiju@... (石塚圭樹 ) 1997/10/07

けいじゅ@日本ラショナルソフトウェアです.

[#679] Re: [BUG?] ruby -r nothing-file — matz@... (Yukihiro Matsumoto) 1997/10/07

まつもと ゆきひろです

[#770] printn means print and newline — HYOUDOU Kouichi /note <hyoudo@...>

兵藤です%思い付きなのですが

19 messages 1997/10/28
[#771] Re: printn means print and newline — shugo@... (Shugo Maeda) 1997/10/28

前田です。

[ruby-dev:653] version.c and MultiArchitectureBinary

From: HYOUDOU Kouichi /note <hyoudo@...>
Date: 1997-10-06 16:43:45 UTC
List: ruby-dev #653
兵藤です% 話せば長くなるのですが

rubyのコンパイルではconfigureのときに--hostオプションで
CPU, Hardware Vender, OS を指定して、これを元に
--versionオプションで表示される文字列がversion.cに
またダイナミックリンクライブラリのパス名としてruby.cに
それぞれ埋め込まれますが
この値(名前)は任意のものに変更してもよいのでしょうか ?
それともconfigureスクリプトで制限される値に限るべきでしょうか ?

なぜかというとnextstep(とopenstep for mach)は複数のCPU環境が
市販されていて、NFSなどで実行バイナリを共有できるように
1つのバイナリファイル中に複数のCPUタイプ用のファイルを統合できて
このファイル(MAB: Multi Architecture Binary)はコンパイル後に
ユーザーの手でMABの構成を変更することができるので
CPUタイプをコンパイル時に決定できず
決定できたとしても複数のCPUタイプを持つからです

たとえばrubyを4MABでコンパイルすると
% lipo -info ruby
Architectures in the fat file: ruby are: m68k i486 hppa sparc

これをモトローラとインテルのみにするには
% lipo ruby -remove hppa -remove sparc -output X
% mv X ruby
% lipo -info ruby
Architectures in the fat file: ruby are: m68k i486

このようにCPUタイプが「コンパイル時に決定できる」「1タイプのみ」を
前提とした方法ではversion表示をうまく表現できません
ruby-1.0-970919のパッケージでは暫定的に
% ruby --version
ruby - version 1.0-970919 (m68k-nextstep3)

としていましたがこれをIntelマシンなどで実行するのは違和感がありますし
ダイナミックリンクライブラリはMABであるのにかかわらず
/usr/local/lib/ruby/m68k-nextstep3
にのみ配置されるのも不自然です

そこで、もし他に差し支えがないのならnextstep(とopenstep for mach)
ではCPUタイプとしてCPU名ではなくmachなどCPUを特定しない名称を
使えないものでしょうか ?

--versionの出力を使ってCPUタイプを判定すること(判定してCPUに依存した
動作をすること)はできなくなりますが、すでにnextstepではこれはできない
ことなので実害はないものとおもいます



ruby-1.0-971003のバイナリパッケージ(作成中)ではconfigure後に
config.hを手で書き換える方法で仮に
% ruby --version
ruby - version 1.0-971003 (mach-nextstep)

としてみましたが、これはmachの機能ではない(machの機能は利用していますが :-p)
ので、別の名称のほうがよいかもしれませんが
openstepにはopenstep for machとopenstep for sparc,openstep for NTがある
らしくて、MABの機能はopenstep for mach* にしかないはずなので
その区別のためにはCPUタイプのかわりにmachを入れるとよいのではないかなぁと
おもったのでそうしてみました


(注*)
ややこしいのですがnextstep3.xが4.xになる時にopenstep for mach 4.1になり
このfor mach版がm68k,intel,hppa,sparcで動き、mach版にはMAB機能があります
machカーネル以外でも動くように移植されたのがfor sparc(Solarisで動く)と
for NT(WindowsNTのカーネルで動く)です


---
予定調和・・・ (エルフを狩るモノたち)
hyoudo@kcn.or.jp http://www.kcn.or.jp/~hyoudo/nextstep/ 兵藤公一

In This Thread

Prev Next