| 1 | = MacOSでGCCをソースコードからコンパイル = |
| 2 | * '''下記のとおりビルドしたものでは,スタンドアローン版はmakeできることを確認していますが,動的ローディング用モジュール版はmakeできることを確認していません.''' |
| 3 | * 下記はビルドに成功した一例であり,このとおりに実行してビルドできることを保証するものでなく,下記以外の方法でもビルドできる可能性があります. |
| 4 | * ライブラリ(gmp,mpfr,mpc,iconv)を port でインストール |
| 5 | * mentor graphicsのウェブサイトからarm-none-eabiのツールチェーンのソースコードをダウンロードし,解凍する |
| 6 | * 「codesourcery arm gcc」などでgoogle検索 |
| 7 | |
| 8 | {{{ |
| 9 | $ tar xvjf arm-2014.05-28-arm-none-eabi.src.tar.bz2 |
| 10 | }}} |
| 11 | * ツールチェーンのインストールディレクトリを作成し,パスを通す |
| 12 | |
| 13 | {{{ |
| 14 | $ mkdir /usr/local/arm-none-eabi_140528 |
| 15 | $ export PATH=/usr/local/arm-none-eabi_140528/bin:$PATH |
| 16 | }}} |
| 17 | * binutilsのmake |
| 18 | |
| 19 | {{{ |
| 20 | $ cd arm-2014.05-28-arm-none-eabi |
| 21 | $ tar xvjf binutils-2014.05-28.tar.bz2 |
| 22 | $ cd binutils-2014.05 |
| 23 | $ mkdir work |
| 24 | $ cd work/ |
| 25 | $ ../configure --prefix=/usr/local/arm-none-eabi_140528 --target=arm-none-eabi --program-prefix=arm-none-eabi- |
| 26 | $ make |
| 27 | $ make install |
| 28 | }}} |
| 29 | * gccのmake(上からの続き) |
| 30 | |
| 31 | {{{ |
| 32 | $ cd ../.. |
| 33 | $ tar xvjf gcc-2014.05-28.tar.bz2 |
| 34 | $ tar xvjf newlib-2014.05-28.tar.bz2 |
| 35 | $ cd gcc-4.8-2014.05/ |
| 36 | $ mkdir work |
| 37 | $ cd work/ |
| 38 | $ ../configure --prefix=/usr/local/arm-none-eabi_140528 --target=arm-none-eabi --with-newlib --with-headers=../../newlib-2014.05/newlib/libc/include --with-gmp=/opt/local --with-mpfr=/opt/local --with-mpc=/opt/local --with-libiconv-prefix=/opt/local --disable-nls --disable-shared --disable-libmudflap --disable-libssp --disable-libgomp --with-gnu-as --with-gnu-ld --disable-initfini-array --disable-threads --disable-bootstrap --enable-multilib --enable-languages=c,c++ |
| 39 | $ ln -s /path/to/newlib-2014.05/newlib/libc/include/ /usr/local/arm-none-eabi_140528/arm-none-eabi/include |
| 40 | $ make |
| 41 | $ make install |
| 42 | $ rm /usr/local/arm-none-eabi_140528/arm-none-eabi/include |
| 43 | }}} |
| 44 | * newlibのmake(上からの続き) |
| 45 | |
| 46 | {{{ |
| 47 | $ cd ../.. |
| 48 | $ cd newlib-2014.05 |
| 49 | $ mkdir work |
| 50 | $ cd work/ |
| 51 | $ ../configure --prefix=/usr/local/arm-none-eabi_140528 --target=arm-none-eabi --enable-interwork --enable-multilib |
| 52 | $ make |
| 53 | $ make install |
| 54 | }}} |