疑問メモ: ビルドするGCCのバージョン

X 6.3では、使用するgccのバージョンに合わせて設定ファイルを編集してから、ビルドを実行します。

具体的には、gccバージョン1を使うなら、site.defファイルのHasGccSetをYESに、gccバージョン2を使うならHasGcc2をYESにします。

えっ。1? 2? なにそれこわい。

X 6.3のビルドマニュアルが書かれたのが1996年3月。当時の最新gccは2.7.2です。選択肢に1と2しかないのは当然です。

一方、自分のビルド環境は最近のFedoraなので、もちろんgcc4系です。このような場合、gcc4で正しくビルドできるものなのでしょうか。

もしや、当時のgccと依存ライブラリをそっくり持ってこないとダメ?

それとも、gcc先生が後方互換でよろしくやってくれるん?

冷静に考えよう。gccのバージョン情報のみならず、OSのメジャーバージョンとマイナーバージョンに依存する設定ファイルまで必要なX Window Systemが、そこらへんのテキトーなバージョンのgccであっさりビルドできると考える方が間違っているのではないか。…

よくわからないので、もうちょっと勉強します。

(そもそも2011年になんで15年前のXをビルドしようとしてるの?ばかなの?って話は、さておき)

追記

後方互換どころかgcc先生容赦ない。

X will not compile on some systems with gcc version 2.5, 2.5.1, or 2.5.2 because of an incorrect declaration of mem-move() in a gcc include file.

If you are using a gcc version older than 2.7 on Solaris x86,(後略)