Skip to content

Instantly share code, notes, and snippets.

@momchil-velikov
Created January 9, 2017 14:12
Show Gist options
  • Save momchil-velikov/f1eb12db7fdcfc1c1ac930b49013c5ab to your computer and use it in GitHub Desktop.
Save momchil-velikov/f1eb12db7fdcfc1c1ac930b49013c5ab to your computer and use it in GitHub Desktop.
#! /bin/bash
TOP=$(pwd)
MAKE="make -j12"
export PATH=${HOME}/opt/arm-linux-musleabi/bin:${HOME}/opt/arm-eabi/bin:${PATH}
check_notdir() {
if [ -d $1 ];then
echo "$1 directory exists"
exit 1
fi
}
### Binutils
cd ${TOP}
check_notdir binuitls-arm-linux-musleabi
mkdir binuitls-arm-linux-musleabi && cd binuitls-arm-linux-musleabi
${HOME}/src/binutils-gdb/configure \
--prefix=${HOME}/opt/arm-linux-musleabi \
--target=arm-linux-musleabi \
&& ${MAKE} \
&& ${MAKE} install
### MUSL headers
cd ${TOP}
check_notdir musl-arm-linux-musleabi
mkdir musl-arm-linux-musleabi && cd musl-arm-linux-musleabi
CC=arm-eabi-gcc ${HOME}/src/musl/configure \
--prefix=/usr\
--target=arm-linux-musleabi\
--disable-shared\
&& ${MAKE} install-headers\
DESTDIR=${HOME}/opt/arm-linux-musleabi/arm-linux-musleabi/sys-root
### GCC
cd ${TOP}
check_notdir gcc-arm-linux-musleabi
mkdir gcc-arm-linux-musleabi && cd gcc-arm-linux-musleabi
${HOME}/src/gcc/configure\
--prefix=${HOME}/opt/arm-linux-musleabi\
--target=arm-linux-musleabi\
--enable-languages=c\
--disable-shared\
--disable-libssp\
--disable-libatomic\
--disable-libquadmath\
--disable-libgomp\
--with-sysroot\
&& ${MAKE}\
&& ${MAKE} install
### MUSL
cd ${TOP}
check_notdir musl-arm-linux-musleabi-stage2
mkdir musl-arm-linux-musleabi-stage2 && cd musl-arm-linux-musleabi-stage2
${HOME}/src/musl/configure \
--prefix=/usr\
--target=arm-linux-musleabi\
--disable-shared\
&& ${MAKE} install DESTDIR=${HOME}/opt/arm-linux-musleabi/arm-linux-musleabi/sys-root
### G++
cd ${TOP}
check_notdir g++-arm-linux-musleabi
mkdir g++-arm-linux-musleabi && cd g++-arm-linux-musleabi
${HOME}/src/gcc/configure\
--prefix=${HOME}/opt/arm-linux-musleabi\
--target=arm-linux-musleabi\
--enable-languages=c,c++\
--disable-shared\
--with-sysroot\
--disable-libsanitizer\
&& ${MAKE} && ${MAKE} install
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment