[m-dev.] Re: for review: bootchecks in non-default grades

Zoltan Somogyi zs at cs.mu.OZ.AU
Wed Apr 21 16:48:07 AEST 1999


> If splitting such a change
> in this way is difficult, then we may need to use the --copy-runtime
> option to bootstrap things.

I agree. Since submitting that diff, I found Tyson will probably need
those options. They can be faked by just putting in --grade asm_fast.gc,
but you shouldnt have to.

> Apart from that, the change looks fine.  But if you make changes
> to address the above comment I would like to see another diff.

Here is the relative diff.

Zoltan.

--- bootcheck.was	Wed Apr 21 18:43:44 1999
+++ bootcheck.new	Wed Apr 21 18:43:46 1999
@@ -23,13 +23,22 @@
 	-G <grade>, --grade <grade>
 		Specify the grade to use in creating stages 2 and 3.
 		The tests will also be executed in this grade, unless
-		the --test-grade option says otherwise.
+		the --test-grade option says otherwise. Implies -r -g.
 	--test-grade <grade>
 		Specify the grade to use in executing the tests.
 		If this is the same as the grade of stages 2 and 3, then
 		we use the stage 2 runtime, library etc for the tests.
 		Otherwise, we use the stage 1 runtime, library etc,
 		and trust that these are compatible with the given grade.
+		Implies -r -g.
+	-g, --copy-boehm-gc
+		Copy the bohem_gc 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 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.
 	-p, --copy-profiler
 		Copy the profiler directory instead of linking it.
 		This is sometimes necessary for bootstrapping
@@ -61,6 +70,8 @@
 do_bootcheck=true
 grade=
 test_grade=
+copy_runtime=false
+copy_boehm_gc=false
 copy_profiler=false
 keep_stage_2=false
 keep_stage_3=false
@@ -116,6 +127,12 @@
 	--test-grade)
 		test_grade="$2"; shift ;;
 
+	-r|--copy-runtime)
+		copy_runtime=true ;;
+
+	-g|--copy-boehm-gc)
+		copy_boehm_gc=true ;;
+
 	-p|--copy-profiler)
 		copy_profiler=true ;;
 
@@ -166,6 +183,12 @@
 		;;
 esac
 
+if test "$grade" != "" -o "$test_grade" != ""
+then
+	copy_runtime=true
+	copy_boehm_gc=true
+fi
+
 MMAKE_USE_SUBDIRS=$use_subdirs
 export MMAKE_USE_SUBDIRS
 
@@ -276,7 +299,7 @@
 	cp $root/browser/Mmake* .
 	ln -s $root/browser/$BROWSER_LIB_NAME.init .
 	cd $root/stage2
-	if test "$grade" != "" -o "test_grade" != ""
+	if $copy_runtime
 	then
 		# Remove symbolic link to the stage 1 runtime if it's present,
 		# which it can be with the -2 option.
@@ -296,7 +319,11 @@
 		ln -s $root/trace/*.c .
 		cp $root/trace/Mmake* .
 		cd $root/stage2
-
+	else
+		ln -s $root/runtime .
+		ln -s $root/trace .
+	fi
+	if $copy_boehm_gc
 		# Remove symbolic link to the stage 1 gc if it's present,
 		# which it can be with the -2 option.
 		rm boehm_gc
@@ -311,14 +338,12 @@
 		ln -s $root/boehm_gc/machdeps .
 		cd $root/stage2
 	else
-		ln -s $root/runtime .
-		ln -s $root/trace .
 		ln -s $root/boehm_gc .
 	fi
 	ln -s $root/doc .
 	ln -s $root/scripts .
 	ln -s $root/util .
-	if "$copy_profiler"
+	if $copy_profiler
 	then
 		mkdir profiler
 		cd profiler
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list