[m-rev.] goal_path.m conflict.

Paul Bone pbone at csse.unimelb.edu.au
Fri Jan 14 13:35:45 AEDT 2011


Some of you have noticed that mercury's CVS HEAD is broken.

I think that I understand the problem.

I've added a file, goal_path.m, to mdbcomp/ There is a different goal_path.m
file in compiler/

'cd compiler; mmake depend' builds dependency files for mmake in which files
are not qualified with a path.  Mmake uses $(VPATH) to locate source files.
Therefore mmake becomes confused between the two different goal_path.m files.

To fix the general problem here we could either.

    1) Finish deprecating mmake as mmc --make may not have this problem.
       However we don't know if this will actually fix the problem.
      
    2) Fix mmake and the dependency files.

Both of these are good solutions and solve other problems, especially (1), but
they are not quick.  We probably want to solve this problem as soon as
possible.

Instead we can fix this specific problem now and perhaps return to the general
problem later.

    1) We can rename one of these two modules so that they don't collide at
       all.  I think that hlds.goal_path is the best candidate here since it
       actually contains code for labeling goals with their IDs.

    2) Module qualify one of both of the file names (and probably other file
       names in the future).  Rename both files to hlds.goal_path.m and
       mdbcomp.goal_path.m to avoid the collision.  I'm not confident I
       understand the problem well enough to say whether this will work.

Which proposal is your favorite?  Any other suggestions.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: Digital signature
URL: <http://lists.mercurylang.org/archives/reviews/attachments/20110114/b5b5ed0c/attachment.sig>


More information about the reviews mailing list