2012-01-05 5 views
0

私はいくつかのプログラムのソースを持っていると仮定し、ソースはGNU autotoolsを使い、それを単純に保つために、どのような方法の開発ツールでもないとしましょう。私は便利なクロスツールチェーンを持っている場合は、私が設定することができます使用してプラットフォームprocfoo-vendorbar-bazosのためにクロスコンパイル:「HOSTCC」と「./configure --host」の中で「host」という言葉の意味は何ですか?

./configure --host=procfoo-vendorbar-bazos 

をしかし、静かに(ER)出力のスタイル、様々なソースで採択されたのLinux 2.6、

を含む構築します
HOSTCC foo.c 

bar.cにはBUI中であることを意味している

CC bar.c 

から区別するために、foo.cのは、私が上の建物だシステムのネイティブコンパイラで構築されていることを意味しシステム用のクロスコンパイラと一緒にプログラムをビルドしています。

どこかで混乱したり、HOSTCCのホストが./configure --hostという意味のホストではありませんか?

+0

もう少し見てみると、BUILD_CC/CC_FOR_BUILDはネイティブコンパイラを指定するためのHOSTCCに代わる一般的な方法です。 – rakslice

答えて

1

autoconf/automakeは本当にホストコンパイラの概念を持っていません。 CCは常にターゲットコンパイラです。 HOSTCCが見える場合は、あなたが見ているパッケージの開発者が手動で追加します。

--hostは、生成されたプログラムを実行するホストタイプを指定します。

+0

"ターゲットコンパイラ"とは、configureスクリプトに--hostで指定されたプラットフォームのクロスコンパイラを意味し、 "ホストコンパイラ"はネイティブコンパイラを意味しますか? – rakslice

+0

HOSTCC/NATIVECCがあれば、./configure ** - build = xyz **の影響を受けます(--hostではなく)。 –

関連する問題