petsc-dev directory structure questions

Barry Smith bsmith at
Fri Dec 14 13:47:34 CST 2007

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/' 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]. And I certainly don't like
> dumping all 3 [petscconf, & python-modules] in the same
> location.

    It is ALL python user code; all used for one purpose: to generate  
petscconf, petscconf.h petscrules. Whether it is all in
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/
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
> so its not terrible to have these two together. [There is
> a stronger relation between pythonmodules &]. 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,]
> 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/[,petscconf,petscrules], so I guess
>>> PETSC_DIR/config/[,,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

More information about the petsc-dev mailing list