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 -x --lzip -f gmp-x.y.z.tar.lz (gmp-5.1.1以降)
- cd gmp-x.y.z
- CC=gcc-4 CXX=g++-4 ./configure --enable-cxx
- 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-4 CXX=g++-4 ./configure --with-gmp=/usr/local
- make
- make install
MPCの構築・導入
ファイルの在處はmultiprecision.org。入手後の手順は以下の通り。
- tar xzf mpc-x.y.tar.gz
- cd mpc-x.y
- CC=gcc-4 CXX=g++-4 ./configure --with-gmp=/usr/local --with-mpfr=/usr/local --enable-static --disable-shared
- make
- make install
ISL 0.11.1の構築・導入
ファイルの在處はftp://gcc.gnu.org/pub/gcc/infrastructure/。入手後の手順は以下の通り。
- tar xjf isl-0.11.1.tar.bz2
- cd mpc-0.11.1
- CC=gcc-4 CXX=g++-4 ./configure --with-gmp=/usr/local
- make
- make install
CLooG 0.18.0の構築・導入
ファイルの在處はftp://gcc.gnu.org/pub/gcc/infrastructure/。入手後の手順は以下の通り。
- tar xzf cloog-0.18.0.tar.gz
- cd cloog-0.18.0
- CC=gcc-4 CXX=g++-4 ./configure --with-gmp=/usr/local --with-isl=/usr/local
- make
- make install
binutilsの構築・導入
ファイルの在處はGNU binutil。アーカイブ入手後は、展開し、展開したディレクトリに移動。以降は以下の手順。
- CC=gcc-4 CXX=g++-4 ./configure --prefix=/usr/local/mingw --target=i686-mingw32 --with-gmp=/usr/local --with-mpfr=/usr/local --with-mpc=/usr/local --with-cloog=/usr/local
- make
- make install
GCCの構築・導入
さて、ここまで濟ませて、やうやく本題のGCCの構築に取り掛かることが出來る。
アーカイブはGCC, the GNU Compiler Collectionから入手。以下はアーカイブを入手した後の手順。
- tar xjf gcc-4.x.y.tar.bz2
- mkdir build-gcc
- cd build-gcc
- CC=gcc-4 CXX=g++-4 ../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 --with-cloog=/usr/local
- make
- make install