wiki:DevEnvMac_gccbuild

MacOSでGCCをソースコードからコンパイル

  • 下記のとおりビルドしたものでは,スタンドアローン版はmakeできることを確認していますが,動的ローディング用モジュール版はmakeできることを確認していません.
  • 下記はビルドに成功した一例であり,このとおりに実行してビルドできることを保証するものでなく,下記以外の方法でもビルドできる可能性があります.
  • ライブラリ(gmp,mpfr,mpc,iconv)を port でインストール
  • mentor graphicsのウェブサイトからarm-none-eabiのツールチェーンのソースコードをダウンロードし,解凍する
    • 「codesourcery arm gcc」などでgoogle検索
$ tar xvjf arm-2014.05-28-arm-none-eabi.src.tar.bz2
  • ツールチェーンのインストールディレクトリを作成し,パスを通す
$ mkdir /usr/local/arm-none-eabi_140528
$ export PATH=/usr/local/arm-none-eabi_140528/bin:$PATH
  • binutilsのmake
$ cd arm-2014.05-28-arm-none-eabi
$ tar xvjf binutils-2014.05-28.tar.bz2 
$ cd binutils-2014.05
$ mkdir work
$ cd work/
$ ../configure --prefix=/usr/local/arm-none-eabi_140528 --target=arm-none-eabi --program-prefix=arm-none-eabi-
$ make
$ make install
  • gccのmake(上からの続き)
$ cd ../..
$ tar xvjf gcc-2014.05-28.tar.bz2 
$ tar xvjf newlib-2014.05-28.tar.bz2 
$ cd gcc-4.8-2014.05/
$ mkdir work
$ cd work/
$ ../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++
$ ln -s /path/to/newlib-2014.05/newlib/libc/include/ /usr/local/arm-none-eabi_140528/arm-none-eabi/include
$ make
$ make install
$ rm /usr/local/arm-none-eabi_140528/arm-none-eabi/include
  • newlibのmake(上からの続き)
$ cd ../..
$ cd newlib-2014.05
$ mkdir work
$ cd work/
$ ../configure --prefix=/usr/local/arm-none-eabi_140528 --target=arm-none-eabi --enable-interwork --enable-multilib
$ make
$ make install
Last modified 5 years ago Last modified on 21/12/14 12:41:28