script to query PETSc makefile variables?

Barry Smith bsmith at mcs.anl.gov
Thu Jan 22 17:23:32 CST 2009


     The danger is that the PETSc conf/variables makefile defines its  
own variables based on various variables that
are defined in PETSC_ARCH/conf/petscvariables hence the "raw" variable  
values from running config/configure.py may not
always be what you need.

    Yes, this situation has to be fixed. There are too many levels of  
complexity and how can anyone keep track of things, what a mess.
Satish doesn't agree but I think the logic and defines in conf/ 
variables needs to be removed into the config/configure.py system


    Barry


On Jan 22, 2009, at 5:15 PM, Boyana Norris wrote:

> Thank you both -- I'd prefer to use configVars.py, but it seems to  
> depend on the script module, which is not standard in at least  
> Python 2.5. Googling for "python script module" is a joke, as you  
> can imagine. Is this a PETSc thing or a general module I can get  
> somewhere?
>
> Thanks!
> Boyana
>
> Matthew Knepley wrote:
>> Check out $PETSC_DIR/bin/configVars.py
>>
>>  Matt
>>
>> On Thu, Jan 22, 2009 at 4:38 PM, Satish Balay <balay at mcs.anl.gov>  
>> wrote:
>>
>>> On Thu, 22 Jan 2009, Boyana Norris wrote:
>>>
>>>
>>>> Is there a script that can be used to query the values of various  
>>>> variables
>>>> defined in petscvariables makefile snippets (similar to lots of  
>>>> linux tools'
>>>> pkg-config scripts)?
>>>>
>>> [don't have canned code for this but] I've previously recommended
>>> doing the following in the packages configure.. [facets now has this
>>> in their configure to detect petsc]
>>>
>>>
>>> - petsc_arch and petsc_dir are inputs to configure
>>> - Create a dummy makefile on the fly
>>> - run this makefile to echo relavent stuff..
>>>
>>>
>>> For eg:
>>> asterix:/home/balay/download-pine>cat configpetsc.sh
>>> #!/bin/sh
>>>
>>> PETSC_ARCH=asterix64
>>> PETSC_DIR=/home/balay/spetsc
>>>
>>> cat <<EOF > petscmake
>>> PETSC_ARCH = ${PETSC_ARCH}
>>> PETSC_DIR  = ${PETSC_DIR}
>>> include ${PETSC_DIR}/conf/base
>>> EOF
>>>
>>> PETSC_INC=`make -f petscmake getincludedirs`
>>> PETSC_LIB=`make -f petscmake getlinklibs`
>>>
>>> echo '**** PETSC_INC ***'
>>> echo ${PETSC_INC}
>>> echo '**** PETSC_LIB ***'
>>> echo ${PETSC_LIB}
>>>
>>>
>>> Satish
>>>
>>>
>>
>>
>>
>>
>
> -- 
> Boyana Norris, Computer Scientist    |   Email: norris at mcs.anl.gov
> Argonne National Laboratory          |   Phone: +1 (630) 252 7908
> http://www.mcs.anl.gov/~norris/      |   Fax:   +1 (630) 252 5986




More information about the petsc-dev mailing list