[m-rev.] for review: improve mmc --make dependency algorithm

Peter Ross pro at missioncriticalit.com
Fri May 18 11:46:30 AEST 2007


On Thu, May 17, 2007 at 10:23:49PM +1000, Ian MacLarty wrote:
> For review by anyone.
> 
> Estimated hours taken: 3
> Branches: main
> 
> compiler/make.dependencies.m:
> 	Do not recompile a module if a submodule of an imported module is
> 	changed and the module doesn't import the submodule.
> 	For example if a.m imports b.m, and b.c.m is a submodule of b.m, then
> 	don't recompile a.m if b.c.m changes.
> 
> 	Add an all_imports option to the transitive_dependencies_type type.
> 	This option indicates all transitively imported modules and excludes
> 	modules that are included but not imported.
> 
> 	Change find_transitive_implementation_imports to find only all
> 	transitive imports, not all imports and includes.
> 
> 	Fix some comments.
> 
> 	Reformat the declaration of of/2 so that mtags recognises it.
> 

I would add the following as the justification:

    "mmc --make" used to treat include_modules as the equivalent to
    import_modules this lead to changes in sub-modules causing
    recompilation in modules that didn't even indirectly import
    the sub-module because they imported a parent module of the
    sub-module.  This change avoids these unneeded compilations.


Otherwise this looks fine.
--------------------------------------------------------------------------
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