Ruby for OpenVMS Alpha X1.8-1X014は,Ruby 1.8.1 2003年12月25日版のソースを元にビルドされています。
Ruby 1.8.1標準添付されているライブラリのうち,Rubyで書かれたライブラリについてはすべて収録されています。ただしテストされているわけではありません。
Ruby 1.8.1に標準添付されている拡張ライブラリのうち,socketのみがキットに収録されています。内部でsocketを呼び出しているライブラリ(たとえば,net/http)も使用可能です。
socket以外のライブラリは将来のリリースで順次添付していく予定です。
標準のインストール位置はSYS$COMMON:[RUBY]以下です。
[RUBY] | Rubyインタプリタが置かれます。 |
[RUBY.LIB] | ライブラリが配置されます。論理名RUBY_LIBROOTがここを指しています。 |
[RUBY.SRC] | 拡張ライブラリの作成に必要なファイルが置かれます。現在はruby.hのみが提供されています。 |
requireが読み込むファイルや起動する拡張ライブラリの位置はグローバル変数 $: に保持されています。論理名 RUBY_LIBROOTが指しているディレクトリからの相対位置として定義されています。このほか,論理名 RUBYLIB によって指定されたディレクトリを探索対象に含めることができます。
詳細は,グローバル変数 $: の値を見てください。(ruby -e "puts $:")
$ ruby -e "puts $:" /RUBY_LIBROOT/site_ruby/018 /RUBY_LIBROOT/site_ruby/018/alpha-vms /RUBY_LIBROOT/site_ruby /RUBY_LIBROOT/018 /RUBY_LIBROOT/018/alpha-vms
Rubyの実行に必要な論理名を設定します。SYS$STARTUPに置かれます。システムマネージャは,システムの起動時にこのコマンドプロシージャが実行されるよう,SYS$STARTUP:SYSTARTUP_VMS.COMを書き換えておく必要があります。
Ruby for OpenVMSは次の論理名を使用します。(*印がついているものは,RUBY_STARTUP.COMで定義されるものです。)
論理名 | 等価名 (初期値) | 備考 |
---|---|---|
RUBY_ROOT | SYS$COMMON:[RUBY] | * |
RUBY | RUBY_ROOT:RUBY.EXE | * |
RUBYSHR | RUBY_ROOT:RUBYSHR.EXE | * |
RUBY_LIBROOT | RUBY_ROOT:[LIB] | * |
RUBYLIB | なし | requireが探索するディレクトリを設定する。UNIX形式のディレクトリ表記で書くこと。 |
TBD (いろいろあります)
TBD
ruby.hを使ってコンパイルして,RUBYSHR.EXEとリンクするような感じです。拡張ライブラリ側のエントリポイントを知らせるためのoption fileを記述する必要があります。(そのうちもっと詳しく書きます。)