ruby-trunk-changes 2022-09-03

今日は主に cross compiling 時を考慮したビルドプロセスの修正などがありました。

[5044832fec] Nobuyoshi Nakada 2022-09-02 13:11:12 UTC

0608a9a08693286a7d84845a216927ff2e3c9951 で Marshal.dump の T_BIGNUM の整数の出力を最適化するために導入した w_bigfixnum() の定義を long が 64 bit 以上の環境でのみ定義するようにしています。

[1b8a644b44] Nobuyoshi Nakada 2022-09-02 18:24:43 UTC

標準添付ライブラリ reline のコメントの typo 修正。

[6bb2a43ca3] git 2022-09-02 18:28:11 UTC

version.h の日付更新

[bc5b9be1ee] Nobuyoshi Nakada 2022-09-02 13:41:07 UTC

template/Makefile.in、win32/Makefile.sub に書いてた rbconfig.rb の依存関係を common.mk に移動しています。また template/Makefile.in の verconf.h から $(RBCONFIG) への依存関係を削除しています。

[c4f2f2ef2b] Nobuyoshi Nakada 2022-09-03 07:20:58 UTC

cygwin/GNUmakefile.in で @var@ のようにテンプレート展開時に展開される変数のうち Makefile.in で既に定義ずみの変数があるものはそれを利用するようにリファクタリングしているようです。

[652a624891] Nobuyoshi Nakada 2022-09-03 06:10:23 UTC

GitHub Actions の WASM 用の workflow で make ruby でビルドしているところに make mini と明示的に miniruby をビルドするようターゲットに追加しています。通常は ruby のビルドの途中で miniruby もビルドされますが cross compiling 時には作られないため。

[d8f81ffdff] Nobuyoshi Nakada 2022-09-03 05:45:23 UTC

common.mk に cross compile 時の builtin.o の依存関係に mini_builtin.c と miniprelude.c を追加しています。 miniruby 用の ruby 製組み込みメソッド定義の読み込みと prelude のためのソースコードだと思いますが cross compile 時には ruby 本体のビルド時にも必要になるのかな。

[21a5da3c4c] Nobuyoshi Nakada 2022-09-02 18:21:23 UTC

configure で MinGW 環境で MSys の shell がドライブレターつきのコマンドが使えるか確認して、だめだったら BASERUBY が使えないという設定にするようにしています。

[6f5305e0d2] Nobuyoshi Nakada 2022-09-02 16:08:47 UTC

exe/ruby の依存関係から miniruby を削除して miniruby のかわりに $(BOOTSTRAPRUBY) を利用してスクリプトを実行するようにしています。

[8f13d75a8c] Nobuyoshi Nakada 2022-09-02 18:31:30 UTC

common.mk の common-srcs ターゲットの依存関係に preludes を追加しています。

[7c67d0fd79] Nobuyoshi Nakada 2022-09-02 14:41:41 UTC

enc/ のソースファイルや VM 命令のソースコードなどビルド時に生成する時に利用する ruby を $(MINIRUBY) から $(BOOTSTRAPRUBY) に変更して BASERUBY が使える環境では BASERUBY を利用するようにしています。