configureスクリプトパラメータ
1365 ワード
--build
ホストのコンパイル
--host
このホスト上でコンパイルされたプログラムを実行します.
--target
このホスト上のプログラムはhost上で実行されるツールで操作できるのでtargetは主にgccツールチェーンとbinutilsツールセットに意味がある.
例えば、arm上で実行される実行可能プログラムを生成するために使用される通常のx 86上で実行されるgccツールチェーンをコンパイルすることができる.
./configure --build=x86 --host=x86 --target=arm
もし私たちがこのarmのgccツールチェーンを手に入れたら、arm上で実行されているhelloworldをコンパイルします.
./configure --build=x86 --host=arm
この場合、--targetは意味がありません.helloworldはツールチェーンではなく、他のターゲットプラットフォームのバイナリコードを生成しないからです.
ホストのコンパイル
--host
このホスト上でコンパイルされたプログラムを実行します.
--target
このホスト上のプログラムはhost上で実行されるツールで操作できるのでtargetは主にgccツールチェーンとbinutilsツールセットに意味がある.
例えば、arm上で実行される実行可能プログラムを生成するために使用される通常のx 86上で実行されるgccツールチェーンをコンパイルすることができる.
./configure --build=x86 --host=x86 --target=arm
もし私たちがこのarmのgccツールチェーンを手に入れたら、arm上で実行されているhelloworldをコンパイルします.
./configure --build=x86 --host=arm
この場合、--targetは意味がありません.helloworldはツールチェーンではなく、他のターゲットプラットフォームのバイナリコードを生成しないからです.
If build, host, and target are all the same, this is called a native.
If build and host are the same but target is different, this is called a cross.
If build, host, and target are all different this is called a canadian
(for obscure reasons dealing with Canada's political party and the background of
the person working on the build at that time). If host and target are the same,
but build is different, you are using a cross-compiler to build a native for a
different system. Some people call this a host-x-host, crossed native, or
cross-built native. If build and target are the same, but host is different,
you are using a cross compiler to build a cross compiler that produces code for
the machine you're building on. This is rare, so there is no common way of
describing it. There is a proposal to call this a crossback.