Skip to content

Instantly share code, notes, and snippets.

@illusionfield
Forked from steakunderscore/arm-elf-gcc_on_osx.sh
Last active January 23, 2018 10:04
Show Gist options
  • Save illusionfield/2be42700361c739e604af4e536106457 to your computer and use it in GitHub Desktop.
Save illusionfield/2be42700361c739e604af4e536106457 to your computer and use it in GitHub Desktop.
How I installed arm-elf-gcc on Mac OS X
#!/bin/bash
mkdir toolchain
cd toolchain
wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz
wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.2a.tar.gz
wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.29.tar.bz2
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.4/gcc-core-4.6.4.tar.bz2
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.6.4/gcc-g++-4.6.4.tar.bz2
extract newlib-1.19.0.tar.gz
extract gdb-7.2a.tar.gz
extract binutils-2.29.tar.bz2
extract gcc-core-4.6.4.tar.bz2
extract gcc-g++-4.6.4.tar.bz2
export target=arm-elf
export prefix=/usr/local/$target
export PATH=$prefix/bin:$PATH
mkdir -p $prefix/bin
cd binutils-2.29
./configure --target=$target --prefix=$prefix --enable-interwork --enable-multilib --disable-nls --disable-shared --disable-threads --with-gcc --with-gnu-as --with-gnu-ld
make
make install
cd ..
cd gcc-4.6.0
mkdir build-$target && cd build-$target
../configure --target=$target --prefix=$prefix \
--disable-nls --disable-shared --disable-threads \
--with-gcc --with-gnu-ld --with-gnu-as --with-dwarf2 \
--enable-languages=c,c++ --enable-interwork \
--enable-multilib --with-newlib \
--with-headers=../../newlib-1.19.0/newlib/libc/include \
--disable-libssp --disable-libstdcxx-pch \
--disable-libmudflap --disable-libgomp -v
mkdir -p libiberty libcpp fixincludes
make all-gcc
make install-gcc
cd ../..
cd newlib-1.19.0
mkdir build-$target && cd build-$target
../configure --target=$target --prefix=$prefix --enable-interwork --enable-multilib
make
make install
cd ../..
cd gcc-4.6.4/build-$target
make
make install
cd ../..
cd gdb-7.2
mkdir build-$target && cd build-$target
../configure --target=$target --prefix=$prefix --disable-nls
make
make install
cd ../..
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment