[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: petsc-dev directory structure questions




On Dec 14, 2007, at 1:38 PM, Satish Balay wrote:

On Fri, 14 Dec 2007, Barry Smith wrote:


On Dec 14, 2007, at 12:05 PM, Satish Balay wrote:

On further thought, I'm ok with merging conf and config - provided
'config' [which would be the new merged name for conf]

Why config instead of conf?

I picked 'config' just so that './config/configure.py' user interface is preserved.

would not have
any of the old $PETSC_DIR/python stuff. [i,e if it goes somewere into
$PETSC_DIR/src/foobar]

Why should it go somewhere else; it manages all the configuration so it should be with the configuration stuff.

There is a difference between pythonmodules [i.e old PETSC_DIR/python] and python-usercode [i.e configure.py]. And I certainly don't like dumping all 3 [petscconf, configure.py & python-modules] in the same location.

It is ALL python user code; all used for one purpose: to generate the
petscconf, petscconf.h petscrules. Whether it is all in Configure.py
or in several python files makes NO difference. Since it is all for the same
purpose and only that purpose it makes sense to go together and
no sense to go apart. Note there is lots of code in config/configure.py
that could be put into modules but we have not;


Ideally they should be in 3 different locations.  But I'm buying the
argument that there is a weak relation between petscconf and
configure.py so its not terrible to have these two together. [There is
a stronger relation between pythonmodules & configure.py]. But having
all 3 in config is just not right. I can't see a way to explain why
that would be a consistant design. [and if we can put any thing
anywhere - jut because its convinent - we could probably throw away
lot more things].

 src traditional means code that gets compiled up and put in a
library or executable: the old PETSC_DIR/python stuff definitely
does not fit in that category.

Not really - src is source for anything. For eg: we have src/docs/website src/docs/manual which are sources for other derivative stuff [aka manual.pdf, http://www.mcs.anl.gov/petsc]


If we stick to your argument - then we'll have to find new places for this [i.e go back to PETSC_DIR/src where sources & generated docs were dumped in the same location with too much confusion about website?]

Absolutely WRONG! The src/docs is the SOURCE code for generating the
docs (it is in latex and is source code). Note that it is NOT the utilities that
generate the docs, it is only the source code, the utilities for generating the
docs are in bin





We currently have generated files anyway at
PETSC_ARCH/conf/[configure.py,petscconf,petscrules], so I guess
PETSC_DIR/config/[configure.py,linux-gnu.py,base,rules,..] should be
equivalent.

Having PETSC_DIR/config/variables,rules but PETSC_ARCH/conf/petscconf seems VERY wrong to me. Why is one directory config and the other one conf?

I guess I was implicitly indicating we should obsolete either 'conf' or 'config'. And I sugested using config.

So PETSC_DIR/config & PETSC_ARCH/config would be the only new names.

Satish