ruby-trunk-changes r56062 - r56069

今日も主に bundled gem の拡張ライブラリのビルドのための修正が続いています。

sho-h: r56062 2016-09-04 00:21:43 +0900

Object#define_singleton_method と main.define_method (main はトップレベルオブジェクト)の rdoc 用メソッドの戻り値の記述を Symbol を返すように修正しています。

svn: r56063 2016-09-04 00:21:44 +0900

version.h の日付更新。

nobu: r56064 2016-09-04 13:44:06 +0900

ext/extmk.rb で bundled gem の拡張ライブラリのタイムスタンプファイルと TARGET_SO_DIR の置換時に target_prefix 変数を反映させるようにしています。

nobu: r56065 2016-09-04 13:56:56 +0900

r56064 の再修正で timestamp_file のほうは make に展開させるのではなくてその場で変数展開して埋め込むようにしています。なるほど?

nobu: r56066 2016-09-04 14:05:20 +0900

さらに ext/extmk.rb の bundled gem の拡張ライブラリ用の変更で、もう TARGET_GEM_DIR っていう変数を(生成する Makefile 内で)宣言して使いまわすようにしています。そして gem.build_complete というビルド完了を示すファイルを TARGET_SO_DIR ではなくこの TARGET_GEM_DIR の下に置くようにしています。

nobu: r56067 2016-09-04 14:27:48 +0900

ext/extmk.rb の create_makefile で gem.build_complete ファイルを生成するルールを作るのは TARGET 変数の代入がある時だけにしています。拡張ライブラリのない時に生成しないようにするため?

nobu: r56068 2016-09-04 15:15:58 +0900

tool/rbinstall.rb で bundled gem の gemspec を読み込むのに Gem::Specification.each_spec を使ってファイルの読み込みまで行なっていたのを、Gem::Specification.each_gemspec を使ってファイルパスを受け取って Dir.chdir してから gemspec ファイルの読み込みを行なうようにしています。 gemspec ファイル内でさらファイル読み込みをしているケースを考慮してのことだそうです。json がそういうことをしているらしいです。

nobu: r56069 2016-09-04 15:25:38 +0900

tool/rbinstall.rb で bundled gems の拡張ライブラリ用の処理を行なうのは CRuby(MRI)用の gem パッケージのみにしています。これも json 用で JRuby 用のパッケージもあったりするので。