ruby-trunk-changes 2024-02-04

今日は主に拡張ライブラリのビルドプロセスまわりの変更がありました。

[c40b0d52be] Nobuyoshi Nakada 2024-02-04 07:35:44 UTC

拡張ライブラリビルド用の ext/extmk.rb で Dir#[] に File.join で親ディレクトリを付加するかわりにキワード引数 base で渡すように変更しています。こうすることで後で展開結果のパスから親ディレクトリ部分を削る処理をしなくて良くなる。なるほど、これからこれ使おう。

[143a1be128] Nobuyoshi Nakada 2024-02-04 07:40:41 UTC

同じく ext/extmk.rb で静的リンクする拡張ライブラリを指定する ext/Setup の記述を File.fnmatch? を使ってワイルドカードによる指定も可能にしているようです。

[ae8990aef0] Nobuyoshi Nakada 2024-02-04 07:43:09 UTC

拡張ライブラリのロード時に呼ばれる初期化関数は Init_xxx() の xxx の部分は拡張ライブラリの basename で決まりますが、ディレクトリ構造がネストしていて basename が同じ拡張ライブラリだと関数名が衝突することがあるので、静的リンクする時だけは親ディレクトリ部分も含めるように関数名を置換するようにしているようです。

[3f37b4fe0c] Nobuyoshi Nakada 2024-02-04 08:09:45 UTC

GitHub Actions のいろんなコンパイラオプションでビルドする workflow の拡張ライブラリを静的リンクする指定でビルドするジョブで ext/Setup に指定する拡張ライブラリの種類を増やしています。

[8b897e6026] Kazuhiro NISHIYAMA 2024-02-04 09:38:48 UTC

NEWS のチケット参照のリンクのための footnote の順序をソートしています。