ruby-trunk-changes 2019-08-26

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

[11f7c30fa7] Yusuke Endoh 2019-08-25 13:11:49 UTC

configure で Intelコンパイラ icc かどうかのチェックをコマンド名(CC)が icc の時だけチェックしてたのを cc -E -xc の結果を常にみるように変更しています。

[365e5b38a9] Yusuke Endoh 2019-08-25 14:08:13 UTC

11f7c30fa7812388b8919453b92fdf5613db22dd の続きで icc の出力の sed での変換でコンパイラに渡した行を削っておくようにしています。

[71d97a5ef8] Jeremy Evans 2019-08-25 17:52:58 UTC

sample/drb/ の配下のサンプルコードの修正。 [ruby-core:80679] [Bug #13431]

[e496e96547] Jeremy Evans 2019-08-25 19:50:19 UTC

Enumerable#sum の rdoc 用コメントに Range#each を再定義しても最適化されてるので sum の結果には影響しないよということが追記されています。なるほどそうなのか。 [ruby-core:81847] [Bug #13700]

[b4dfac2c12] Jeremy Evans 2019-08-25 19:53:15 UTC

misc/expand_tabs.rb で git blame の行頭の commit hash が全て 0 の行を検出するのに正規表現を使っていたのを String#start_with? を使うように修正しています。 Jeremy の手元では Encoding まわりのエラーが起きたそうです。

[5e10cb04e8] Nobuyoshi Nakada 2019-08-26 02:04:11 UTC

configure で macOS の時に CC の指定のコンパイラに対応する C++コンパイラのコマンド名を決める時に既に CXX 変数で指定されてたらそれを尊重するようにし、また CC にフルパスが指定されていた時にそのパスが /usr/bin 以外でも受け付けるようにしています。

[4448d58642] git 2019-08-26 02:08:30 UTC

version.h の日付更新

[fa6c1b06ad] Nobuyoshi Nakada 2019-08-26 02:58:55 UTC

retry_fork_async_signal_safe() の変数 waitpid_lock_init の宣言に volatile 修飾子を追加して clobbered 警告除去。連続した #ifdef HAVE_WORKING_FORK の分岐を1つにまとめる変更も一緒にされてますがこれはついでだと思います。

[48131a4673] 卜部昌平 2019-08-23 01:10:59 UTC

template/Doxyfile.tmpl で doxygen でのドキュメント化から生成されたヘッダ rb_mjit_header.h は除外するように指定を追加しています。

[5e86b005c0] 卜部昌平 2019-08-23 03:14:06 UTC

process.c の rb_ensure() に渡すコールバック関数 p_uid_sw_ensure() と p_gid_sw_ensure() の引数が VALUE でなく rb_uid_t/rb_gid_t になっていたので VALUE に変更し、関数内で明示的にキャストするようにしています。VALUE と型のサイズが違う可能性があるのでその場合おかしなことになるので。

[1581249de3] Nobuyoshi Nakada 2019-08-26 04:09:48 UTC

defs/gmake.mk に in-srcdir というマクロ(この記法は Makefile のマクロ定義らしい)を作って、不要な chdir を抑制するようにしています。

[b4d6d9c167] Nobuyoshi Nakada 2019-08-26 04:14:01 UTC

common.mk の xxx-fake.rb のルールでコンパイラに渡すオプションから $(warnflags) $(XCFLAGS) を削って -DRUBY_EXPORT だけ直に追加するようにしています。$(XCFLAGS) は ruby 本体のビルドに必要なオプションで fake.rb の生成時にはいらないとのこと。ビルドプロセスむずい(久しぶり)。

[fafabe2f43] Nobuyoshi Nakada 2019-08-26 07:11:53 UTC

b4d6d9c167a096c8647f989ae74e21c1929d227f の続きで fake.rb 生成時のコンパイラオプションに $(INCFLAGS) は追加するようにしています。 mswin 環境で CPPFLAGS に INCFLAGS が含まれてないためとのこと。ビルドプロセスむずい。

[2614653622] Nobuyoshi Nakada 2019-08-26 07:30:45 UTC

b4d6d9c167a096c8647f989ae74e21c1929d227f および fafabe2f43ecd58588ac89edc5c177dd956825ad のさらに続きで、mswin 環境と同じように INCFLAGS は CPPFLAGS から分離して XCFLAGS に含めるように修正しています。

[44bead391f] Nobuyoshi Nakada 2019-08-26 07:38:08 UTC

で exe/ruby の link 時のコンパイラオプションから CPPFLAGS の指定は不要とのことで削っています。

[972222c039] Kazuhiro NISHIYAMA 2019-08-26 08:45:18 UTC

common.mk の make showflags で MFLAGS も表示するようにしています。MFLAGS ってなんだっけ…。 extmk.rb に渡すオプションか。

[48f1a38f23] Nobuyoshi Nakada 2019-08-26 09:21:04 UTC

f13a00f5b471f0f637c3f165daba235f24083bfc で tool/lib/vcs.rb のパッケージ作成のために ChangeLog を作る処理でブランチの開始点が分からなかった時にざっくり1年前からのコミットを使うようにしたのを、だいたい毎年クリスマスくらいにリリースしてるので直近の 12/25 からのコミットを使うように変更しています。