# HG changeset patch # User wenzelm # Date 981405227 -3600 # Node ID 100637226ff53a7c76ab2fe82fd218a2dc89950c # Parent e45b136716f5a2e2e80f40b4db7b58643ade9db8 improved; diff -r e45b136716f5 -r 100637226ff5 Admin/polyml/bin/polyml --- a/Admin/polyml/bin/polyml Mon Feb 05 20:44:51 2001 +0100 +++ b/Admin/polyml/bin/polyml Mon Feb 05 21:33:47 2001 +0100 @@ -1,131 +1,20 @@ -#!/bin/sh +#!/bin/sh -x # # Poly/ML wrapper script ## self references -PRG=`basename "$0"` - if [ -h "$0" ]; then - THIS=`cd \`dirname "$0"\`; cd \`dirname \\\`find "$PRG" -ls | cut -d ">" -f 2\\\`\`; pwd` + THIS="`cd "\`dirname "$0"\`"; cd "\`dirname "\\\`find "$PRG" -ls | cut -d ">" -f 2\\\`"\`"; pwd`" else - THIS=`cd \`dirname "$0"\`; pwd` + THIS="`cd "\`dirname "$0"\`"; pwd`" fi -SUPER=`cd "$THIS/.."; pwd` - - -## diagnostics - -usage() -{ - echo - echo "Usage: $PRG [OPTIONS] [DATABASE]" - echo - echo " Options are:" - echo " -H SIZE heap size in MB" - echo " -c compress DATABASE" - echo " -p ARGS pass ARGS to poly" - echo " -r open DATABASE read-only" - echo - exit 1 -} - -fail() -{ - echo "$1" >&2 - exit 2 -} +SUPER="`cd "$THIS/.."; pwd`" -## process command line - -# options - -COMPRESS="" -PASS_ARGS="" -READONLY="" - -while getopts "H:cp:r" OPT -do - case "$OPT" in - H) - PASS_ARGS="$PASS_ARGS -H $OPTARG" - ;; - c) - COMPRESS=true - ;; - p) - PASS_ARGS="$PASS_ARGS $OPTARG" - ;; - r) - READONLY=true - ;; - \?) - usage - ;; - esac -done - -shift `expr $OPTIND - 1` - - -# arguments - -DATABASE="" -[ $# -ge 1 ] && { DATABASE="$1"; shift; } - -[ $# -ne 0 ] && { echo "Bad arguments: $*"; usage; } - - -## main +## run poly PLATFORM=`"$THIS/polyml-platform"` -POLY="$SUPER/$PLATFORM/poly" - - -# prepare database - -if [ -z "$DATABASE" ]; then - DB="$SUPER/$PLATFORM/ML_dbase" - READONLY=true -elif [ -f "$DATABASE.$PLATFORM" ]; then - DB="$DATABASE.$PLATFORM" - [ ! -w "$DB" ] && READONLY=true -elif [ -f "$DATABASE" ]; then - DB="$DATABASE" - [ ! -w "$DB" ] && READONLY=true -else - if [ `basename "$DATABASE"` = `basename "$DATABASE" "$PLATFORM"` ]; then - DB="$DATABASE.$PLATFORM" - else - DB="$DATABASE" - fi - [ -n "$READONLY" ] && fail "Bad database: \"$DB\"" - echo "PolyML.make_database \"$DB\"; PolyML.quit();" | \ - "$POLY" -r "$SUPER/$PLATFORM/ML_dbase" - [ -f "$DB" ] || fail "Failed to prepare database: \"$DB\"" -fi - -DB_BASE=`basename "$DB"` -DB_DIR=`dirname "$DB"`; DB_DIR=`cd "$DB_DIR"; pwd` -FULL_DB="$DB_DIR/$DB_BASE" - - -# run Poly/ML session - -POLY_OPTIONS="$PASS_ARGS" -[ -n "$READONLY" ] && POLY_OPTIONS="-r $POLY_OPTIONS" - -INFO=`ls -l "$DB"` - -"$POLY" $POLY_OPTIONS "$FULL_DB" -RC="$?" - -NEW_INFO=`ls -l "$DB"` - -[ -z "$READONLY" -a -f "$DB" -a "$INFO" != "$NEW_INFO" -a -n "$COMPRESS" ] \ - && "$POLY" -d -c "$DB" - -exit "$RC" +exec "$SUPER/$PLATFORM/poly" $* diff -r e45b136716f5 -r 100637226ff5 Admin/polyml/bin/polyml-platform --- a/Admin/polyml/bin/polyml-platform Mon Feb 05 20:44:51 2001 +0100 +++ b/Admin/polyml/bin/polyml-platform Mon Feb 05 21:33:47 2001 +0100 @@ -25,6 +25,9 @@ i?86) PLATFORM=x86-linux ;; + Power* | power* | ppc) + PLATFORM=ppc-linux + ;; esac ;; FreeBSD|NetBSD) @@ -34,6 +37,13 @@ ;; esac ;; + Darwin) + case `uname -m` in + Power* | power* | ppc) + PLATFORM=ppc-bsd + ;; + esac + ;; Windows_NT) case `uname -m` in ?86)