2015年3月1日日曜日

glog と gflagsを UICXXCRR1 で非推奨とすることにしたはなし

UICXXCRR1 でも初稿の 1.0.x 系から採用を推奨していた gloggflags なのだけど、 1.1.0 へマイナーバージョンを上げ、 gloggflags を非推奨とする事にしました。

理由は Emscripten 対応が面倒な連中だったから(´・ω:;.:…

gflags は em++ でライブラリーをビルドする事はできるけれど、 libgflags_nothread.a を使おうとお構いなしに _pthread_wrlock_rwlock を呼ぶので少なくとも現在の pthread をサポートできていない Emscripten では困ったちゃんという事に。

glog はソースの品質があまり良くないとか、既に更新されてないよねっていう事もあるし、こちらは em++ でライブラリーをビルドする時点で転ぶ。スタックトレースを取りたがって <execinfo.h> やそこから <sys/cdefs.h> やら探しに行くので対応が面倒。

そんなわけで、 gflags は Boost.ProgramOptions でも対応できるし、ロガーは Boost.Log と言いたいところだけど Boost.System とかに依存しているのでこれまた Emscripten では対応が面倒ながら、 Boost.Build Toolset for Emscripten なんて見つけちゃったのでわりと翻訳時間が掛かるだけでなんとかなるのでは、と思えている。

Boost.Log を使うのも glog に比べたら手間だけど、導入が面倒とか保守されてないとかより圧倒的にマシ。面倒だーって事になれば、まあ、そもそも Emscripten 対応も考えてシンプルに作った Wonderland.log も選択肢にできるしね。

0 件のコメント:

コメントを投稿