ruby-trunk-changes r48056 - r48073

今日も主に unicode_normalize ライブラリのビルド周りと、それに関連してダウンロードしてくるファイルの取得のタイミングなどの変更がありました。

nobu: r48056 2014-10-20 22:43:45 +0900

r48053 の tool/downloader.rb の -e オプションの挙動を変更したのはやめて、逆に make update-unicode で -e オプションをつけないようにしています。ネットワーク接続できない時にスキップするのはそのままなので毎回更新チェックはするという状態ですね。

usa: r48057 2014-10-20 23:21:18 +0900

mkmf.rb で生成する Makefile の install-rb ターゲットでコピーする時のファイルパスのセパレータを環境に応じて変換していたのをやめています。 COPY は ruby で処理されるのでファイルパスは環境によらず "/" 区切りが使えるため。

nobu: r48058 2014-10-20 23:58:06 +0900

さらに tool/downloader.rb に -e の反対の、毎回更新確認させるようにする -a オプションを追加して、ALWAYS_UPDATE_UNICODE が yes に指定されていたら -a オプションをつけるように make update-unicode のコマンドを変更しています。 で、 ALWAYS_UPDATE_UNICODE = yes はコメントアウトされた状態で common.mk に追加されているので、現状は結局ダウンロード済みのファイルがあったらそれを使うということですね。

usa: r48059 2014-10-20 23:59:33 +0900

lib/unicode_normalize/tables.rb の自動生成のコマンドをソースディレクトリ以外でビルドしている時も動くように $(srcdir)/ を付加しています。

usa: r48060 2014-10-21 00:01:13 +0900

r48023 で enc/prelude.rb で require "unicode_normalize" するようにしましたが LoadError が発生した時にそれを無視させるようにしています。 これでとりあえず unicode_normalize 回りが未完でも動くようになりました。

svn: r48061 2014-10-21 00:01:18 +0900

version.h の日付更新。

usa: r48062 2014-10-21 00:04:37 +0900

r48032 で .gitignore には追加されてましたが lib/unicode_normalize/tables.rb と enc/unicode/data/*.txt を無視させるように svn property にも追加しています。

nobu: r48063 2014-10-21 00:14:56 +0900

r48031 と r48054 で enc/unicode/data/*.txt から update-unicode ターゲットへの依存関係を追加していましたが、after-update というターゲットからの依存関係にしています。 config.sub や config.guess をダウンロードするターゲット(update-config_files)と同様なので、相応しそうですね。

nobu: r48064 2014-10-21 10:04:37 +0900

config.sub や config.guess と同様にそもそも configure で BASERUBY の利用可否を確認した時に enc/unicode/data/*.txt もダウンロードするようにしています。

naruse: r48065 2014-10-21 11:50:23 +0900

m68k アーキテクチャでのマシンスタックの GC のマーク処理を追加しています。 詳細わかりませんが stack_end の検出の差異の対応かな。 [ruby-core:65813] [Bug #10407]

nobu: r48066 2014-10-21 12:06:32 +0900

r48063 と同様に make の after-update ターゲットで update-gems も実施するようにしています。

nobu: r48067 2014-10-21 12:33:18 +0900

tool/make-snapshot で config.guess、config.sub や bundled gems をダウンロードしていたのを make after-update で実行するようにしたので Makefile の依存関係に追加してそちらにまかせるようにしています。

nobu: r48068 2014-10-21 12:55:08 +0900

そして make の after-update ターゲットのルールを Makefile.in と common.mk に分割しています。 update-unicode と update-gems は configure を使わないプラットフォームでも必要でした。

nobu: r48069 2014-10-21 14:17:32 +0900

やっぱり make after-configure というターゲットを追加して configure 後に enc/unicode/data/*.txt と bundled gems はここでダウンロードするようにしています。

usa: r48070 2014-10-21 15:16:39 +0900

enc/unicode/data/*.txt の生成のルールもソースディレクトリ以外でのビルドに対応するため $(srcdir) を付加しています。

duerst: r48071 2014-10-21 15:56:58 +0900

lib/unicode_normalize/normalize.rb で定義されている定数のマジックナンバーの意味について参照 URL をコメントで追記しています。 http://www.unicode.org/versions/Unicode7.0.0/ch03.pdf の 144,145p 参照とのこと。

duerst: r48072 2014-10-21 17:12:20 +0900

自動生成することにしていた lib/unicode_normalize/tables.rb をコミットしています。

duerst: r48073 2014-10-21 17:32:34 +0900

make update-unicode で enc/unicode/data ディレクトリを作成しておくようにしています。 git だと空のディレクトリがチェックアウト時に作られないのでその対策として。