ruby-trunk-changes r48477 - r48496

今日はプロトタイプ宣言などを internal.h にまとめるリファクタリングやその他主にビルドプロセスまわりの変更/修正がありました。

akr: r48477 2014-11-18 23:58:03 +0900

debug.c の set_debug_option() でデバッグオプション用の変数の宣言を関数内に(SET_WHEN() マクロの展開で)していたのをやめて、値の代入だけするようにしています。また SET_WHEN() で代入する値を明示的に引数で受け取って展開するようにして ruby_initial_gc_stress_ptr の型が int* から VALUE* に変化していたのに対応しています。

nobu: r48478 2014-11-19 00:11:03 +0900

NameError や NoMethodError の例外オブジェクトの失敗した定数やメソッド名などの名前を返す name メソッドのテストを追加しています。

svn: r48479 2014-11-19 00:11:07 +0900

version.h の日付更新。

akr: r48480 2014-11-19 00:13:05 +0900

ソースファイル(*.c)で直接宣言していた extern 宣言を internal.h に集めるリファクタリングです。

akr: r48481 2014-11-19 00:24:41 +0900

r48480 の続きで enc/encdb.c で宣言を消したものの internal.h を #include していなかったので追加しています。

akr: r48482 2014-11-19 00:26:44 +0900

tool/update-deps で Makefile から読み込んだ依存関係の行をソートしておくようにしています。

akr: r48483 2014-11-19 00:28:08 +0900

r48482 の tool/update-deps のソートによる common.mk や各種 depend ファイルの依存関係の行を再生成。

nobu: r48484 2014-11-19 04:16:27 +0900

%i{} リテラルの Symbol の配列と %I{} リテラルの時で式の埋め込みが無い時にも %I{} で dynamic symbol を生成するようになっていたので、埋め込みがなければ %i{} を同じ命令を利用するように修正しています。 [ruby-core:66343]

usa: r48485 2014-11-19 04:51:14 +0900

debug.c の set_debug_option() で変数 ruby_w32_rtc_error の extern 宣言が必要とのことで追加しています。また条件コンパイルの条件を win32/win32.c の定義部分と同じものにしています。

nobu: r48486 2014-11-19 05:28:46 +0900

common.mk の変数 $PRELUDE_SCRIPTS および $GEM_PRELUDE の定義で $(srcdir) の prefix をはずしています。 tool/generic_erb.rb でサーチしてくれるので不要とのこと。ビルドプロセス難しい…。

usa: r48487 2014-11-19 07:17:53 +0900

r48486 の common.mk の $(srcdir) 削除で mswin 版のビルドができなくなったようなので revert しています。 また nmake ですかね…。

ko1: r48488 2014-11-19 07:17:54 +0900

gc.c の gc_record() でデバッグ用の出力に major GC か minor GC かのフラグを追加しています。

usa: r48489 2014-11-19 07:46:13 +0900

Windows 版の write() のエミュレーション実装 rb_w32_write() で GetOverlappedResult() を呼んだ直後の errno 生成で前の WriteFile() 呼び出しの結果を格納している変数を参照してしまっていたので、改めて GetLastError() を呼び出すようにしています。

nobu: r48490 2014-11-19 10:08:00 +0900

template/prelude.c.tmpl で {$(VPATH)} の prefix を除去してファイル名相対パスを取得するようにしています。

akr: r48492 2014-11-19 12:55:45 +0900

internal.h の宣言のソースファイル毎のコメントに "(export)" を追記しています。

naruse: r48493 2014-11-19 18:00:33 +0900

ext/ripper/ripper.c の生成時に make の VPATH 変数にカレントディレクトリ(ビルドディレクトリ)を渡して、y.tab.c の生成場所をこれで指定するようにしています。

naruse: r48494 2014-11-19 18:15:04 +0900

tool/downloader.rb で RubyGems のパッケージダウンロードの時はファイルが既にあれば再度ダウンロードしないようにしています。 gem パッケージはバージョンでファイル名も異なるので更新されるということがないはずなので。

naruse: r48495 2014-11-19 20:38:46 +0900

r48493 の common.mk の変更でカレントディレクトリの取得に pwd コマンドを呼び出していたのを $(PWD) 変数参照に修正しています。

naruse: r48496 2014-11-19 21:12:22 +0900

拡張ライブラリ json の parser.c を再生成するルールは common.mk から削除しています。 json は upstream のリポジトリのある拡張ライブラリなので、ソース生成はそっちでやったものを使いましょう、ということだと思います。