MinGW向けのGCCをCygwin上で構築する手順
MinGW向けのGCC4.xをCygwinで構築したので、その手順を覺書として殘しておく。多分に自分用。
Win32APIとMinGWランタイムの導入
これらがなくては始まらないので導入する。導入するものは下記3つ。
- mingwrt-x.x-mingw32-dev.tar.*
- mingwrt-x.x-mingw32-dll.tar.*
- w32api-x.x-x-mingw32-dev.tar.*
ファイルの在處はSourceForgeのMinGWの處。でも知らないうちに移動してゐたりするからそのときはGoogle先生に訊いて呉れ。
ファイルを入手したら展開する。以下の例は、/usr/local/mingwの下に展開する場合を想定。(といふか、吾人の環境ではそこにMinGW關係のものを入れるやうにしてゐる。)
- *.tar.gzの場合は tar xzf *.tar.gz -C /usr/local/mingw
- *.tar.lzmaの場合は tar -x --lzma -f *.tar.lzma -C /usr/local/mingw
GMPの構築・導入
ファイルの在處はThe GNU MP Bignum Library。入手後の手順は以下の通り。
- tar xjf gmp-x.y.z.tag.bz2
- cd gmp-x.y.z
- CC=gcc-3 CXX=g++-3 ./configure --enable-cxx --enable-mpbsd
- make
- make install
configure時にCCやCXXを設定してゐるのは、gccやg++が既に構築したMinGW向けGCCへのシンボリックリンクになつてゐるからだと思ひ候へ。
MPFRの構築・導入
ファイルの在處はThe GNU MPFR Library。入手後の手順は以下の通り。
- tar xjf mpfr-x.y.z.tar.bz2
- cd mpfr-x.y.z
- CC=gcc-3 CXX=g++-3 ./configure --with-gmp=/usr/local
- make
- make install
MPCの構築・導入
ファイルの在處はmultiprecision.org。入手後の手順は以下の通り。
- tar xzf mpc-x.y.tar.gz
- cd mpc-x.y
- CC=gcc-3 CXX=g++-3 ./configure --with-gmp=/usr/local --with-mpfr=/usr/local
- make
- make install
binutilsの構築・導入
まづアーカイブを入手して展開して、展開したディレクトリに移動。そこから先は以下の手順。
- CC=gcc-3 CXX=g++-3 ./configure --prefix=/usr/local/mingw --target=i686-mingw32 --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local
- make
- make install
GCCの構築・導入
さて、ここまで濟ませて、やうやく本題のGCCの構築に取り掛かることが出來る。以下、アーカイブを入手した後の手順。
- tar xjf gcc-4.x.y.tar.bz2
- mkdir build-gcc
- cd build-gcc
- CC=gcc-3 CXX=g++-3 ../gcc-4.x.y/configure --prefix=/usr/local/mingw --target=i686-mingw32 --with-gcc --with-gnu-ld --with-gnu-as --enable-threads --disable-nls --enable-languages=c,c++ --disable-win32-registry --disable-shared --with-dwarf2 --disable-sjlj-exceptions --with-headers=/usr/local/mingw/include --with-libs=/usr/local/mingw/lib --with-build-time-tools=/usr/local/mingw/bin --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local
- make
- make install