Satish Balay <[email protected]> writes:

> On Tue, 29 Oct 2013, Jed Brown wrote:
>
>> Satish Balay <[email protected]> writes:
>> > If you look at the current configure.log - its after fortran compiler
>> > detection.
>> >
>> > Currently the dependencies [for PETSC_ARCH] are:
>> >
>> >     self.petscdir = framework.require('PETSc.utilities.petscdir', self)
>> >     self.languages = framework.require('PETSc.utilities.languages', self)
>> >     self.compilerFlags = framework.require('config.compilerFlags', self)
>> >
>> > so it need to get that far before PETSC_ARCH can be set/used..
>> 
>> Okay, but why does it have to go that far?
>
> Because of the current dependency "config.compilerFlags -> 
> config.setCompilers"
> The following change moves the arch.py usage up earlier. If 
> configureInstallationMethod()
> can be moved out of petscdir.py - then it can probably move even earlier..

Matt is the one with vision about BuildSystem dependencies so I'll leave
it to him to comment.

> Ideally the buffered stuff for configure.log should be only a few
> lines - without any signigicant tests before it..

Yeah, so that if it fails, the error message will be short enough that
people can copy and paste it.

> BTW: there is also etags/fortranstub stuff that configure does - that
> can cause problems with simultaneous builds. So they should be done
> with some locking scheme?

No locking, just commit the results atomically.  That means write a
temporary file and rename it to replace the existing file.  (Or checksum
and just delete the tmp file if they match, so that modification times
don't change.)

Attachment: pgpXBTosUCPpj.pgp
Description: PGP signature

Reply via email to