Skip to content

Instantly share code, notes, and snippets.

@Mistobaan
Forked from henry0312/build_gcc4.7.1.sh
Created August 18, 2012 04:39
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Mistobaan/3384472 to your computer and use it in GitHub Desktop.
Save Mistobaan/3384472 to your computer and use it in GitHub Desktop.
Build GCC 4.7.1 on Mac OS X Lion with Go support
#!/bin/sh
# GCC
## Prerequisites for GCC
## http://gcc.gnu.org/install/prerequisites.html
## Installing GCC: Configuration
## http://gcc.gnu.org/install/configure.html
GCC_VER=4.7.1
WORK_DIR=$HOME/Builds/GCC
BUILD_DIR=$WORK_DIR/build
export PATH='/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'
LANGUAGES=c,c++,go
PREFIX=/opt/gccgo
export CC='/usr/bin/llvm-gcc'
export CXX='/usr/bin/llvm-g++'
export CFLAGS='-Os -msse4'
## https://trac.macports.org/ticket/27237
export CXXFLAGS='-U_GLIBCXX_DEBUG -U_GLIBCXX_DEBUG_PEDANTIC -Os -msse4'
cd $WORK_DIR
if [ ! -d $WORK_DIR/src ] ; then
mkdir src
#curl -o src/gcc-${GCC_VER}.tar.bz2 -O ftp://gcc.gnu.org/pub/gcc/snapshots/${GCC_VER}/gcc-${GCC_VER}.tar.bz2
curl -o src/gcc-${GCC_VER}.tar.bz2 -O ftp://gcc.gnu.org/pub/gcc/releases/gcc-${GCC_VER}/gcc-${GCC_VER}.tar.bz2
elif [ ! -f $WORK_DIR/src/gcc-${GCC_VER}.tar.bz2 ] ; then
#curl -o src/gcc-${GCC_VER}.tar.bz2 -O ftp://gcc.gnu.org/pub/gcc/snapshots/${GCC_VER}/gcc-${GCC_VER}.tar.bz2
curl -o src/gcc-${GCC_VER}.tar.bz2 -O ftp://gcc.gnu.org/pub/gcc/releases/gcc-${GCC_VER}/gcc-${GCC_VER}.tar.bz2
fi
if [ ! -d $WORK_DIR/gcc-${GCC_VER} ] ; then
tar xjf src/gcc-${GCC_VER}.tar.bz2
fi
if [ -d $BUILD_DIR ] ; then
rm -fr $BUILD_DIR
fi
mkdir $BUILD_DIR
cd $BUILD_DIR
$WORK_DIR/gcc-${GCC_VER}/configure\
--prefix=$PREFIX/gcc-${GCC_VER}\
--with-local-prefix=$PREFIX/gcc-${GCC_VER}\
--disable-debug\
--disable-multilib\
--enable-threads\
--enable-languages=$LANGUAGES\
--enable-stage1-checking\
--enable-plugin\
--disable-nls\
--enable-lto\
--enable-gold=default\
--with-system-zlib\
--with-gmp=/usr/local\
--with-mpfr=/usr/local\
--with-mpc=/usr/local
make clean && make bootstrap -j4 && make install-strip
# Clean
cd $WORK_DIR
rm -fr gcc-${GCC_VER}
rm -fr $BUILD_DIR
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment