行くバックエンド来るバックエンド / ビルドシステム

最近、LLVMからSystemZ / Blackfin / Alphaの各バックエンドが削除された。
微妙に驚きなのはSPARCも削除対象に挙がっていたところで、(LLVMはかつてSPARC + Solarisがプライマリなプラットフォームの1つだったので)諸行無常を感じた。

他のバックエンドは、まぁ仕方ないかなというところ。Alphaは実装が現状無く、SystemZやBlackfinではあまり熱心に使われていない。
最近、LLVMは3.0のリリース直前だったり、待ち望まれていたLLVM統合リンカであるMCLinkerプロジェクト( http://code.google.com/p/mclinker/ )が登場したことでまた盛り上がっている。
が、一番盛り上がっている話題はCMakeとMakefileによるビルドを廃止し、Pythonによってこれらのビルドシステム向けのファイルを生成するという提案だったりする。

実際、ほとんどの(マルチプラットフォームな)大規模プロジェクトはなんらかの"メタ"ビルドシステム(= Makefile生成システム)を採用していて、それらは"それなり"の成功を収めている。なかなか決定打が無いのも同時に真なので、この分野は本当に難しい。。