>> It would probably be worthwhile to try to understand why this is the case. >> As a wild guess, would this work? >> >> - ( sleep 1 ) & >> + sh -c "cd '$abs_builddir'; sleep 1" & > > No, fails in the same way as the original. > Sorry, by bad, I meant this: sh -c "cd '$ac_abs_srcdir'; sleep 1"
>> We could enhance your original workaround like this: >> >> am__remove_distdir = \ >> { test ! -d "$(distdir)" \ >> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ >> - && rm -fr "$(distdir)"; }; } >> + && if rm -fr "$(distdir)"; then :; else \ >> +## On MSYS (1.0.17) it is not possible to remove a directory that is >> +## in use; so, if the first rm fails, we sleep some seconds and retry, >> +## to give pending processes some time to exit and "release" the >> +## directory before we removed. See automake bug#10470. >> + sleep 5 && rm -fr "$(distdir)"; fi; }; } >> am__post_remove_distdir = $(am__remove_distdir) >> endif %?TOPDIR_P% > > This works, best so far! Committable, if you ask me. > I agree, but first I'd like to see if we manage to resolve the issue into sanity.m4 itself. If we fail, the above workaround will be good enough. Thanks, Stefano