#!/bin/sh # Built on TCL v3.6 # Required extensions: # compiletc # binutils # base-dev # bison # diffutils # file # findutils # flex # gawk # gcc # gcc_libs # cloog # ppl # gmp # mpfr # gperf # grep # m4 # make # patch # pkg-config # sed # squashfs-tools-4.x # tar # python-dev # sqlite3 # sqlite3-dev # openssl-0.9.8 # openssl-0.9.8-dev # tk # tcl # Xorg-7.5-lib # libxft # fontconfig # expat2 # bzip2-lib # bzip2-dev # bzip2 # python-2.7 # tk-dev # tcl-dev # php5-pear # php5 # mysql # perl5 # ncurses # ncurses-common # libxslt # libxml2 # libmcrypt # gmp # bsddb # libgdbm # curl # libltdl # libiconv # bzip2-lib # php5-dev # curl-dev # libxml2-dev # libxml2-bin # fontconfig-dev # expat2-dev # ruby # ruby-dev # guile-dev # guile # ncurses-lib # readline # libtool-dev # libtool # lua-dev # lua # liblua # Xorg-7.5-dev # pcre-dev # pcre # libmcs # libmowgli # libmcs-dev # libmowgli-dev # boost # boost-dev # boost-static # ocaml-dev # ocaml 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 python-dev tk-dev php5-pear php5-dev curl-dev libxml2-dev fontconfig fontconfig-dev expat2-dev ruby ruby-dev guile-dev lua-dev lua liblua Xorg-7.5-dev pcre-dev pcre libmcs libmcs-dev libmowgli-dev boost boost-dev boost-static ocaml-dev" export TCEDIR=`cat /opt/.tce_dir` export CFLAGS="-march=i486 -mtune=i686 -Os -pipe" export CXXFLAGS="-march=i486 -mtune=i686 -Os -pipe -fno-exceptions -fno-rtti" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig export EXTNAME="swig" export VER="-2.0.4" export DESTDIR=`pwd`/$EXTNAME export PKGNAME=$EXTNAME$VER for f in $EXTS; do installExtension $f done mkdir -p $DESTDIR/usr/local/share/doc/License unpackSrc $PKGNAME cd $PKGNAME sudo ln -s /usr/local/include/ruby-1.9.1/ruby /usr/local/include/ruby sudo ln -s /usr/local/include/ruby-1.9.1/ruby.h /usr/local/include/ruby.h sudo ln -s /usr/local/include/ruby-1.9.1/i686-linux/ruby/config.h /usr/local/include/ruby/config.h ./configure && make && make -k check 2>&1 | tee ../$EXTNAME.test && make install || exit cp LICENSE $DESTDIR/usr/local/share/doc/License/$EXTNAME.txt cd $DESTDIR sudo strip --strip-unneeded usr/local/bin/* sudo rm -rf usr/local/share/man cd .. createExtension $EXTNAME rm -rf $PKGNAME $EXTNAME # Create extension support files and test installExtension "submitqc" submitqc