1.
接下來是gcc的部分, 從網路上抓來的版本是gcc-4.5.1
在compile gcc前也要將newlib的source code備妥以利gcc compile時的參照
先作configure
在執行configure前, 根據Install Gcc的Configuration章節裡所建議,
最好另外建一個目錄來放build output, 所以步驟如下
mkdir gcc-build
cd gcc-build
../gcc-4.5.1/configure --target=arm-elf --prefix=/toolchain/arm-elf --enable-interwork --enable-multilib --enable-languages="c,c++" --with-newlib --with-headers=../newlib-1.18.0/newlib/libc/include
在執行上述命令時, 遇到了
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
查了一下, 表示環境中缺了這幾個library, 所以需額外抓了gmp-5.0.1, mpc-0.8.2, mpfr-3.0.0這三個package的source
將這三個source目錄並分別去掉版號(成gmp, mpc, mpfr), 放在gcc的source code目錄裡
由於沒有詳細去看gmp, mpfr, mpc這三個library在build的時候是否也一樣要加target或arch之類的CPU參數
所以為了避免某些環境已經存在有gmp, mpc, mpfr for host可能導致錯誤, 所以把這三個source 放到gcc目錄後
再執行一次configure命令(可加--with-gmp, --with-mpfr, --with-mpc參數)
接下來make
在gcc-build目錄下執行
make all-gcc install-gcc
2. build newlib
在上面的的gcc 步驟執行完後, 接著就可以build newlib, build newlib步驟如下:
mkdir newlib-build
cd newlib-build
../newlib-1.18.0/configure --target=arm-elf --prefix=/toolchain/arm-elf --enable-interwork --enable-multilib
make all install
3. gcc
上述步驟結束後, 到gcc-build目錄下執行make all install就算成功了:
cd gcc-build
make all install