組裝的時候,常常缺東缺西的。這時候就需要cross-compile一些套件頂一下,所以如果有人組裝過的話,應該會對下面的命令倍感親切。
1
|
|
--target
和--build
的參數似乎和這個有關。找時間稍微了解一下對於–target目前手上的資料無法讓我完全理解,請注意!
根據Autoconf手冊說明,這些參數的預設值如下:
--build
- 從config.guess中猜的
--host
- 設成和
--build
相同
- 設成和
--target
- 設成和
--host
相同
- 設成和
--host
後麻煩不要省掉--build
,不然autotool會把build設成和host一樣。Automake手冊裏面的定義
--build
- 你build code,下xxx-gcc那台機器平台
--host
- 產生的binary可以執行的平台
--target
- 告訴gcc要產生什麼平台的機械碼
- 一般來說會和
--host
一樣同樣的平台,根據上面的連動,你設了--host
就可以省略這個選項 - 特例是compile cross-compiler或是binutils,toolchain。這時候是指定build在host上,但是處理的對象是cross platform的機械碼
- 一般來說會和
- 告訴gcc要產生什麼平台的機械碼
--host
和--build
相同- 用你電腦上的gcc,來編譯autotool的套件。
--host
和--build
不同- 你要自備cross-compiler
- 如果有指定
--target
的為gcc的prefix - 如
--host=xxx
,--target=zzz
,會使用zzz-gcc產生xxx平台的機械碼 - 用該cross-compiler來編譯autotool的套件
- 這時候要保證cross compiler可以吃的library也存在,常常會為了編一個套件cross compile一堆套件
--host
指定和你現在的平台不同就好。
沒有留言:
張貼留言