On 2018-02-10 23:39, Martin Buchholz wrote:
I agree.  Once you make something lazy-initted you have a concurrency
problem.  And there's no CAS or lock on the filesystem.  What happens if
two configure processes run at exactly the same time, perhaps even with
different versions of autoconf?  If you lazy-generate configure, it must be
written outside the source tree.
That is of course a problem with the entire build system, and is certainly not unique to this problem. What happens if you run "make" concurrently in the same directory? Catastrophe! Or if you run "configure" at the same time? Disaster! Creating the file outside the source tree will not help in the slightest regard; you can just as well create a race condition in any place you select. This does not sound like a real-world problem that one has to safe-guard against.


/Magnus


On Sat, Feb 10, 2018 at 3:29 AM, Thomas Stüfe <thomas.stu...@gmail.com>
wrote:

On Sat, Feb 10, 2018 at 9:12 AM, Alan Bateman <alan.bate...@oracle.com>
wrote:

On 08/02/2018 17:49, Erik Joelsson wrote:

The check for when to generate the generated configure script is not
working quite as expected. It currently only compares timestamps if the
local repository has any local changes in the make/autoconf directory.
This
used to make sense when we had a committed generated script, but now we
actually do need to regenerate any time an input file is newer than the
generated script.

Bug: https://bugs.openjdk.java.net/browse/JDK-8196356

In addition to `hg status` showing no changes, I think it will continue
to
confuse people to generate it into a hidden directory. Was there any
consideration to generating into a regular directory?


I agree. Also, we still generate the configure.sh into the source tree even
if the output directory is somewhere else. I always keep my output
directories separate from the source tree. Sometimes my source directory is
even on a read-only share. I would prefer and also expect any temporary
files to be placed in the output directory resp. the current directory, not
in the source tree. Would that be possible?

Thanks and Kind Regards, Thomas


-Alan


Reply via email to