2011年7月11日月曜日

ESウェブブラウザ通信(7/11)

公開から1週間あまり立って、ESウェブブラウザのアップデート情報をメーリングリストに投稿したので、こちらでも補足など。

r1759
当初公開した時はFedora 15(もしくは14)で、という案内をしていたのですが、すぐにUbuntuでビルドできないという報告をいただいたので対応させました。
主な変更点は、
  • 現状決め打ちになっているフォントファイルへのパスをFedoraとUbuntu両方に対応させた、
  • Ubuntuの少し古めのboost 1.42に対応させた、
  • SpiderMonkeyのmozjsライブラリを決め打ちしないで、configureで探しに行くようにconfigure.acを変更した、
といったところです。
ただ現状、gcc 4.6やboostの新機能を使い出したときに、Ubuntuでのビルドは難しくなってしまうことがありそうです。

* r1777
この直前のいくつかのリビジョンでesidlの対応するWeb IDLの文法を2011/7/4版のワーキングドラフトにほぼ対応させました(まだ議論が続いているExceptionと、まだ実際に使われてきていないPartialInterfaceを除く)。注意点として、object型が値としてnullをとらなくなっています。nullを含むときの表記はobject?です(array等も同様)。
この件のCameronとHixieのやりとりはちょっとおもしろかったかも。すごい生産的だけど(笑)。それに合わせて、ESウェブブラウザで使用するDOM CoreHTMLの定義もそのように修正されたその時点でほぼ最新のものに対応したのがこのリビジョンです。

 * r1783
Ubuntuでビルドできない、という報告の他に届いていたのが、Fedora 15のx86_64版でもビルドできないというものでした。こちらは、Web IDLのany型に対応するESのAnyクラスの実装がx86前提になってしまっていたのをやっつけで直して、x86-64に対応させました。x86-64ではsizeof(Object)が16になるので、Anyのサイズも16バイトになってしまっていますが、できればどこかの時点でx86-64でも8バイトで済むようにしたいと思います。
ESで使用しているWeb IDLのC++0xバインディングでは、メッセージの実体はメッセージのIDとAnyの配列になっているので、Anyクラスの性能はかなり重要な部分だったりします。u16stringまわりの扱いももう少し改善したい部分です。


また、実際にビルドしてみようという方のためにセットアップ用のスクリプトをこちらに用意したので利用してください。Fedora 15 (x86, x86-64)とUbuntu 11.04 (x86)でテストしています(Fedora 14はjsの関係でダメです)。

1 件のコメント:

  1. 左向矢印を選択して次投稿へ移動するのが少し気持ち悪いのですが、今はこれがはやりなのでしょうか。理由があるのであればぜひ教えてください。

    返信削除