[m-rev.] for review: bootcheck using `mmc --make'
Simon Taylor
stayl at cs.mu.OZ.AU
Thu Jun 20 16:23:24 AEST 2002
On 20-Jun-2002, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
> On 20-Jun-2002, Fergus Henderson <fjh at cs.mu.OZ.AU> wrote:
> > On 20-Jun-2002, Simon Taylor <stayl at cs.mu.OZ.AU> wrote:
> > >
> > > compiler/Mmakefile:
> > > tools/bootcheck:
> > > tools/binary_step:
> > > `mmc --make' doesn't handle `<module>_init.c' targets, so
> > > don't make the `cs' target depend on `top_level_init.c'.
> > > As far as I can tell, that dependency is only present so
> > > that the stage2 and stage3 compilers have the same set of
> > > C files. bootcheck and binary_step now only compare `.c'
> > > files which are present in the stage3 directory.
> >
> > The cs target should include all the .c files.
> >
> > If you want a variable or target named "cs_except_for_init_cs",
> > that would be OK; but defining the "cs" target so that it doesn?t
> > include all the .c files is asking for trouble, IMHO.
>
> The top_level.cs variable doesn't include top_level_init.c,
> so my change is consistent with existing practice.
diff -u compiler/Mmakefile compiler/Mmakefile
--- compiler/Mmakefile
+++ compiler/Mmakefile
@@ -246,6 +246,7 @@
#-----------------------------------------------------------------------------#
+# Note that the cs and os targets don't build top_level_init.{c,o}
.PHONY: os cs ss
ifeq ($(USE_MMC_MAKE),no)
os: $($(MC_PROG).os)
diff -u tools/binary_step tools/binary_step
--- tools/binary_step
+++ tools/binary_step
@@ -317,6 +317,9 @@
cat /dev/null > $outfile
for dir in library compiler
do
+ # `mmake cs' in the compiler directory doesn't build
+ # `top_level_init.c', so we only compare the `.c'
+ # files present in the stage3 directory.
for stage3file in stage3/$dir/*.c
do
stage2file="stage2.$basis/$dir/`basename $file`"
diff -u tools/bootcheck tools/bootcheck
--- tools/bootcheck
+++ tools/bootcheck
@@ -823,6 +823,9 @@
fi
for dir in library browser compiler; do
+ # `mmake cs' in the compiler directory doesn't build
+ # `top_level_init.c', so we only compare the `.c'
+ # files present in the stage3 directory.
for file in stage3/$dir/${target_subdir}*.${target_ext}; do
diff -u stage2/$dir/${cs_subdir}`basename $file` $file ||
diff_status=1
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list