#!/bin/bash # this script fetches the sources / binaries and makes basic preparations if [ "X$BASEDIR" == "X" ]; then BASEDIR=$HOME/testing fi set -e export BASEDIR cd $BASEDIR if [ ! -e $BASEDIR/config ]; then echo "ERROR: no config file '$BASEDIR/config' found." exit 1 fi . $BASEDIR/config RAW_LOG=$BASEDIR/output/binaries-fetch-install.rawlog ###################### echo echo $SEPARATOR echo "BINARIES '$SOURCES_LIST' will be fetched (if needed) and installed." echo #if [ -e $BASEDIR/stamps/$0 ]; then # echo "Stamp $0 exists - skipping binaries update and installation!" # exit 0 #fi for BINARY in $BINARIES_LIST; do echo "Making sure $BINARY binaries are present." if [ -e $BASEDIR/stamps/binaries-$BINARY ]; then echo "Stamp binaries-$BINARY already exists - skipping update and installation!" continue; fi case "$BINARY" in sablevm-test-suite|benchmarks) cd $BASEDIR/binaries echo "Binary package ($BINARY) recognized as a RUNTIME package." BIN_FILE_NAME=${BINARY}.tgz if [ -f $BIN_FILE_NAME ]; then echo "$BIN_FILE_NAME already exists - skipping fetching." else echo "Fetching..." if [ ! -f $BIN_FILE_NAME ]; then wget $BIN_ROOT/$BIN_FILE_NAME >>$RAW_LOG 2>&1 fi fi echo "Installing..." if [ ! -d $BASEDIR/runtimes/$BINARY ]; then mkdir $BASEDIR/runtimes/$BINARY fi cd $BASEDIR/runtimes/$BINARY tar zxvf $BASEDIR/binaries/$BIN_FILE_NAME . >>$RAW_LOG 2>&1 touch $BASEDIR/stamps/binaries-$BINARY echo "Runtime binary package ($BINARY) installed properly." ;; inlinability-exception) cd $BASEDIR/binaries if [ ! -f InliningException.class ]; then wget $BIN_ROOT/InliningException.class fi mkdir -p $BASEDIR/runtimes/classpath/classpath/java &>/dev/null || true cp -f InliningException.class $BASEDIR/runtimes/classpath/classpath/java/lang ;; *) echo "Unknown binary package $BINARY!" exit 1 ;; esac done cd $BASEDIR touch $BASEDIR/stamps/$0 echo "ALL '$BINARIES_LIST' are now up to date and ready." echo $SEPARATOR echo exit 0