ruby-trunk-changes r51749 - r51759

今日は主にビルドプロセスの修正がありました。

nobu: r51749 2015-09-03 23:27:31 +0900

configure.in で HAVE_BASERUBY が yes の場合 BOOTSTRAPRUBY として BASERUBY を使うようにしています。クロスコンパイルでない時は miniruby を使っていて BASERUBY に依存しないようになってたのですが、あればそっちを使うようにしているようです。

nobu: r51750 2015-09-04 00:17:25 +0900

Queue#close の rdoc 用コメントの typo 修正。

svn: r51751 2015-09-04 00:18:22 +0900

version.h の日付更新。

nobu: r51752 2015-09-04 00:38:13 +0900

r51749 の BOOTSTRAPRUBY に BASERUBY があればそれを使う修正の追加。BASERUBY を利用するには fake.rb が必要だったので PREP に追加して BOOTSTRAPRUBY には -r./$(arch)-fake をオプションに追加しています。

nobu: r51753 2015-09-04 01:30:20 +0900

と思ったら r51752 の BOOTSTRAPRUBY に fake.rb をロードさせる変更は revert されていました。

nobu: r51754 2015-09-04 01:30:40 +0900

template.h.tmpl でテンプレート内で RbConfig::MAKEFILE_CONFIG をロードするところで無名モジュールを使って別の定数に rbconfig.rb の内容をロードして参照するようにしています。 BOOTSTRAPRUBY が BASERUBY の場合があるので、既に定義されている RbConfig の定数を上書きしてしまうのをさけるためですかね。

ko1: r51755 2015-09-04 04:48:12 +0900

iseq の TypedData としても memsize 関数を引数が const rb_iseq_t* な関数として定義して、rb_data_type_t の memsize メンバとしては引数が void * な wrapper 関数を定義してそっちを渡すようにリファクタリングしています。

nobu: r51756 2015-09-04 12:54:23 +0900

r40537 のテスト用の拡張ライブラリなどを拡張ライブラリの静的リンクの時には除外するための変更を extmk.rb から標準添付ライブラリの mkmf.rb に移動しています。

nobu: r51757 2015-09-04 12:54:29 +0900

標準添付ライブラリ mkmf で RbConfig::CONFIG の top_srcdir というキーもスキップして読み込まないようにしています。

hsbt: r51758 2015-09-04 17:46:22 +0900

doc/contributing.rdoc のインストールのためのコマンドの例で $HOME を ${HOME} としています。 https://github.com/ruby/ruby/pull/1009

nobu: r51759 2015-09-04 19:06:49 +0900

tool/fake.rb で $extmk が真の時は $ruby に BASERUBY のかわりに miniruby を利用するようにしています。 拡張ライブラリのビルドの時の extconf.rb の実行はインストールしようとしている ruby でないと RbConfig の値などを参照しているときにうまくいかないといったことでしょうか。