クロスコンパイル環境
build, host, target
configureのオプションに環境を指定する--build, --host, --targetというオプションがありまして、クロスコンパイラをビルドする上で大変重要です。
というかクロスコンパイラのために3つもあるんでしょうね。
- --build
いままさにビルドを実行する環境。要するにconfigureを実行している環境ですね。
だいたいは自動検出されますので、指定する理由はあまりはずなんですが…
今回の場合、i686-pc-mingw32になります。
- --host
ビルドしてできたコンパイラ等を実行する環境。
今回の場合、x86_64-w64-mingw32になるはず。
- --target
ビルドしてできたコンパイラ等が出力するコードを実行する環境。
今回の場合、x86_64-w64-mingw32とi686-w64-mingw32の複数対応のコンパイラを作ります。
multilibというやつですね。
Binutils
クロスコンパイラビルドのとおりで、sysroot関連もしっかり使います。
mkdir -p ${HOME}/gccbuild/bldXC/binutils cd ${HOME}/gccbuild/bldXC/binutils ../../src/binutils-2.21.51/configure --prefix=/mingwXC --with-sysroot=/mingwXC --target=x86_64-w64-mingw32 --enable-targets=x86_64-w64-mingw32,i686-w64-mingw32 >>configure-mingwXC.log 2>&1 make >>make-mingwXC.log 2>&1 make install >>make-mingwXC-install.log 2>&1
ログはっとこうかと思ったけどやり方わかんないや…