For review: change bootcheck to copy the boehm collector

Thomas Charles CONWAY conway at cs.mu.OZ.AU
Thu Sep 10 15:53:00 AEST 1998


For zs to review.

-- 
Thomas Conway <conway at cs.mu.oz.au>
Nail here [] for new monitor.  )O+

Enhance bootcheck to copy the boehm_gc directory as well as the runtime.
This was necessary because if the grade for stages 2 and 3 contains *.par.*
but the stage 1 grade doesn't then the collector must be recompiled.

tools/bootcheck:
	Add an option --copy-boehm-gc to copy the boehm_gc directory
	rather than link it.
	Add an option -R which implies --copy-runtime and --copy-boehm-gc.

cvs diff: Diffing .
Index: bootcheck
===================================================================
RCS file: /home/staff/zs/imp/mercury/tools/bootcheck,v
retrieving revision 1.61
diff -u -r1.61 bootcheck
--- bootcheck	1998/08/31 04:14:15	1.61
+++ bootcheck	1998/09/10 05:42:41
@@ -24,6 +24,11 @@
 		Copy the runtime directory instead of linking it.
 		This is necessary if one wants to bootcheck a grade
 		that is not compatible with the standard one.
+	-R, --copy-runtime --copy-boehm-gc
+		Copy the runtime and boehm_gc directories instead of linking
+		them.  This is necessary if one wants to bootcheck a grade
+		that is not compatible with the standard one for the boehm
+		collector as well as the runtime.
 	-p, --copy-profiler
 		Copy the profiler directory instead of linking it.
 		This is sometimes necessary for bootstrapping
@@ -62,6 +67,7 @@
 runtests=true
 do_bootcheck=true
 copy_runtime=false
+copy_boehm_gc=false
 copy_profiler=false
 keep_stage_2=false
 keep_stage_3=false
@@ -105,6 +111,13 @@
 	-r|--copy-runtime)
 		copy_runtime=true ;;
 
+	--copy-boehm-gc)
+		copy_boehm_gc=true ;;
+
+	-R)
+		copy_runtime=true
+		copy_boehm_gc=true ;;
+
 	-s|--sicstus)
 		test_sicstus=true ;;
 
@@ -261,7 +274,23 @@
 	else
 		ln -s $root/runtime .
 	fi
-	ln -s $root/boehm_gc .
+	if "$copy_boehm_gc"
+	then
+		# Remove symbolic link to the stage 1 boehm_gc if it's present,
+		# which it can be with the -2 option.
+		rm boehm_gc
+		mkdir boehm_gc
+		cd boehm_gc
+		ln -s $root/boehm_gc/*.h .
+		ln -s $root/boehm_gc/*.c .
+		ln -s $root/boehm_gc/*.s .
+		ln -s $root/boehm_gc/includes .
+		cp $root/boehm_gc/Mmake* .
+		cp $root/boehm_gc/Makefile .
+		cd $root/stage2_sicstus
+	else
+		ln -s $root/boehm_gc .
+	fi
 	ln -s $root/doc .
 	ln -s $root/scripts .
 	ln -s $root/util .
@@ -448,8 +477,22 @@
 		cd $root/stage2
 	else
 		ln -s $root/runtime .
+	fi
+	if test "$copy_boehm_gc" = "true"
+	then
+		mkdir boehm_gc
+		cd boehm_gc
+		ln -s $root/boehm_gc/*.h .
+		ln -s $root/boehm_gc/*.c .
+		ln -s $root/boehm_gc/*.s .
+		ln -s $root/boehm_gc/includes .
+		cp $root/boehm_gc/Mmake* .
+		cp $root/boehm_gc/Makefile .
+		ln -s $root/boehm_gc/machdeps .
+		cd $root/stage2
+	else
+		ln -s $root/boehm_gc .
 	fi
-	ln -s $root/boehm_gc .
 	ln -s $root/doc .
 	ln -s $root/scripts .
 	ln -s $root/util .



More information about the developers mailing list