1*e68ebbecSBarry Smith#!/usr/bin/env python 2*e68ebbecSBarry Smith 3*e68ebbecSBarry Smith""" 4*e68ebbecSBarry Smith Make PETSc appear to be a Python package; so it can be depended on by petsc4py 5*e68ebbecSBarry Smith""" 6*e68ebbecSBarry Smith 7*e68ebbecSBarry Smith 8*e68ebbecSBarry Smith 9*e68ebbecSBarry Smithdef configure(prefix): 10*e68ebbecSBarry Smith import os,sys 11*e68ebbecSBarry Smith os.environ['PETSC_DIR'] = os.path.abspath(os.getcwd()) 12*e68ebbecSBarry Smith os.environ['PETSC_ARCH'] = 'arch-python-test' 13*e68ebbecSBarry Smith os.chdir(os.environ['PETSC_DIR']) 14*e68ebbecSBarry Smith sys.path.insert(0,os.path.join(os.environ['PETSC_DIR'],'config')) 15*e68ebbecSBarry Smith import configure 16*e68ebbecSBarry Smith configure.petsc_configure(['--with-fc=0','--with-mpi=0','--with-shared']) 17*e68ebbecSBarry Smith 18*e68ebbecSBarry Smithdef build(): 19*e68ebbecSBarry Smith import os,sys 20*e68ebbecSBarry Smith 21*e68ebbecSBarry Smith # work around bug in logger.Logger that when log file is closed Logger.defaultLog still points to something 22*e68ebbecSBarry Smith import logger 23*e68ebbecSBarry Smith logger.Logger.defaultLog = None 24*e68ebbecSBarry Smith import builder 25*e68ebbecSBarry Smith builder.PETScMaker().run() 26*e68ebbecSBarry Smith 27*e68ebbecSBarry Smith 28*e68ebbecSBarry Smithif __name__ == '__main__': 29*e68ebbecSBarry Smith configure("dummy") 30*e68ebbecSBarry Smith build() 31*e68ebbecSBarry Smith 32*e68ebbecSBarry Smith# ----------------------------------------------------------------------------- 33