ruby-trunk-changes r56045 - r56050

今日は bundled gem の拡張ライブラリのビルドのための ext/mkext.rb と mkmf.rb の対応がありました。mkmf.rb は標準添付ライブラリなんですがだいぶ ext/mkext.rb 特有の処理も侵食してきていて複雑ですね。

nobu: r56045 2016-08-31 11:03:07 +0900

ext/extmk.rb で bundled gems のパッケージの拡張ライブラリも configure 時の --with-xxx オプションの指定がきくようにしています。

nobu: r56046 2016-08-31 11:41:31 +0900

標準添付ライブラリ mkmf.rb で自動生成系のファイルの依存関係のために作るタイムスタンプファイルはアーキテクチャ毎に作るようにしています。

nobu: r56047 2016-08-31 15:36:12 +0900

ext/extmk.rb で extmake で create_makefile にブロックを渡して処理を挿入していた TARGET_SO_DIR や TARGET_SO_TIME という変数を Makefile に挿入する処理を extmk.rb から標準添付ライブラリ mkmf.rb に移動しています。 そしてビルドした拡張ライブラリは ext/extmk.rb で $sodir というグローバル変数がセットされていたらその下に置くようにしています。拡張ライブラリを含む gem パッケージ用にセットしているみたいですね。 ext/extmk.rb と mkmf.rb の間のグローバル変数を介した依存関係がすごい…。 [ruby-core:77058] [Bug #12681]

nobu: r56048 2016-08-31 17:39:23 +0900

ext/extmk.rb で bundled gem の Makefile を生成する時に install-so ターゲットから gem.build_complete というファイルを $(TARGET_SO) ディレクトリに置くようにしています。 ビルドされた gem のみ make install 時にインストールするようにするための対応みたいです。 [ruby-core:77057] [Bug #12681]

nobu: r56049 2016-08-31 20:20:45 +0900

r56047 の再修正。 mkmf.rb で sodir が空文字列の場合に対応するようにしています。 [ruby-core:77058] [Bug #12681]

nobu: r56050 2016-08-31 20:27:24 +0900

r56047 の再修正。 ext/extmk.rb で $extout が指定されている場合に make install のインストール先を $(RUBYARCHDIR) を参照するようにしています。 [ruby-core:77058] [Bug #12681]