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.)
pgpXBTosUCPpj.pgp
Description: PGP signature
