The macro equals in MakeBase.gmk does not handle empty strings correctly. Comparing two empty strings returns as non-equal, even though they should be equal.

This had the result that DependOnVariable caused eternal redoing of a target if the variable in question happened to be empty, since when the new empty value was compared to the old empty value, it was deemed different, and thus a remake of the target was initiated.

The solution was tricky, even by Make syntax standards. I guarantee you, every single space in this construct must be the way it is. :-&

Bug: https://bugs.openjdk.java.net/browse/JDK-8212587
WebRev: http://cr.openjdk.java.net/~ihse/JDK-8212587-equals-handle-empty-strings/webrev.01

/Magnus

Reply via email to