From: Derek G. <fri...@gm...> - 2018-08-30 20:12:06
|
On Thu, Aug 30, 2018 at 4:02 PM Jed Brown <je...@je...> wrote: > Derek Gaston <fri...@gm...> writes: > > > Or: like I said earlier, maybe we just maintain two systems. PETSc has > had > > several different build systems all at the same time because developers > > wanted different things. > > It's important to note that all build systems have used the same > underlying specification. The GNU make and CMake systems both use/used > a generator script that read the file lists from legacy makefiles. > We've ditched CMake and are phasing out the legacy makefiles because GNU > make is so much faster, more reliable, and less code. > Thanks Jed - definitely appreciate your insight! > I'm with Paul that out-of-source builds are essential, but it isn't hard > to put build products in a directory of the user's choosing (a la > PETSC_ARCH). I have 35 PETSC_ARCHes at the moment and I appreciate > being able to switch between them and update builds in a couple seconds. > I agree - I do think that a GNU Make solution can do out-of-source builds. And if that's what's needed then we can make it happen here. > The hard part is _not_ make (unless you absolutely need to work with the > intersection of GNU and BSD makes). Configuration is hard and all > solutions are terrible. > Luckily we have a really good set of configure scripts. "configure" has its own problems... but we (mostly because of hard work by John) have a pretty good handle on it. We wouldn't need to re-engineer that for this new effort. Derek |