クロスコンパイル環境を整えてみる?

cygwingmpコンパイルをすると、forkが溢れるらしく、まともにコンパイルできずに困憊る。だからLinux機を使ってWin用のバイナリを作って、持ってこようとやってみる。

対象:vine26-x86
インストールするもの:mingwと、binutil&gcc(mingw用?)
やりかた。
http://bitwalk.hp.infoseek.co.jp/index.htmlMinGWインストールそのまんまやってたりする。エラーらしきものが出てこないので、特別書くこともなく…。

  1. OHP(http://sourceforge.net/project/showfiles.php?group_id=2435&release_id=158844)から、MinGW Runtime(バイナリ&ソース)、GCCbinutilsのソースをもらう*1
  2. 適当に展開
    1. バイナリは /usr/local/i386-mingw32 で展開。
    2. ソースはわかりやすい場所に展開して、次のようにSymLinkを作る。
    • ~/work/binutils
    • ~/work/gcc
    • ~/work/runtime
    • ~/work/w32api
  3. binutilsコンパイル
    1. configure --prefix=/usr/local --target=i386-mingw32 -v
    2. make
    3. su -c "make install"
    4. export PATH=$PATH:/usr/local/bin # パスが通ってる場合は省略OK*2
  4. gccコンパイル
    1. configure --prefix=/usr/local --target=i386-mingw32 -v
    2. make
    3. su -c "make install"
  5. mingw-runtime のコンパイル
    1. AS=i386-mingw32-as CC=i386-mingw32-gcc AR=i386-mingw32-ar RANLIB=i386-mingw32-ranlib LD=i386-mingw32-ld DLLTOOL=i386-mingw32-dlltool DLLTOOL=i386-mingw32-dlltool WINDRES=i386-mingw32-windres configure --prefix=/usr/local/i386-mingw32 --target=i386-mingw32 -v
    2. make
    3. su -c "make install"
  6. w32api のコンパイル
    1. AS=i386-mingw32-as CC=i386-mingw32-gcc AR=i386-mingw32-ar RANLIB=i386-mingw32-ranlib LD=i386-mingw32-ld DLLTOOL=i386-mingw32-dlltool DLLTOOL=i386-mingw32-dlltool WINDRES=i386-mingw32-windres configure --prefix=/usr/local/i386-mingw32 --target=i386-mingw32 -v
    2. make
    3. su -c "make install"

詳細は上記のHPで見てってね。そのまんま写すことになっちゃうから、書かないの*3。とりあえずは、インストールが出来たので、GMPをインストールするべし。

…一体、何を考えていたんだろう…。何も考えずに、流れるまま行動するって、時間の浪費以外何物でもない。んー、馬鹿なことを…。

*1:ついでにWin32APIももらったけど使わないような気がしてならない

*2:通ってると思ってやったら失敗。通ってなかった

*3:書いちゃったけど