xref: /petsc/setup.py (revision e68ebbec558186afea1acee85d6bbf705df42a1b)
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