2009年3月16日月曜日

gcc-4.4-20090313

ビルドしてみた。

環境は MinGW + MSYS の最新版に、flex 2.5.4 を入れたもの(で、たぶん大丈夫だと思う。他にもいろいろ入れてるけど)。そして make を 3.81 に入れ替える(後述)。

GCC の prerequisites を見ると、4.3 から必要になった GMP と MPFR の他に、Parma Polyhedra Library (PPL) と CLooG-PPL が必要となっている。

しかし、これらが入ってなければ、自動的に Graphite loop optimizations は disable になるので、ビルド自体は通るらしい。

というわけで、原則的に gcc-4.4.x は、gcc-4.3.x がビルドできる環境ならばビルドできる。

$ ../gcc-4.4-20090313/configure --with-gmp=/usr/local --with-mpfr=/usr/local --enable-languages=c,c++ --enable-threads --disable-win32-registry --without-x --enable-hash-synchronization --enable-libstdcxx-debug --enable-version-specific-runtime-libs --without-included-gettext --disable-nls --disable-bootstrap --disable-libssp --disable-libstdcxx-pch --with-build-time-tools=/mingw/bin

しかし、make が新しくないと、以下のようなエラーが出る。

$ make
Makefile:26: *** GNU make version 3.80 or newer is required.. Stop.

GNU make は、MSYS 専用のを持ってこないと、上手く PATH を見てくれなくてビルドが失敗してしまうようだ。

http://downloads.sourceforge.net/mingw/make-3.81-MSYS-1.0.11-2.tar.bz2?use_mirror=jaist

などを持ってきて、msys/1.0/ 以下に展開する。

あとは通常通り make; meke install

$ i686-pc-mingw32-gcc-4.4.0.exe -v
Using built-in specs.
Target: i686-pc-mingw32
Configured with: ../gcc-4.4-20090313/configure --with-gmp=/usr/local --with-mpfr
=/usr/local --enable-languages=c,c++ --enable-threads --disable-win32-registry -
-without-x --enable-hash-synchronization --enable-libstdcxx-debug --enable-versi
on-specific-runtime-libs --without-included-gettext --disable-nls --disable-boot
strap --disable-libssp --disable-libstdcxx-pch --with-build-time-tools=/mingw/bi
n
Thread model: win32
gcc version 4.4.0 20090313 (experimental) (GCC)

0 件のコメント: