for review: turning off intermodule stuff in the library

Fergus Henderson fjh at cs.mu.OZ.AU
Wed Mar 4 15:43:27 AEDT 1998


On 04-Mar-1998, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> 
> Fergus wrote:
> > On 03-Mar-1998, Zoltan Somogyi <zs at cs.mu.OZ.AU> wrote:
> > > 
> > > library/Mmakefile:
> > > 	Only turn on non-interface intermodule information flow
> > > 	if LIBRARY_INTERMODULE is defined.
> > > 
> > > Mmake.common.in:
> > > 	Turn on LIBRARY_INTERMODULE by default. It can be turned off
> > > 	by Mmake.{,stage.}params.
> > 
> > `mmake install' in the library directory would fail, messily;
> > it might be better to add some code to make it print out
> > an error message, so people don't waste time tracking down the
> > cause of the failure.
> 
> LIBRARY_INTERMODULE should always be enabled when running mmake install.
> You can guarantee this by disabling the rules for installs if it is not
> enabled.

Yep, that is basically what I was suggesting.

	ifeq($(LIBRARY_INTERMODULE),yes)

	install:
		... the usual

	else

	install:
		echo "Can't do make install without LIBRARY_INTERMODULE=yes"

	endif

Your suggestion amounts to the same thing with the "else".
I suppose that is adequate.

> > Also I just realized another problem with this:
> > some of the test cases in the tests subdirectory
> > explicitly pass `--intermodule-optization' or
> > `--transitive-intermodule-optimization' to mmc,
> > so these tests will fail if the `.opt' and `.trans_opt'
> > files have not been built.
> > Off-hand I can't think of a good solution to this.
> 
> The ones in the term directory don't need the .opt or .trans_opt
> files from the library. I believe the others do not either, but don't
> know for sure.

I think you may be right, but that is an omission in the test
cases which we should fix!

(Michael Winikoff reported a bug on Oct 14 97 about
termination analysis not working for predicates that used
the standard library, even with transitive intermodule optimization.
I still haven't gotten around to checking whether it works yet,
adding a test case, and removing it from the outstanding bugs list.)

> In any case, just noting which tests will fail if
> LIBRARY_INTERMODULE is set to no would be good enough.

I suppose so.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list