#!/usr/local/bin/bash # Script: compile-in-emulator # Author: Shri Amit(amit) usage=" Usage: $0 -i -r -l -c -f " # Opts & Flgs: -i: Source image, default: lw+dylan-$platform # -r: , the emulator TRUNK_SYSTEM_ROOT, default: /u/dylan # -l: Lib to compile, required argument # -c: Command to execute after compilation, default: none # -f: Logfile, default: $logsdir/$0--log.$suffix # Synopsis: . Compiles in # . Invokes after compilation is completed # . Stores output to # # Known problems: # # Sometimes bash tries to expand the command line, for example # the command: ./compile-in-emulator -l testworks-test-suite \ # >> -c perform-suite(testworks-test-suite) # invokes the following bash error: # bash: syntax error near unexpected token `perform-suite(t' # An easy way to fix that is to put strong quotes '' or soft quotes # "" around the command so that bash does not try to expand it in # anyway. ###################################################################### ## Application exit status legend ## ## 0: Compilation successful ## 1: Invalid command line argument ## 2: Library name not specified ## Parse the options & flags on the command line ## while getopts i:r:l:c:f: option do case $option in i) image=$OPTARG;; r) root=$OPTARG;; l) lib=$OPTARG;; c) cmd=$OPTARG;; f) logfile=$OPTARG;; \?) echo $usage exit 1;; esac done shift `expr $OPTIND - 1` source /u/dylan/sources/qa/admin/env.bash ## Assign defaults to options & flags ## ## image=${image:-$localdir/lw+dylan-$platform} lib=${lib:-unspecified} root=${root:-$dylandir} logfile=${logfile:-$logsdir/compile-in-emulator-$lib-$platform-log.$suffix} ## Export the emulator system root ## ## TRUNK_SYSTEM_ROOT="$root/"; export TRUNK_SYSTEM_ROOT ## Check to see if lib has been specified ## ## case $lib in unspecified) echo The library name must be specified exit 2;; *) ;; esac ## Everything from here goes to the logfile ## ## Prompt the options ## ## { echo "Starting at: `date`" echo "Running $0 with options:" echo " The system root is: $TRUNK_SYSTEM_ROOT" echo " The source image is: $image" echo " The library is: $lib" echo " The command is: $cmd" echo " The logfile is: $logfile" echo $image -init - <&1 | tee $logfile exit 0 #eof