2012年12月23日

MinGW-w64のビルド


MinGW-w64は、MinGWのmingwrtとw32apiの代わりに使用する、ヘッダファイルとCランタイムライブラリです。

sezeroさんがビルドしたものを使っていたのですが、mingw-w64-v1.0.7がリリースされてしばらく経つのに、sezeroさんの方はmingw-w64-v1.0.6から更新されていないので、自前でビルドしてみました。

2013/04/21 追記
sezeroさんがビルドしたものは、2013/04/10付のrev.5747で、mingw-w64-v1.0.8になりました。



posted by あべちん at 15:51 | Comment(6) | TrackBack(0) | GCC自前ビルド

2012年03月26日

GCC 4.7のビルド


それでは、GCC 4.7をビルドします。

基本的には、GCC 4.6をビルドする手順と同じなのですが、追加ライブラリのPPLが、GCC 4.6でコンパイルしたものとGCC 4.7でコンパイルしたものでは互換性がないらしいです。
普通にGCC 4.6を使ってビルドしたGCC 4.7で、何かコンパイルしようとすると、cc1.exeがクラッシュします。

手順としては、GCC 4.6でPPL無しの仮GCC 4.7をビルドして、仮GCC 4.7で、PPLを含めたGCC 4.7をビルドします。

2013/05/29 追記
この記事を書いた当時、MinGW公式のGCCバイナリは4.6.xまでしかなかったのですが、現在はgcc-4.7.2のバイナリがあります。
MinGW公式のgcc-4.7.2でgcc-4.7.3をビルドする場合、
4. 仮GCC 4.7のビルド
5. 仮GCC 4.7のインストール
は、省略して進めてください。


1. MinGW環境について
GCCを自前でビルドしようという方は、MinGW環境もすでにあるという前提で、細かい説明は省略します。

MinGW環境については、こちらもお読みいただくと参考になると思います。
MinGW環境のアップデート (2011/04/12)
MSYS環境のアップデート (2011/04/12)

2012/05/12 追記
MinGWのmingwrtとw32apiの代わりに、MinGW-w64を使う方手順は、以下の記事を参照してください。
MinGW-w64 for win32 のインストール

MinGW-w64をインストールすると、winpthreadsというPthreadsライブラリが使用できます。
pthreads-w32と共存はできませんので、pthreads-w32に上書きします。
winpthreadsのインストール手順は、以下の記事を参照してください。
winpthreadsのコンパイル&インストール


追加で、FlexとTexinfoをインストールします。
インストール済みの場合は、あらためてインストールする必要はありません。

以下のファイルを、
C:\msys\1.0\
に、解凍します。

MinGWとMSYSを mingw-get-inst-20111118.exe などでインストールした場合、MSYSの場所は、
C:\MinGW\msys\1.0\
になっているかもしれませんので、以下、読み替えてください。

・flex-2.5.35-2
http://sourceforge.net/projects/mingw/files/MSYS/Extension/flex/flex-2.5.35-2/
flex-2.5.35-2-msys-1.0.13-bin.tar.lzma

・texinfo-4.13a-2
http://sourceforge.net/projects/mingw/files/MSYS/Base/texinfo/texinfo-4.13a-2/
texinfo-4.13a-2-msys-1.0.13-bin.tar.lzma

・regex-1.20090805-2
http://sourceforge.net/projects/mingw/files/MSYS/Base/regex/regex-1.20090805-2/
libregex-1.20090805-2-msys-1.0.13-dll-1.tar.lzma

Git for Windowsがインストール済みで、MSYSから使用できるようにパスを通していると、GCCのconfigureの時にGit for Windowsのbisonが応答しなくなって、固まる場合があります。
その場合は、MSYSにbisonをインストールしてください。

・bison-2.4.2-1
http://sourceforge.net/projects/mingw/files/MSYS/Extension/bison/bison-2.4.2-1/
bison-2.4.2-1-msys-1.0.13-bin.tar.lzma



posted by あべちん at 20:25 | Comment(9) | TrackBack(0) | GCC自前ビルド

2012年03月03日

GCC 4.7をMinGWで自前ビルドしてみたらけっこう大変だったの巻


GCC 4.7.0がリリース間近ですね。
2012/03/03現在のGCC 4.7.0の最新版は、gcc-4.7.0-RC-20120302です。

ということで、gcc-4.7.0-RC-20120302をMinGWで自前ビルドしてみました。

基本的には、GCC 4.6をビルドする手順と同じなのですが、追加ライブラリのPPLが、GCC 4.6でコンパイルしたものとGCC 4.7でコンパイルしたものでは互換性がないらしいです。

普通にGCC 4.6を使ってビルドしたGCC 4.7で、何かコンパイルしようとすると、cc1.exeがクラッシュします。

試しに、ビルドする時に使ったGCC 4.6の「libstdc++-6.dll」を、できあがったGCC 4.7の「/mingw/bin/libstdc++-6.dll」に上書きしたら、GCC 4.7が動作するようになりました。

GCC 4.7のビルドに成功した手順は、以下の通りです。


posted by あべちん at 23:01 | Comment(0) | TrackBack(0) | GCC自前ビルド