To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=80368





------- Additional comments from [EMAIL PROTECTED] Fri Sep  7 16:01:54 +0000 
2007 -------
Thanks! Now I see what the problem is. Both possible prerequisites,
  ../../unxmacxp.pro/misc/readme_en-US.html
and
  ../../unxmacxp.pro/misc/readme_en-US.html.txt
are *not* existant in the unixy builds (for some reason the first exists in my
W32 builds) and dmake does not know which path to follow for the transitive
closure. It just chooses the first and warns. (I will paste my testcase to the
end of this entry.)

First I have to note in my own defense this is nothing I changed in dmake, the
ambiguity warning was already there but the check was broken, so it nearly never
warned about anything. I just fixed the check.

The reasoning in dmake for %-targets is like follows. Take the following two
rules:

%.a : %.b1 ; <recipe to create %.a from %.b1>

%.a : %.b2 ; <recipe to create %.a from %.b2>

Dmake checks if the files corresponding to %.b1 and %.b2 exist,
- if one exists, choose that one and make it.
- if two exist, complain (and pick the first)
(the following requires transitive closure and is controversial)
- if none exists, complain (and pick the first)

The reasoning for this is that whenever a file exists that rule takes
precedence over files that have to be generated by transitive closure, this
is ambiguous if more than one file exists.

If no prerequisite exists and there are more than one matching rule for that
target dmake does not know which one to choose. In the current state it just
takes the first one and warns.

So, the real way to fix this would be to recurse down into these rules and
check which is possible to make and if there are more pick the "shortest".
This is non-trivial, and nothing I would like to attempt for dmake411.

I propose the following course of action: Keep the warning if there are more
than on existing files that make the rule ambiguous, but for the multiple rules,
no existing files case hide the warning behind the -v switch. Keep the issue
open and try to fix it in the next dmake CWS.

Opinions?


And here now the proposed testcase, use with:
$ dmake.exe -rf t_80368_3.mk

- - - t_80368_3.mk - - -
SHELL*:=/bin/sh
SHELLFLAGS*:=-ce

lev0%.html : lev1%.html
        echo rule 1
        echo $< $@

lev0%.html : lev1%.txt
        echo rule 2
        echo $< $@

lev1%.txt :
        echo rule txt
        echo $< $@

lev1%.html :
        echo rule html
        echo $< $@

aaa : lev0blah.html
        echo aaa
- - - - - -

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to