[m-rev.] for review: fix broken source distribution

Ian MacLarty maclarty at csse.unimelb.edu.au
Sat Sep 30 12:43:15 AEST 2006


Zoltan, I think this should fix the broken source distribution (it's
still pending bootcheck though).

Another solution to the problem of mtc_union getting compiled with
debugging might be to use the --force-disable-tracing option in the
slice and mdbcomp directories.  Do you think that'll work (the library
will still be compiled with debugging)?

Estimated hours taken: 0.5
Branches: main

Do not use the installed mmc to compile the slice directory, because
this means you cannot install the source distribution on a machine that
doesn't already have Mercury installed.

The reason the slice directory was compiled with the installed mmc was so that
the mtc_union tool wouldn't be compiled with debugging enabled even if the
compiler was compiled with debugging.  mtc_union is used to summarise 
trace counts when coverage testing the compiler.  If mtc_union is compiled
in a debug grade then tail recursion is lost and it runs out of stack space.

If we're going to coverage test the compiler then we should use the
MERCURY_OPTIONS option that lets us customise the summary command, to choose
a version of mtc_union not compiled with debugging.

Mmakefile:
	Remove PLAIN_SUBDIR_MMAKE and instead use SUBDIR_MMAKE to compile
	the slice directory.

Index: Mmakefile
===================================================================
RCS file: /home/mercury1/repository/mercury/Mmakefile,v
retrieving revision 1.113
diff -u -r1.113 Mmakefile
--- Mmakefile	22 Sep 2006 03:50:39 -0000	1.113
+++ Mmakefile	30 Sep 2006 02:23:45 -0000
@@ -52,17 +52,6 @@
 		MMAKE_DIR=../../scripts \
 		../../scripts/mmake $(MMAKEFLAGS)
 
-# Note that we compile the slice directory using the version of mmc,
-# mmake etc that we find in $PATH. We don't want to override this mmc
-# with the one in scripts, since that one will probably refer to a
-# nonexistent executable in /usr/local/mercury-DEV. This is why actions
-# referring to the slice directory should use $(PLAIN_SUBDIR_MMAKE)
-# instead of $(SUBDIR_MMAKE).
-
-PLAIN_SUBDIR_MMAKE = unset MMAKE; unset MMAKE_VPATH; unset MMAKE_DIR; \
-		unset MERCURY_CONFIG_DIR; unset MERCURY_STDLIB_DIR; \
-		mmake $(MMAKEFLAGS)
-
 GENERATED_DOCS = README INSTALL WORK_IN_PROGRESS TODO
 
 # If you change these, you will also need to change the files indicated
@@ -139,7 +128,7 @@
 slice/$(deps_subdir)mdice.dep \
 slice/$(deps_subdir)mtc_union.dep \
 slice/$(deps_subdir)mtc_diff.dep:
-	+cd slice && $(PLAIN_SUBDIR_MMAKE) depend
+	+cd slice && $(SUBDIR_MMAKE) depend
 
 .PHONY: dep_profiler
 dep_profiler: profiler/$(deps_subdir)mercury_profile.dep
@@ -198,7 +187,7 @@
 
 .PHONY: depend_slice
 depend_slice:
-	+cd slice && $(PLAIN_SUBDIR_MMAKE) depend
+	+cd slice && $(SUBDIR_MMAKE) depend
 
 .PHONY: depend_profiler
 depend_profiler:
@@ -271,7 +260,7 @@
 
 .PHONY: slice
 slice: dep_slice
-	+cd slice && $(PLAIN_SUBDIR_MMAKE)
+	+cd slice && $(SUBDIR_MMAKE)
 
 .PHONY: profiler
 profiler: dep_profiler scripts util boehm_gc runtime library \
@@ -311,7 +300,7 @@
 
 .PHONY: tags_slice
 tags_slice:
-	+cd slice && $(PLAIN_SUBDIR_MMAKE) tags
+	+cd slice && $(SUBDIR_MMAKE) tags
 
 .PHONY: tags_profiler
 tags_profiler:
@@ -406,8 +395,8 @@
 	+cd analysis && $(SUBDIR_MMAKE) all-ints cs tags
 	+cd compiler && $(SUBDIR_MMAKE) depend
 	+cd compiler && $(SUBDIR_MMAKE) cs tags
-	+cd slice && $(PLAIN_SUBDIR_MMAKE) depend
-	+cd slice && $(PLAIN_SUBDIR_MMAKE) cs tags
+	+cd slice && $(SUBDIR_MMAKE) depend
+	+cd slice && $(SUBDIR_MMAKE) cs tags
 	+cd profiler && $(SUBDIR_MMAKE) depend
 	+cd profiler && $(SUBDIR_MMAKE) cs tags
 	+cd deep_profiler && $(SUBDIR_MMAKE) depend
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------



More information about the reviews mailing list