ruby-trunk-changes r43274 - r43282

今日は拡張ライブラリの静的リンクした時の不具合修正などがありました。

charliesome:r43274 2013-10-13 23:53:40 +0900

2の補数のコメントのスペルミスを修正しています。 https://github.com/ruby/ruby/pull/422

nobu:r43275 2013-10-14 11:07:19 +0900

標準ライブラリ mkmf.rb で ranlib の実行のコマンドラインで引数を $(DLLIB) にしていたのを static library に修正しています。よく動いていたなぁと思いましたが手元だと RbConfig::CONFIG["RANLIB"] は nil だったので ranlib を実行する環境があまりなかったから気がつかなかったのかもしれません。

svn:r43276 2013-10-14 11:07:24 +0900

version.h の日付更新。

nobu:r43277 2013-10-14 11:07:51 +0900

標準添付ライブラリ mkmf.rb で Mac OS X の時に -framework オプションを追加する変数を $LDFLAGS から $LIBS に修正しています。 configure --enable-static-linked-ext で拡張ライブラリを静的リンクした時にもオプションが引き継がれるようにしているそうです。

nobu:r43278 2013-10-14 12:22:24 +0900

configure に --disable-rubygems を指定された時にはインタプリタに組込まれる起動時に実行される ruby スクリプトである prelude から RubyGems の読み込みは削除して、--enable=gems オプションが指定されたら require "rubygems" を実行するだけにしていたのを、常に prelude に RubyGems 関係の初期化を用意しておいて、デフォルトのオプションの値を変更するだけにするようにしています。 gem_prelude.rb も Gem が定義されていたら require "rubygems" を呼ぶだけなので、何が違うのかいまひとつわかりませんでしたが、違わないから同じ方法にしたということでしょうか。

nobu:r43279 2013-10-14 12:31:29 +0900

ChangeLog の日付のフォーマットを修正しています。

nobu:r43280 2013-10-14 12:32:54 +0900

静的リンクした拡張ライブラリの初期化関数を呼ぶ Init_ext() を require_libraries() から process_options() の rubygems の読み込み前に実行するようにしています。 rubygems で thread など一部の拡張ライブラリに依存しているためだと思われます。移動前のコメントに "should be called here for some reason :-(" とか書いてあるので一抹の不安がありますね。 some reason ってなんだろ。

nobu:r43281 2013-10-14 13:51:23 +0900

include/ruby/win32.h に fstati64() のプロトタイプ宣言を追加しています。 w64-mingw 環境で ext/-test-/file/stat.c のコンパイルで警告が発生するのでそれを抑制するためとのこと。

nobu:r43282 2013-10-14 17:00:22 +0900

r43278 の configure の修正を win32/Makefile.sub でも追随して常に gem_prelude.rb を利用するようにしています。