私は、クロスコンパイラのインフラストラクチャでは異なるアプローチを採用しています。私はディレクトリ$HOME/local
を持っており、すべての期待されるサブディレクトリはbin/, lib/, include/, etc.
$HOME/local/bin
であり、$PATH
は$HOME/local/lib
で、$LD_LIBRARY_PATH
(またはダーウィンの場合は$DYLD_LIBRARY_PATH
)です。
Iその後、構築して、--prefix=$HOME/local
に、GMP、MPFR、MPCのインストール:
は
> ./configure --prefix=$HOME/local --enable-cxx [--disable-fft]
> ./configure --prefix=$HOME/local --with-gmp=$HOME/local
> ./configure --prefix=$HOME/local --with-mpfr=$HOME/local --with-gmp=$HOME/local
私は、高速で一般的にクロスしてgccのために動作しませんこれらのパッケージのためのプラットフォーム依存のフラグを使用することができますトリプル--target
:
> env CFLAGS="-pipe -Wall -O2 -march=core2" CXXFLAGS="..." ./configure ...
利点は、私は、クロスコンパイラインフラストラクチャ、GMP、MPFRをビルドするところはどこでも、MPCライブラリは、などが含まれ、アクセス可能であり、である - と同じLIBSが複数のクロスのために使用することができます-コンパイラ。すなわち、私はx86_64-pc-elf、ARM EABIを自立した4.6.x AVRを持っています。各gcc
configureオプション使用:私は(私は頻繁に行う)ツールチェーンのビルドアップfsckをするとき
明らか
> --with-mpc=$HOME/local --with-mpfr=$HOME/local --with-gmp=$HOME/local
を、少なくとも私は、ビルドのこの部分を繰り返す必要はありません。