#!/bin/sh # Built on TCL v4.0.2 # Required extensions: # compiletc # bison # diffutils # file # findutils # flex # gawk # gcc # gcc_libs # binutils # mpfr # gmp # mpc # grep # m4 # make # patch # pkg-config # glib2 # popt # sed # e2fsprogs_base-dev # eglibc_base-dev # freetype_base-dev # gcc_base-dev # imlib2_base-dev # jpeg_base-dev # libpng_base-dev # linux-3.0.1_api_headers # util-linux_base-dev # zlib_base-dev # squashfs-tools-4.x # tar # mpfr-dev # mpc-dev # gmp-dev # autogen # guile # libxml2 # bash getTime.sh installExtension() { if [ ! -e /usr/local/tce.installed/$1 ]; then echo "Installing "$1" ..." if [ -e $TCEDIR/optional/$1.tcz ]; then tce-load -i $1 else tce-load -wi $1 fi [ ! -e /usr/local/tce.installed/$1 ] && echo "Error: Extension "$1" not installed! Aborting" && exit fi } createExtension() { mksquashfs $1 $1.tcz -noappend [ ! -e $1.tcz ] && echo "Error: "$1".tcz not created! Aborting" && exit } unpackSrc(){ #unpack source if [ -e $1.tar.bz2 ]; then tar -jxf $1.tar.bz2 elif [ -e $1.tb2 ]; then tar -jxf $1.tb2 elif [ -e $1.tbz ]; then tar -jxf $1.tbz elif [ -e $1.tar.gz ]; then tar -zxf $1.tar.gz elif [ -e $1.tgz ]; then tar -zxf $1.tgz elif [ -e $1.tar.xz ]; then tar -Jxf $1.tar.xz elif [ -e $1.txz ]; then tar -Jxf $1.txz elif [ -e $1.tar.lzma ]; then tar -xf $1.tar.lzma --lzma elif [ -e $1.tlz ]; then tar -xf $1.tlz --lzma else echo "Source "$1" not found! Aborting" && exit fi } # Install these extensions automagically export EXTS="compiletc squashfs-tools-4.x tar mpfr-dev autogen" export TCEDIR=`cat /opt/.tce_dir` export CFLAGS="-march=i486 -mtune=i686 -O3 -pipe" export CXXFLAGS=$CFLAGS export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export EXTNAME="gfortan" export VER="4.6.1" export DESTDIR=`pwd`/$EXTNAME export PKGNAME="gcc-"$VER for f in $EXTS; do installExtension $f done unpackSrc "gcc-core-"$VER unpackSrc "gcc-g++-"$VER unpackSrc "gcc-fortran-"$VER unpackSrc "gcc-testsuite-"$VER mkdir -p gcc-build $EXTNAME/usr/local/tce.installed cd gcc-build ../$PKGNAME/configure --prefix=/usr --enable-clocale=gnu --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-languages=c,c++,fortran --disable-libstdcxx-pch --disable-bootstrap --libexecdir=/usr/lib --enable-c99 --enable-long-long && make && make check > ../$EXTNAME.test && make install cd $DESTDIR mv usr/bin usr/local mv usr/lib usr/local rm -rf usr/man usr/info usr/include usr/share usr/share usr/local/bin/c* usr/local/bin/gc* usr/local/bin/*++ usr/local/bin/*cc* usr/local/lib/libs* usr/local/lib/libm* usr/local/lib/libi* usr/local/lib/lib/go* usr/local/lib/libgc* usr/local/lib/gcc/i686-pc-linux-gnu/$VER/c* usr/local/lib/gcc/i686-pc-linux-gnu/$VER/i* usr/local/lib/gcc/i686-pc-linux-gnu/$VER/libgc* usr/local/lib/libgomp* usr/local/lib/libq* usr/local/lib/gcc/i686-pc-linux-gnu/$VER/p* usr/local/lib/gcc/i686-pc-linux-gnu/$VER/lto* usr/local/lib/gcc/i686-pc-linux-gnu/$VER/liblto* ln -s /usr/local/lib/gcc/i686-pc-linux-gnu/$VER/f951 usr/local/bin sudo strip --strip-unneeded usr/local/bin/* sudo strip -g usr/local/lib/* sudo strip --strip-unneeded usr/local/lib/gcc/i686-pc-linux-gnu/$VER/f591 sudo strip -g usr/local/lib/gcc/i686-pc-linux-gnu/$VER/*.a echo '#!/bin/sh rm -f /usr/local/bin/gfortran /usr/local/bin/i686-pc-linux-gnu-gfortran /usr/local/lib/gcc/i686-pc-linux-gnu/4.6.1/f951 cp -a /tmp/tcloop/gfortran/usr/local/bin/gfortran /usr/local/bin/gfortran cp -a /tmp/tcloop/gfortran/usr/local/bin/i686-pc-linux-gnu-gfortran /usr/local/bin/i686-pc-linux-gnu-gfortran cp -a /tmp/tcloop/gfortran/usr/local/lib/gcc/i686-pc-linux-gnu/4.6.1/f951 /usr/local/lib/gcc/i686-pc-linux-gnu/4.6.1/f951' > usr/local/tce.installed/$EXTNAME sudo chown -R root:staff usr/local/tce.installed sudo chmod -R 775 usr/local/tce.installed cd .. createExtension $EXTNAME rm -rf gcc-build $EXTNAME $PKGNAME # Create extension support files and test installExtension "submitqc4" submitqc4