--- config/install.sh.orig	Thu Oct 17 15:07:53 2002
+++ config/install.sh	Sun Nov 10 23:59:17 2002
@@ -550,6 +550,28 @@
 ######################################################################
 
 #
+# do_patch patch-file
+# apply a patch file
+do_patch() {
+	patchfile=$FILESDIR/$1
+
+	if [ ! -r $patchfile ]; then
+		echo "$this: !!! patch file $patchfile not found."
+		exit 1;
+	fi
+
+	if [ ! -f $CONFIGDIR/.patch_$1 ]; then 
+		$PATCH $PATCH_ARGS < $patchfile || {\
+			echo "$this: !!! patch file $patchfile failed to patch."
+			exit 1;
+		}
+		echo > $CONFIGDIR/.patch_$1
+	else
+		echo "$this: patch $patchfile already installed."
+	fi
+}
+
+#
 # create the various sub directories
 #
 for dir in $BINDIR $HEAPDIR $RUNDIR $LIBDIR $SRCDIR ; do
@@ -664,7 +686,7 @@
     $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS
     if [ -x run.$ARCH-$OPSYS ]; then
 	mv run.$ARCH-$OPSYS $RUNDIR
-	$MAKE MAKE=$MAKE clean
+	[ "$MLNORUNTIMECLEAN" ] || $MAKE MAKE=$MAKE clean
     else
 	complain "$this: !!! Run-time system build failed for some reason."
     fi
@@ -728,6 +750,8 @@
 	do
 	    unpack $src $ROOT/src $src $src
         done
+	do_patch do-patch-src-makeml
+	do_patch do-patch-src-installml
 	;;
       ml-yacc)
 	standalone ml-yacc ML-Yacc src
