#!/bin/rc stdlib=LIBDIRmosmlbin=BINDIR linkalso=trueincludes=()compopt=(-conservative)linkopt=()custom=()linkfiles=()cc=gccccfiles=""cclib=""ccopt=""linkout=a.outcontext="-structure" while : ; do case $1 in "") break;; *.sml) $mosmlbin/camlrunm $stdlib/mosmlcmp -stdlib $stdlib $includes $compopt $context $1 || exit $? case $1 in */*) context="$context `dirname $1`/`basename $1 .sml`.ui" ;; *) context="$context `basename $1 .sml`.ui" ;; esac linkfiles="$linkfiles $1";; *.sig) $mosmlbin/camlrunm $stdlib/mosmlcmp -stdlib $stdlib $includes $compopt $context $1 || exit $? case $1 in */*) context="$context `dirname $1`/`basename $1 .sig`.ui" ;; *) context="$context `basename $1 .sig`.ui" ;; esac ;; *.ui) context="$context $1" ;; *.uo) linkfiles="$linkfiles $1";; -structure|-toplevel) context="$context $1";; -c) linkalso=false;; -I|-include) includes="$includes -I $2" shift;; -P|-perv) compopt="$compopt -P $2" linkopt="$linkopt -P $2" shift;; -q|-quotation) compopt="$compopt $1";; -i) compopt="$compopt $1" linkopt="$linkopt $1";; -g|-debug) compopt="$compopt $1" linkopt="$linkopt $1";; -m|-msgstyle) compopt="$compopt -msgstyle $2" shift;; -noheader) linkopt="$linkopt $1";; -noautolink) linkopt="$linkopt $1";; -o|-exec) linkout=$2 shift;; -standalone) linkopt="$linkopt $1";; -stdlib) stdlib=$2 shift;; -v|-version) echo "The Moscow ML system, version 2.00 (June 2000)" echo " (standard library from $stdlib)" $mosmlbin/camlrunm -V $mosmlbin/camlrunm $stdlib/mosmlcmp -version $mosmlbin/camlrunm $stdlib/mosmllnk -version;; -imptypes) compopt="$compopt $1";; -valuepoly) compopt="$compopt $1";; -orthodox|-conservative|-liberal) compopt="$compopt $1";; -files) linkfiles="$linkfiles $1 $2" shift;; -*) echo "Unknown option \"$1\", ignored" >&2;; *) echo "I don't know what to do with file \"$1\", ignored" >&2;; esac shiftdone if $linkalso && test -n "$linkfiles"; then $mosmlbin/camlrunm $stdlib/mosmllnk -stdlib $stdlib $includes $custom $linkopt \ -exec $linkout $linkfiles || exit $?fi exit 0
#!/bin/rc
stdlib=LIBDIR
mosmlbin=BINDIR
linkalso=true
includes=()
compopt=(-conservative)
linkopt=()
custom=()
linkfiles=()
cc=gcc
ccfiles=""
cclib=""
ccopt=""
linkout=a.out
context="-structure"
while : ; do
case $1 in
"")
break;;
*.sml)
$mosmlbin/camlrunm $stdlib/mosmlcmp -stdlib $stdlib $includes $compopt $context $1 || exit $?
case $1 in
*/*)
context="$context `dirname $1`/`basename $1 .sml`.ui"
;;
*) context="$context `basename $1 .sml`.ui"
;;
esac
linkfiles="$linkfiles $1";;
*.sig)
$mosmlbin/camlrunm $stdlib/mosmlcmp -stdlib $stdlib $includes $compopt $context $1 || exit $?
case $1 in
*/*)
context="$context `dirname $1`/`basename $1 .sig`.ui"
;;
*) context="$context `basename $1 .sig`.ui"
;;
esac
;;
*.ui)
context="$context $1"
;;
*.uo)
linkfiles="$linkfiles $1";;
-structure|-toplevel)
context="$context $1";;
-c)
linkalso=false;;
-I|-include)
includes="$includes -I $2"
shift;;
-P|-perv)
compopt="$compopt -P $2"
linkopt="$linkopt -P $2"
shift;;
-q|-quotation)
compopt="$compopt $1";;
-i)
compopt="$compopt $1"
linkopt="$linkopt $1";;
-g|-debug)
compopt="$compopt $1"
linkopt="$linkopt $1";;
-m|-msgstyle)
compopt="$compopt -msgstyle $2"
shift;;
-noheader)
linkopt="$linkopt $1";;
-noautolink)
linkopt="$linkopt $1";;
-o|-exec)
linkout=$2
shift;;
-standalone)
linkopt="$linkopt $1";;
-stdlib)
stdlib=$2
shift;;
-v|-version)
echo "The Moscow ML system, version 2.00 (June 2000)"
echo " (standard library from $stdlib)"
$mosmlbin/camlrunm -V
$mosmlbin/camlrunm $stdlib/mosmlcmp -version
$mosmlbin/camlrunm $stdlib/mosmllnk -version;;
-imptypes)
compopt="$compopt $1";;
-valuepoly)
compopt="$compopt $1";;
-orthodox|-conservative|-liberal)
compopt="$compopt $1";;
-files)
linkfiles="$linkfiles $1 $2"
shift;;
-*)
echo "Unknown option \"$1\", ignored" >&2;;
*)
echo "I don't know what to do with file \"$1\", ignored" >&2;;
esac
shift
done
if $linkalso && test -n "$linkfiles"; then
$mosmlbin/camlrunm $stdlib/mosmllnk -stdlib $stdlib $includes $custom $linkopt \
-exec $linkout $linkfiles || exit $?
fi
exit 0