Esempio n. 1
0
def get_ext_modules(Extension):
    from os import walk
    from glob import glob
    from os.path import join
    glob_join = lambda *args: glob(join(*args))
    depends = []
    for pth, dirs, files in walk('src'):
        depends += glob_join(pth, '*.h')
        depends += glob_join(pth, '*.c')
    if 'PETSC_DIR' in os.environ:
        pd = os.environ['PETSC_DIR']
        pa = os.environ.get('PETSC_ARCH', '')
        depends += glob_join(pd, 'include', '*.h')
        depends += glob_join(pd, 'include', 'petsc', 'private', '*.h')
        depends += glob_join(pd, pa, 'include', 'petscconf.h')
    try:
        import numpy
        numpy_includes = [numpy.get_include()]
    except ImportError:
        numpy_includes = []
    return [
        Extension('petsc4py.lib.PETSc',
                  sources=[
                      'src/PETSc.c',
                      'src/libpetsc4py.c',
                  ],
                  include_dirs=[
                      'src/include',
                  ] + numpy_includes,
                  depends=depends)
    ]
Esempio n. 2
0
def get_ext_modules(Extension):
    from os import walk, path
    from glob import glob
    depends = []
    for pth, dirs, files in walk('src'):
        depends += glob(path.join(pth, '*.h'))
        depends += glob(path.join(pth, '*.c'))
    try:
        import numpy
        numpy_includes = [numpy.get_include()]
    except ImportError:
        numpy_includes = []
    return [
        Extension('petsc4py.lib.PETSc',
                  sources=[
                      'src/PETSc.c',
                      'src/libpetsc4py.c',
                  ],
                  include_dirs=[
                      'src/include',
                  ] + numpy_includes,
                  depends=depends)
    ]