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